2017-09-09 87 views
-3

我执行下面的代码在谷歌测试征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); 
} 

它未能BinaryFunctors.h在scalar_product_op :: result_type的(线86) 在simpe主要应用相同的操作失败怪, python numpy或opencv在没有失败的情况下工作正确。

+2

_It failed_,你认为这就是你应该告诉的一切? –

+1

我不会在您发布的代码中看到错误。请提供[MCVE](https://stackoverflow.com/help/mcve) –

+0

对不起。一些解释:相同的代码在简单的控制台主应用程序和谷歌测试中运行。在应用程序中一切正常。但在谷歌测试相同的代码返回这个错误。 – Mike

回答

0

所以,问题是低于正常数字9.88131e-324。 它导致浮点异常。 将其更改为零解决问题。