関連する課題も抱えていたので、これ幸いと読んでみました。しかし、プログラムコードとしては公開されておらず、ページ内の解説を理解しようとしても、少し大変な様子なので、Google先生のお世話になりながら関連情報を検索しまくりました。
そして、「redsvd」にたどり着きました。(Simonとは別の手法による実装です)
ここ数年の研究で、高速に近似的な解を求める方法の研究が進んできているようです。
説明を見る限りでは高速に計算できているようです。
近年注目を集めている乱択化アルゴリズム用いているとのこと。
これまでの実装によるSVDモジュールでは、大規模な問題を解こうとすると、どうしても越えられない壁があったのですが、これで解決につながるかもしれません。
修正BSDライセンスというのも助かります。
こういう、実用的なモジュールがフリーで公開してもらえると、本質的なところに注力することができて非常に有益です。
次のページに他のライブラリなどもまとめました
→ 特異値分解(SVD)参考リンク集
→ 特異値分解(SVD)参考リンク集