Полное сингулярное разложение в R

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

2 ответа

Решение
library(sos)
> findFn("svd NULL space")
found 47 matches;  retrieving 3 pages

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

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

Как это работает в MASS.

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

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

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

Другие вопросы по тегам