如何使用alglib rmatrixinverse得到逆矩阵

时间:2012-10-29 18:13:26

标签: c++

我想问一个关于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];

0 个答案:

没有答案