【问题标题】:Eigenvalues of symmetric band matrix using Accelerate framework使用 Accelerate 框架的对称带矩阵的特征值
【发布时间】:2020-11-24 09:07:25
【问题描述】:
在 macOS/iOS 代码库中,我有一个真正的对称带状矩阵,可以是 10 × 10 到大约 500 × 500 之间的任意值,我需要计算它的所有特征值是否大于(或等于) 一定的阈值。所以我只需要严格地知道最低特征值,以防万一。
Apple's Accelerate framework 中是否有任何函数或函数集可以提供完整或部分解决方案?理想情况下,成本与非零条目的数量成正比。
【问题讨论】:
标签:
ios
macos
linear-algebra
accelerate-framework
【解决方案1】:
基于this,似乎有一组 LAPACK 函数可以有效地计算带状对称矩阵的特征值。 (LAPACK 是 Accelerate 框架的一部分。)
据我了解,ssbtrd 后跟 ssterf 应该可以解决问题。
SSBTRD 将实数对称带状矩阵 A 简化为对称
通过正交相似变换得到三对角形式 T:
Q**T * A * Q = T。
SSTERF 计算对称三对角矩阵的所有特征值
使用 QL 或 QR 算法的 Pal-Walker-Kahan 变体。