8

scipy.linalg.solveワークステーションで ~12000 の未知の問題 (~12000 の正方形、高密度、非対称行列) で (LAPACK の gesv 関数を呼び出していると思われる) を使用すると、 10 ~ 15 分で適切な答えが得られます。

可能なことの限界を調べるためだけに (「有用」とは言っていないことに注意してください)、根本的な問題の解像度を 2 倍にしました。数十ギガバイトのスワップを追加すると、これは技術的にはワークステーションで実行されますが、適切な RAM を備えたハードウェアを使用する方が賢明であると思われるため、AWS EC2 High-Memory Quadruple Extra Large で開始しました。 .. 過去14 時間にわたってすり減っていた場所 (ちょっと、スポット インスタンスは安価です) で、どこまで進んだかを知ることは不可能です。

残念ながら、関連するソルバーの時間の複雑さがどの程度かはわかりません (私の google-fu はこれで失敗しました)。O(N^2) の場合、約 4 時間後に完了すると予想していました。O(N^3) の場合は、16 時間以内に完了する可能性があります。もちろん、これは N を未知数の数として解釈しています - 4 倍になりました - 行列の要素数は 16 倍に増加しました!

そして、これが私の(プロジェクトの)生涯で完了する可能性があるかどうか、または感謝して受け取らないかどうかを判断するのに役立つアドバイス!

他の情報:

2**31ここではスパース行列は重要ではありません (私の行列は密集しており、いずれにせよ scipyは 64 ビットでもゼロ以外の要素では機能しません)。

ワークステーションで Debian/Squeeze の scipy、EC2 で Ubuntu 12.04 を使用しています。どちらも明らかに64ビットです。

4

1 に答える 1

13

NxN 行列の DGESV の時間計算量は O(N^3) です。こちらの表 3.13 を参照してください: http://www.netlib.org/lapack/lug/node71.html

于 2012-09-30T21:57:58.430 に答える