BOOST库反向输出-1。#IND

时间:2014-08-05 15:10:47

标签: c++ boost matrix-inverse

我使用BOOST库来反转矩阵,它给了我不好的结果,比如-1。#IND

我想知道是否有人遇到过这个问题。

代码是这样的:

void tryLib(){
    AG_Matrix AG_Matrix_1=AG_Matrix(4,4,3.0);
    AG_Matrix AG_Matrix_4=AG_Matrix_1.Inverse();
    std::cout<<AG_Matrix_4(1,1)<<'\n';
}

AG_Matrix是一个类型定义,控制台输出是:

-1.#IND
Press any key to continue . . .

我修改了代码,结果现在很好,但我不太确定原因是什么。我会在这里提到原因,当我发现它时......决定因素是零,这就是拉玛先生在下面回答的问题......

1 个答案:

答案 0 :(得分:1)

所有值等于3.0的4x4矩阵是singular matrix且没有反转,因此返回的无效浮点数。
我建议在运行反转之前检查矩阵的行列式。

您的问题不是代码问题,这是一个数学问题。