【发布时间】:2013-10-10 00:35:54
【问题描述】:
我一直在尝试提出一种用于并行特征值分解的算法,但我尝试的算法中没有一个可以击败 matlab 的 eig 算法,所以有谁知道 matlab 使用哪种算法来处理 eig 函数? 或者有人可以建议我一个很好的特征值分解并行算法吗?
【问题讨论】:
标签: matlab parallel-processing eigenvector eigenvalue decomposition
我一直在尝试提出一种用于并行特征值分解的算法,但我尝试的算法中没有一个可以击败 matlab 的 eig 算法,所以有谁知道 matlab 使用哪种算法来处理 eig 函数? 或者有人可以建议我一个很好的特征值分解并行算法吗?
【问题讨论】:
标签: matlab parallel-processing eigenvector eigenvalue decomposition
MATLAB 将 LAPACK 用于其更高级别的线性代数。根据MATLAB的version命令,是Intel的Math Kernel Library (MKL):
>> version('-lapack')
ans =
Intel(R) Math Kernel Library Version 11.0.2 Product Build 20130124 for Intel(R) 64 architecture applications
Linear Algebra PACKage Version 3.4.1
英特尔 MKL 包括非常快速的 BLAS 和 LAPACK 实施,但它不是免费的。对于开源选项,请尝试 Eigen 和 Armadillo。他们的 API 非常直观,而且速度非常快。如果您相信Eigen's claims,它们是最快的开放式 BLAS,它具有优于参考 netlib LAPACK 的 API(IMO,一旦您查看 Fortran 版本,API 声明就很明显了!)
【讨论】: