大型对称正定带对角矩阵的部分对角化

计算科学 稀疏矩阵 特征值
2021-11-29 06:54:09

我想对实数稀疏对称正定矩阵进行部分对角化,这些矩阵的维数n=105我需要按顺序k=500的最小特征值和特征向量。非零元素的数量与n,并且可选地我可以将矩阵排列为与带数成带对角线200, 独立于n.

目前,我正在使用 ARPACK(不使用带状结构),但运行时间变得令人望而却步。我想知道FEAST 算法是否是一个不错的选择,因为对频谱的外观有一个很好的了解,我可以自信地提供它[λmin,λmax]. 我研究过其他算法,但对选择的数量有点不知所措。

我的问题是双重的。

  1. 带状结构能否产生重大影响?
  2. 是否有特定的算法会胜过 ARPACK?(据我所知,它只利用了是实数和对称的事实,而不是其他属性。此外,我不确定是否再构成“一些特征值”,因此我想知道是否其他算法可以胜过它。)Ak=500
1个回答

一般来说,利用的结构(稀疏性/带状)对收敛速度没有影响,但它总是会缩短通过 ARPACK 的“反向通信 API”应用 matvec 的时间。实际上,您可能在做什么不是很清楚,因为太大而无法存储为显式密集矩阵,您必须利用某种结构来存储/应用它,对吧?A105

由于您正在查看最小的特征对,因此我还会考虑逆迭代以加速收敛到频谱的那一端(使用 Cholesky 分解的某种风格,无论是带状的还是稀疏的,以应用逆向)。

对于 2-D 或 3-D FE/FD 问题,矩阵计算这样一个 A 的 Cholesky 分解是例行公事。Bandedness 是一个更敏感的问题,因为带宽会对时间/内存产生强烈的(超线性)影响。三对角矩阵很容易求解,但带状矩阵是另一种动物。你的是从哪里来的?105105105NA