連立一次方程式を解くには、MKLを使用する必要があります。この連立方程式は2Dポアソン問題を解くために使用されるため、正確に5つの対角線は0とは異なります。システムAx = bの行列Aは正方形で、そのサイズはn*nです。Intelのドキュメントを調べましたが、呼び出しシーケンスについて少し戸惑っています。プロトタイプは次のとおりです。
lapack_int LAPACKE_dgbtrf( int matrix_order, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, <datatype>* ab, lapack_int ldab, lapack_int* ipiv );
1)matrix_order。行列の次数は、行と列の数の間で最大になります。ライブラリは2番目と3番目のパラメータからそれを理解するべきではありませんか?
2)mおよびn。これらは元の行列Aを参照していますか、それともバンドストレージの表現を参照していますか?
3)バンドストレージ。問題の構造を考えると、主対角線の上にd対角線があり、主対角線の下にd対角線があるので、因数分解用の追加の行を含めて、バンドストレージのメモリ領域は(n * n)*(3 * d + 1)要素。要素は列単位です。私は正しいですか?
4)主要な次元。これは(3 * d + 1)である必要があります
どんな助けでも大歓迎です