求解具有正定块的系统的数值方法

计算科学 线性代数 线性求解器 条件数
2021-12-05 00:13:34

我有一个具有以下系数矩阵的系统

C=(ABTBD),

其中,是平方且正定的。此外,如果是平方的,那么将是正定的(它是可选的)。的条件数可能很大。如何解决这个系统以尽可能地避免数值问题。ADBBC

1个回答

请注意,您的假设不排除奇异矩阵。一个具体的例子是 其中的单位矩阵这个例子还表明,为正定的条件不一定有用。

C=[IIII]
IIB

我很欣赏您通过删除上下文并呈现简单的数学事实来简化您的问题的事实。但是,我担心您可能走得太远并且丢失了重要信息,即您的矩阵看起来比实际情况更糟。

假设矩阵不是病态的,那么你可以解决 通过传递给 Schur 补系统 求解这很有吸引力,如果很小,并且很容易求解具有系数矩阵系统。很大,因为可能是一个密集矩阵,那么它的吸引力就会降低。

Cx=[ABTBD][x1x2]=[f1f2]
Sx2=(DBA1BT)x2=f2BA1f1
x2DADS

如果系统是病态的,那么最好的做法是使用列旋转进行 QR 分解。通过检查,您至少会获得有关的数字等级的信息,并且您可能会发现无论如何都在矩阵的范围内。AP=QRRAf

编辑:使用列旋转的列空间的正交基的 Gram-Schmidt 算法密切相关这里只是一个置换矩阵,它经常被挑选来确保上三角矩阵的对角线元素是单调递减的。形式分解的强度AP=QRAPR

AP=QR=Q[R11R120R22]

是您可以开始根据矩阵的奇异值。Golub 和 van Loan 的《Matrix Computations》是一本可以从 MIT 网站免费获得的好书。AR11R22

http://web.mit.edu/ehliu/Public/sclark/Golub%20G.H.,%20Van%20Loan%20C.F.-%20Matrix%20Computations.pdf

在讨论的众多主题中,您会发现 QR 分解。我不熟悉以下关于揭示 QR 分解的排名报告,但作者的能力让我相信这份报告也很好

ftp://ftp.mcs.anl.gov/pub/tech_reports/reports/P559.pdf

具有列旋转的 QR 分解在 LAPACK 中实现。这是相关节点的链接

http://www.netlib.org/lapack/lug/node42.html