矩阵分解
块分解与舒尔补
把矩阵划分成 2x2 的子矩阵网格 M = [A, B; C, D],其中 A 与 D 为方阵。块分解是在整块层面(而非单个元素层面)做高斯消元。你通过从顶部块行中减去 C A^-1 倍来消去左下块 C,正如标量消元从主元行中减去其倍数。
结果是块 LU 形式:M = [I, 0; C A^-1, I] [A, B; 0, S],其中 S = D - C A^-1 B 是 A 在 M 中的舒尔补。下因子记录块乘子 C A^-1;上因子是块上三角,对角线上是 A 与 S。它就是普通 LU,只是用块扮演数的角色。
这为分块问题给出干净的公式。行列式分解为 det(M) = det(A) det(S)。M 的逆可以完全用 A^-1 与 S^-1 写出,这是块求逆公式的基础。而解 M x = b 则拆成用 A 解与用 S 解,这正是区域分解与鞍点求解器分而治之的方式。
回报既是结构上的也是计算上的。若 A 是一个大而易求逆的块(比如块对角或稀疏),你就把一个大问题约化为关于 S 的小得多的问题。代价与标量消元相同:要构造 C A^-1,A 必须可逆,故当左上块天然奇异时可能需要块选主元。
[A, B; C, D] = [I, 0; C A^-1, I] [A, B; 0, S], S = D - C A^-1 B, det = det(A) det(S)
块消元把分块矩阵分解,并显露出舒尔补 S。
块 LU 不过是把元素换成块的 LU。它产生的最有用的对象就是舒尔补 S = D - C A^-1 B。
又称
另见