我想问一个关于alglib的rmatrixinverse()的问题。我有一个名为M (matrix n*n)
的2D双数组,我希望得到名为invM
的逆矩阵。在这种情况下,我使用rmatrixinverse(),但结果是错误的。我也尝试了alglib中的一些其他逆矩阵求解器,但在我看来,rmatrixinverse()
最适合,因为数据充满了双倍。
如果有人遇到过这个问题并且有任何想法,我将非常感激。
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];