在C++中是否有比 MATLAB 的 eig 函数更快的特征值分解方法?



为什么 MATLAB 中的eig()运行得这么快?它是如何制作的?我使用Eigen的EigenSolver,它比MATLAB慢得多。使用Intel-MKL ?我们能否实现与 MATLAB 相同或更高的性能?还是BLAS/LAPACK/ATLAS/ARPACK/OpenBLAS/GotoBLAS/ACML ?特征值分解的工业解决方案是什么?

Matlab 使用 MKL 作为其 BLAS 和 LAPACK 后端。MKL 是英特尔 CPU 上最快的(在几乎所有情况下)用于 BLAS 和 LAPACK 的库。

您可以使用这些命令来检查 Matlab 使用的 MKL 版本

>> version -blas
>> version -lapack

请参阅此链接,了解英特尔本人完成的一些基准测试结果。

http://software.intel.com/en-us/intel-mkl#pid-12780-836

相关内容

  • 没有找到相关文章

最新更新