2

我有一个用 C 语言编写的函数来计算特征值和特征向量,但它需要大量的 CPU 时间,因为我多次调用这个函数作为另一个算法的一部分。根据 Apple 的说法,Accelerate 框架可用于使用 BLAS 和 LAPACK 非常快速地从矩阵中找到特征值。

由于我是 Accelerate 框架的新手,所以我应该使用哪些函数来查找方阵的特征值和特征向量?

4

1 回答 1

3

这在一定程度上取决于您希望分解的矩阵的特征。Lapack 对于对称/厄米特矩阵、带状对角矩阵或一般矩阵有不同的例程。如果您有一个通用矩阵(没有特定结构),您将需要使用广义 Schur 分解例程。例程分为单精度和双精度以及具有实数或复数元素的矩阵 - 就像所有 Lapack 一样。

通用特征问题求解器例程命名为:SGEEV CGEEV DGEEV ZGEEV其中 S = 单精度实数,C = 单精度复数,D = 双精度实数,Z = 双精度复数。

IBM 有一个很好的 lapack 在线参考资料,这里有一个描述上述例程的链接。

祝你好运!

保罗

于 2012-06-29T16:48:41.890 回答