混合对角/密集问题的最优算法选择

计算科学 矩阵 线性求解器 迭代法 密集矩阵
2021-12-13 09:09:00

LetA,BCn×n and α^,β^Cn,f^C2nFind x_C2n such that[ABA^B^]x_=f^A^=diag(α^),B^=diag(β^)
对于所有行,只有可以为零。α^β^

所以基本上我们正在处理一个块矩阵,其中上排由两个完全填充的密集复方矩阵组成,下排由两个对角复数矩阵组成。我需要求解这种方程组,其中可以介于之间。n300020000

我曾考虑过使用增强的 GMRES(块矩阵下半部分的自适应乘法),但我认为我需要一个可靠的预处理器,因为系统可能条件不佳。

是否有任何直接算法可以从块矩阵的下半部分由两个对角矩阵组成的事实中受益?

1个回答

这是我在评论中写的,作为答案。

如果,则否则矩阵将不可逆。与列交换以确保(或更好,正如@wim 在评论中建议的那样,)(并且您需要一致地交换以获得等效系统)。您可以对所有执行此操作,从而确保是非奇异的。β^j=0α^j0jn+jβ^j0|β^j||α^j|xjxn+jj=1,2,,nB^

Schur 补码求解系统B^

这种直接算法的成本本质上是形成 Schur 补码(触发器,因为两个矩阵是对角的,正如@wim 正确指出的那样)加上用它求解线性系统的成本(次失败)。O(n2)23n3