使用 Accelerate 框架的对称带矩阵的特征值

Posted

技术标签:

【中文标题】使用 Accelerate 框架的对称带矩阵的特征值【英文标题】:Eigenvalues of symmetric band matrix using Accelerate framework 【发布时间】:2020-11-24 09:07:25 【问题描述】:

在 macOS/ios 代码库中,我有一个真正的对称带状矩阵,可以是 10 × 10 到大约 500 × 500 之间的任意值,我需要计算它的所有特征值是否大于(或等于) 一定的阈值。所以我只需要严格地知道最低特征值,以防万一。

Apple's Accelerate framework 中是否有任何函数或函数集可以提供完整或部分解决方案?理想情况下,成本与非零条目的数量成正比。

【问题讨论】:

【参考方案1】:

基于this,似乎有一组 LAPACK 函数可以有效地计算带状对称矩阵的特征值。 (LAPACK 是 Accelerate 框架的一部分。)

据我了解,ssbtrd 后跟 ssterf 应该可以解决问题。

SSBTRD 将实数对称带状矩阵 A 简化为对称 通过正交相似变换得到三对角形式 T: Q**T * A * Q = T。

SSTERF 计算对称三对角矩阵的所有特征值 使用 QL 或 QR 算法的 Pal-Walker-Kahan 变体。

【讨论】:

以上是关于使用 Accelerate 框架的对称带矩阵的特征值的主要内容,如果未能解决你的问题,请参考以下文章

使用 Mac osx Accelerate 框架的矩阵乘法结果为 NaN

用QR方法怎样求矩阵的特征值?

c_cpp 对称矩阵和非对称矩阵的特征值/向量

实对称矩阵的特征值一定为实数证明

欧氏空间05——实对称矩阵的标准形

ok李宏毅机器学习12: 对称矩阵