求解具有相同前提条件的广义特征值问题

计算科学 软件 本征系统
2021-12-15 03:39:01

假设解决顺序广义特征值问题

Aix=λBx,i=1,2,3,

在一般设置中,我们总是需要在应用剩余迭代算法之前对矩阵 B(预处理)执行 LU。是否有数字库(我有 PETSc+SLEPc 的编程经验)或工具包,可以让我将这两个部分分开,从而只执行一次 LU?

默认情况下,LU 分解B是通过直接求解器,我想它的成本可能有点可比。

更新:感谢阿诺德,但我想稍微修改一下我的问题,在哪里B有一个空向量 st B1=0,rank(B)=n1 在哪里Ai,B都是n×n稀疏对称矩阵

1个回答

因素PB=LU自己写一个例程来评估L1PAU1x给定x(使用两个反向求解)。然后就可以解决问题了(L1PAU1λI)z=0使用普通特征值问题的标准迭代求解器。

如果B是奇异的,计算由行组成的左零空间基M,以及由N, 以便MB=0BN=0. 然后你可以用矩阵的修改问题替换特征值问题A=(AsANMAsC)B=(BANMAC), 和Cs随意的。如果x然后解决原始特征值问题x=(x0)是具有相同特征值的新问题的特征向量。现在矩阵的核(BMA)是微不足道的,否则特征值问题是不适定的。这意味着B是一个非奇异矩阵。因此,可以将前面的内容应用于修改后的问题。

新的特征值问题也有特征值s, 对所有形式的向量都达到x=(0z). 因此应该选择s这样它就位于预期频谱的中间位置。