我一直在使用Armadillo 4.2版本(来自linux mint package manager)。使用icc编译时,该版本没有问题,使用icc编译的代码运行速度非常快(与g ++相比,快10%-15%)。
最近我将Armadillo升级到最近的6.1版本(来自官方网站)。但在这种情况下,所有代码都使用icc正确编译,但是给出了运行时错误。
error: eig_sym(): failed to converge
terminate called after throwing an instance of 'std::runtime_error'
what(): eig_sym(): failed to converge
Aborted
使用g ++正确编译的代码完美运行。 我也尝试过以前的5.6版本,但同样的问题。 有解决方案??我不得不恢复到旧的4.2版本以从icc获得额外的速度...