C++ で非常に大きな行列 (11300x21500) の逆数を計算しようとしています。これまでに Eigen と Armadillo ライブラリを試しましたが、どちらも初期化段階で失敗し、十分なメモリがないと言って失敗しました。この状況を打破する方法はありますか?
前もって感謝します
PS
マトリックスのサイズを 21500x21500 に修正する必要があります。UmNyobe が示唆したように、これは正方行列ではありません。これは実際には観測行列Xであり、( X T X ) -1を計算しようとしています。
私は 8GB のメモリ (64 ビット システム) を持っていますが、このメモリ空間のすべてを利用しているとは思いません。タスクマネージャーを見ると、エラー時のメモリ使用量は1GBと表示されています。Windows7 には、メモリ使用量が 1GB を超えるとアプリケーションを終了する OS コマンドが存在する可能性があります。
ところで、私の本来の目的は、この観測行列に対して回帰を実行することです。
もう 1 つ: 観測行列 X の各行のほとんどの列はゼロです。これを利用して、反転操作でのメモリ使用量を制限する方法はありますか?