問題タブ [pardiso]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 固有値/Intel MKL を使用したスパース線形システムの解決
A がスパース行列 (1,964,568 x 1,964,568 nnz=75256446) であり、b もスパース (1,964,568 x 1,964,568 nnz= 25354926) である Ax=b 方程式を C++ の Eigen ライブラリを使用して解きたいと思います。
最初は、Eigen Sparse LU を使用して問題を解決しようとしていましたが、数時間後にメモリが不足しました (128GB の RAM があります)。この後、Pardiso ソルバーに INTEL MKL ライブラリを含めました。これでも問題を解決できません。多分誰かが私の問題を解決するためのヒントを持っていますか?
コードをコンパイルして実行できます。より良いパフォーマンスとより少ないメモリが必要です。
c++ - 固有値での pardiso ソルバーの使用
ソルバーsparse matrix system (Ax = b)
をeigen
使用して非常に大きな問題を解決しようとしています。pardiso
でコードをコンパイルするとg++
、次のエラーが発生します。
' の形式を変更する必要はないと思っていましたsparse matrices
が、 に収まる疎行列の形式を変更する必要があるようpardiso
です。しかし、他の方のサンプルコードを見つけたところ、sparse matrix
形が変わっていませんでした。そして、それもうまくいくようです。
私はそれを正しく理解していますか?私はちょっと確信が持てません。何が問題なのか誰にも教えてもらえますか?
(A と B については、この問題とは関係ありません。なぜなら、固有値の組み込みソルバーである sparseLU で答えが得られたからです。しかし、速度が遅すぎたため、pardisoLU を使用してみました。)
そして、これを次のようにコンパイルしg++
ます