Eigen SVD在Google测试中奇怪失败

时间:2017-09-09 13:26:09

标签: c++ eigen googletest svd

我正在谷歌测试中执行下一个代码

TEST(LinearALgebra, SVD) {
    Eigen::Matrix3d m;

    m << -0.0793311, 0.999997, -1.17221e-07,
         1.74, 0.00249557, 0.000445095,
         9.88131e-324, 0.000191222, -0.000284459;

    Eigen::Matrix3d m_inv = m.inverse();

    //or

    auto svd = m.jacobiSvd(Eigen::ComputeFullU | Eigen::ComputeFullV);
}

在scalar_product_op :: result_type(第86行)的BinaryFunctors.h中失败 在simpe主应用程序中运行相同的操作,python numpy或opencv工作正确无误。

1 个答案:

答案 0 :(得分:0)

因此,问题是次正规数为9.88131e-324。 它导致浮点异常。 将其更改为零解决了问题。