我有一个用 C 语言编写的函数来计算特征值和特征向量,但是它需要大量的 CPU 时间,因为我多次调用这个函数作为另一个算法的一部分。据苹果称Accelerate framework可用于使用 BLAS 和 LAPACK 非常快速地从矩阵中找到特征值。
由于我是 Accelerate 框架的新手,所以我应该使用哪些函数来查找方阵的特征值和特征向量?
Best Answer-推荐答案 strong>
这在一定程度上取决于您希望分解的矩阵的特征。 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/
|