我有一个用C编写的函数来计算特征值和特征向量,但由于我作为另一种算法的一部分多次调用此函数,因此需要大量的CPU时间。根据Apple的说法,Accelerate framework可用于使用BLAS和LAPACK非常快速地从矩阵中找到特征值。
由于我是Accelerate框架的新手,我应该使用哪些函数来查找方阵的特征值和特征向量?
答案 0 :(得分:3)
这取决于您希望分解的矩阵的特征。对于对称/ Hermitian矩阵,带状对角矩阵或一般矩阵,Lapack中有不同的例程。如果您有一个通用矩阵(没有特定结构),则需要使用广义Schur分解例程。例程在单精度和双精度之间以及具有实数或复数元素的矩阵之间划分 - 就像所有的Lapack一样。
一般特征问题求解器程序命名为: SGEEV CGEEV DGEEV ZGEEV 其中S =单精度实数,C =单精度复数,D =双精度实数,Z =双精度复杂。
IBM有一个很好的lapack在线参考,here's一个描述上述例程的链接。
祝你好运!保