2

alglib の rmatrixinverse() について 1 つ簡単な質問をしたいと思います。という名前の 2D double 配列M (matrix n*n)を取得し、 という名前の逆行列を取得したいと考えていますinvM。この場合、rmatrixinverse() を使用していますが、結果は間違っています。alglib の他の逆行列ソルバーもいくつか試しましたが、私の意見でrmatrixinverse()は、データが double でいっぱいなので、最適です。

誰かがこの問題に直面したことがあり、何か考えがあれば、私はとても感謝しています.

alglib::real_2d_array invMalglib;
alglib::ae_int_t info;
alglib::matinvreport rep;
invMalglib.setlength(matrix_degree,matrix_degree);
for(int i = 0; i < matrix_degree; i++)
    for(int j = 0; j < matrix_degree; j++)
        invMalglib[i][j] = M[i][j];

vector_from_matrix_and_vector(F, X, FtX, small_length, matrix_degree);
alglib::rmatrixinverse(invMalglib, info, rep);
for(int i = 0; i < matrix_degree; i++)
    for(int j = 0; j < matrix_degree; j++)
        invM[i][j] = invMalglib[i][j];
4

0 に答える 0