8

巨大な行列のムーア・ペンローズ疑似逆行列を計算したいと思います。理想的には、2300万行1000列のマトリックスで実行したいのですが、必要に応じて、実験の一部で実行するだけで行数を400万に減らすことができます。

明らかに、マトリックスをメモリにロードしてSVDを実行しても機能しません。 ウィキペディアはクリロフ部分空間法を指摘し、アーノルディランチョス共役勾配GMRES(一般化最小残余)、BiCGSTAB(安定化双共役勾配)、QMR(準最小残余)、TFQMR(転置なしQMR)、およびMINRES(最小残余)に言及しています。 )最高のクリロフ部分空間法の1つとしての方法。でもここからどこへ行けばいいのかわからない。そのような巨大な行列の疑似逆行列を計算することさえ可能ですか?もしそうなら、どのアルゴリズムまたはソフトウェアライブラリを使用していますか?大規模なコンピューティングクラスターを利用できるので、並列アプローチを歓迎します。

この答えは、Rパッケージbiglmを指しています。それはうまくいくでしょうか?誰かがそれを使用しましたか?私は通常Pythonで作業しますが、この特定のタスクに他の言語やツールを使用してもかまいません。

4

1 に答える 1

2

疑似逆行列を使用して最小二乗解を計算するよりも、最小二乗解に直接収束するブロック反復アルゴリズムを使用する方がよい場合があります。CharlieByrneによる「 AppliedIterativeMethods」を参照してください。これらのアルゴリズムはクリロフ部分空間法と密接に関連していますが、計算が簡単になるように調整されています。彼の別の本のこのプレプリントの第3章を見ると、紹介を得ることができます。

于 2010-07-22T01:16:39.143 に答える