Полное сингулярное разложение в R - PullRequest
3 голосов
/ 05 июля 2011

В большинстве приложений (особенно статистических) достаточно тонкого SVD . Однако иногда требуется полный SVD, чтобы получить ортобазис нулевого пространства матрицы (и его сопряженного). Похоже, что svd () в R возвращает только тонкую версию. Можно ли произвести полную версию? Есть ли альтернативы?

Ответы [ 2 ]

6 голосов
/ 05 июля 2011
library(sos)
> findFn("svd NULL space")
found 47 matches;  retrieving 3 pages

Это выглядит по точке:

MSBVAR null.space Найти пустое пространство матрицы

Как и эта функция в MASS .

2 голосов
/ 05 июля 2011

R Core использует подпрограммы из Linpack, Lapack, ... которые ему нужны.

Если вам нужно что-то другое, вам, вероятно, нужно либо получить другие подпрограммы Linpack и т. Д., Либо подключиться к библиотеке, предоставляющей больше.

Даг Бейтс только что обернул библиотеку Eigen в пакет RcppEigen , который может иметь что-то для вас. Eigen кажется мощным и довольно функциональным, но в то же время высоко оптимизированным.

...