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];