我有一个用 C 编写的函数来计算特征值和特征向量,但它需要大量的 CPU 时间,因为我作为另一个算法的一部分多次调用该函数。根据苹果的说法Accelerate framework可用于使用 BLAS 和 LAPACK 非常快速地从矩阵中查找特征值。
由于我是 Accelerate 框架的新手,所以我应该使用哪些函数来查找方阵的特征值和特征向量?
最佳答案
这在一定程度上取决于您想要分解的矩阵的特征。 Lapack 中对于对称/厄米矩阵、带状对角矩阵或一般矩阵有不同的例程。如果您有一个通用矩阵(没有特定结构),您将需要使用广义 Schur 分解例程。这些例程分为单精度和 double 以及具有实数或复数元素的矩阵 - 正如 Lapack 的所有内容一样。
通用特征问题求解器例程命名为:SGEEV CGEEV DGEEV ZGEEV,其中 S = 单精度实数,C = 单精度复数,D = double 实数, Z = double 复数。
IBM 有一个很好的 lapack 在线引用,here's描述上述例程的链接。
祝你好运!
保罗
关于iphone - 如何使用 Accelerate 框架从矩阵中查找特征值和特征向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11233782/