特征值问题的适当迭代线性求解器

计算科学 线性代数 线性求解器 本征系统 克雷洛夫法
2021-12-22 14:38:31

我正在尝试解决广义特征值问题

Ax=λBx,A=A>0,B=B>0

使用瑞利商迭代(RQI)(RQI 应用于,但从最终取消公式): }决定使用一些迭代方法来解决 for,因为我不想明确我只想编写计算产品的代码。λσB1/2AB1/2B1/2

(AμkB)x~k+1=Bxkxk+1=x~k+1||x~k+1||μk=xmAxmxmBxmμ0=σ,x0=random vector
(AμkB)x~k+1=Bxk
x~k+1ABAxBx

矩阵是对称的,但不是正定的,否则我会使用共轭梯度法。你会建议哪种方法?将 Krylov 子空间方法与 RQI 一起使用时是否有任何陷阱?

1个回答

如果您的矩阵很大,为什么不使用像ARPACK这样的库呢?ARPACK 的移位和反转模式将帮助您计算接近的特征值。σ

大多数用于数值计算的高级编程语言(Fortran、C、Python、MATLAB 等)都有 ARPACK 接口。

例如,可以在此处找到 Python 的快速教程(相当小的密集矩阵)或此处(大型稀疏矩阵,仅以运算符形式提供)。

稍后编辑:我更仔细地阅读了您的帖子,并注意到您正在寻找一种解决移位反转线性系统的方法......那么为什么不尝试MINRESSYMMLQ呢?两种算法都基于专门为对称(但不一定是正定)矩阵设计的 Lanczos(3 项 Arnoldi)迭代。是非奇异的,则 SYMMLQ 应该表现更好。A