一、背景与动机(为什么要用舒尔补)
在处理分块矩阵(block matrix)时,经常需要“消去”某个分块,从而把问题降为对较小矩阵的运算。舒尔补提供了把一个2×22\times22×2分块矩阵的逆、行列式、正定性等性质归结到其一个分块及其所谓“补矩阵”的工具。它在线性代数、数值求解(高效求解线性方程)、统计(高斯条件分布与边缘化)、优化(半正定规划)、图模型与控制中被广泛使用。
二、定义
设矩阵分块如下(矩阵元域为实数或复数):
M=[ABCD], M = \begin{bmatrix} A & B \\ C & D \end{bmatrix},M=[ACBD],
其中AAA为n×nn\times nn×n方块,DDD为m×mm\times mm×m方块,BBB为n×mn\times mn×m,CCC为m×nm\times nm×n。
若AAA可逆,则称
SD∣A:=D−CA−1B S_{D|A} := D - C A^{-1} BSD∣A:=D−CA−1B
为以AAA为主块的舒尔补(Schur complement),也常记作M/AM/AM/A或D−CA−1BD - C A^{-1} BD−CA−1B。若DDD可逆,则称
SA∣D:=A−BD−1C S_{A|D} := A - B D^{-1} CSA∣D:=A−BD−1C
为以DDD为主块的舒尔补,常记作M/DM/DM/D或A−BD−1CA - B D^{-1} CA−BD−1C。
注:上下标或竖线表示“消去”哪个主块,例如SD∣AS_{D|A}SD∣A表示“相对于AAA的DDD的舒尔补”。
三、块矩阵求逆(Schur 补的基本恒等式)
若AAA可逆且舒尔补SD∣AS_{D|A}SD∣A也可逆,则分块逆的公式为:
M−1=[ABCD]−1[A−1+A−1BSD∣A−1CA−1−A−1BSD∣A−1SD∣A−1CA−1SD∣A−1].(1) M^{-1} = \begin{bmatrix} A & B\\ C & D \end{bmatrix}^{-1} \begin{bmatrix} A^{-1} + A^{-1} B S_{D|A}^{-1} C A^{-1} & - A^{-1} B S_{D|A}^{-1} \\ S_{D|A}^{-1} C A^{-1} & S_{D|A}^{-1} \end{bmatrix}. \tag{1}M−1=[ACBD]−1[A−1+A−1BSD∣A−1CA−1SD∣A−1CA−1−A−1BSD∣A−1SD∣A−1].(1)
相对对称地,若DDD可逆且SA∣DS_{A|D}SA∣D可逆,也有:
M−1=[SA∣D−1−SA∣D−1BD−1D−1CSA∣D−1D−1+D−1CSA∣D−1BD−1].(2) M^{-1} = \begin{bmatrix} S_{A|D}^{-1} & - S_{A|D}^{-1} B D^{-1} \\ D^{-1} C S_{A|D}^{-1} & D^{-1} + D^{-1} C S_{A|D}^{-1} B D^{-1} \end{bmatrix}. \tag{2}M−1=[SA∣D−1D−1CSA∣D−1−SA∣D−1BD−1D−1+D−1CSA∣D−1BD−1].(2)
推导(基于分块乘法与代数消去)
从定义MM−1=IM M^{-1} = IMM−1=I,设
M−1=[XYZW], M^{-1} = \begin{bmatrix} X & Y \\ Z & W \end{bmatrix},M−1=[XZYW],
则由块乘法得到线性方程组:
{AX+BZ=I,AY+BW=0,CX+DZ=0,CY+DW=I. \begin{cases} AX + BZ = I, \\ AY + BW = 0, \\ CX + DZ = 0, \\ CY + DW = I. \end{cases}⎩⎨⎧AX+BZ=I,AY+BW=0,CX+DZ=0,CY+DW=I.
假定AAA可逆。由第三式CX+DZ=0CX + DZ = 0CX+DZ=0得
CZ=−CX⟹Z=−D−1CX(若 D 可逆), CZ = -CX \quad\Longrightarrow\quad Z = -D^{-1} C X \quad\text{(若 $D$ 可逆)},CZ=−CX⟹Z=−D−1CX(若D可逆),
但更直接的消去法:从第一式解XXX(以ZZZ表示)并将XXX代入第三式,可以得到关于ZZZ的方程。更标准的做法是如下:
- 从第三式解出ZZZ为Z=−D−1CXZ = -D^{-1} C XZ=−D−1CX需要D−1D^{-1}D−1,不方便。取另一条路径:
从第一式写出
AX=I−BZ⟹X=A−1−A−1BZ. AX = I - BZ \quad\Longrightarrow\quad X = A^{-1} - A^{-1} B Z.AX=I−BZ⟹X=A−1−A−1BZ.
代入第三式:
C(A−1−A−1BZ)+DZ=0 C(A^{-1} - A^{-1} B Z) + D Z = 0C(A−1−A−1BZ)+DZ=0
整理得
(D−CA−1B)Z=−CA−1. \big( D - C A^{-1} B \big) Z = - C A^{-1}.(D−CA−1B)Z=−CA−1.
若SD∣A=D−CA−1BS_{D|A} = D - C A^{-1} BSD∣A=D−CA−1B可逆,则
Z=−SD∣A−1CA−1. Z = - S_{D|A}^{-1} C A^{-1}.Z=−SD∣A−1CA−1.
再代回得到
X=A−1+A−1BSD∣A−1CA−1, X = A^{-1} + A^{-1} B S_{D|A}^{-1} C A^{-1},X=A−1+A−1BSD∣A−1CA−1,
类似地可推导YYY与WWW,从而得到公式 (1)。上述步骤严格且直接体现了舒尔补的概念:在“消去”AAA之后,剩下的等价线性系统涉及的矩阵正是SD∣AS_{D|A}SD∣A。
四、行列式与舒尔补的恒等式
若AAA可逆,则
det(M)=det(A)det(D−CA−1B)=det(A)det(SD∣A).(3) \det(M) = \det(A)\det\big( D - C A^{-1} B \big) = \det(A)\det(S_{D|A}). \tag{3}det(M)=det(A)det(D−CA−1B)=det(A)det(SD∣A).(3)
对称地,若DDD可逆,则
det(M)=det(D)det(A−BD−1C)=det(D)det(SA∣D).(4) \det(M) = \det(D)\det\big( A - B D^{-1} C \big) = \det(D)\det(S_{A|D}). \tag{4}det(M)=det(D)det(A−BD−1C)=det(D)det(SA∣D).(4)
推导(基于块上三角化)
把MMM分解为块下三角乘以块上三角(块 Gaussian 消元):
[ABCD]=[I0CA−1I][AB0SD∣A], \begin{bmatrix} A & B \\ C & D \end{bmatrix}= \begin{bmatrix} I & 0 \\ C A^{-1} & I \end{bmatrix} \begin{bmatrix} A & B \\ 0 & S_{D|A} \end{bmatrix},[ACBD]=[ICA−10I][A0BSD∣A],
两边取行列式,利用det(I)=1\det(I)=1det(I)=1, 以及det\detdet的乘积性质,得到 (3)。
基于块高斯消元的构造性推导(从消去CCC出发)
从原矩阵
M=[ABCD], M = \begin{bmatrix} A & B \\ C & D \end{bmatrix},M=[ACBD],
目标是通过左乘一个下三角块矩阵将其化为上三角形式,从而得到LULULU分解。构造如下下三角矩阵:
L−1=[I0−CA−1I]. L^{-1} = \begin{bmatrix} I & 0 \\ -C A^{-1} & I \end{bmatrix}.L−1=[I−CA−10I].
注意L−1L^{-1}L−1是可逆的,下三角且对角为单位元,其逆恰为
L=(L−1)−1=[I0CA−1I]. L = (L^{-1})^{-1} = \begin{bmatrix} I & 0 \\ C A^{-1} & I \end{bmatrix}.L=(L−1)−1=[ICA−10I].
现在左乘L−1L^{-1}L−1消去CCC:
L−1M=[I0−CA−1I][ABCD]=[AB−CA−1A+C−CA−1B+D]. L^{-1} M= \begin{bmatrix} I & 0 \\ -C A^{-1} & I \end{bmatrix} \begin{bmatrix} A & B \\ C & D \end{bmatrix}= \begin{bmatrix} A & B \\ -C A^{-1}A + C & -C A^{-1} B + D \end{bmatrix}.L−1M=[I−CA−10I][ACBD]=[A−CA−1A+CB−CA−1B+D].
简化得到
L−1M=[AB0D−CA−1B]=[AB0SD∣A]=U. L^{-1} M = \begin{bmatrix} A & B \\ 0 & D - C A^{-1} B \end{bmatrix} = \begin{bmatrix} A & B \\ 0 & S_{D|A} \end{bmatrix} =U.L−1M=[A0BD−CA−1B]=[A0BSD∣A]=U.
于是重排可得所需分解
M=LU. M = L U.M=LU.
这一过程即为对第一列块做一次块 Gaussian 消元:用第 1 块行消去第 2 块行的左下块,从而得到上三角块矩阵UUU,同时左侧的消元矩阵的逆即为LLL。
对存在性与可逆性的说明
- 该构造要求AAA可逆(以便定义A−1A^{-1}A−1)。若AAA不可逆但DDD可逆,可采用对称方法先以DDD为主块消去,获得另一种LULULU分解(交换角色)。
- 若AAA与SD∣AS_{D|A}SD∣A都可逆,则LLL与UUU都可逆,从而MMM可逆;且可据此得到M−1=U−1L−1M^{-1}=U^{-1} L^{-1}M−1=U−1L−1,并由上节的直接推导推得分块逆公式。
推论:行列式因子化(简单而重要的结果)
由分解M=LUM = L UM=LU且LLL为单位下三角块矩阵(对角块均为III),故det(L)=1\det(L)=1det(L)=1,因此
det(M)=det(L)det(U)=1⋅det(U). \det(M) = \det(L)\det(U) = 1 \cdot \det(U).det(M)=det(L)det(U)=1⋅det(U).
而上三角块矩阵UUU的行列式等于对角块行列式的乘积:
det(U)=det(A)det(SD∣A). \det(U) = \det(A)\det\big(S_{D|A}\big).det(U)=det(A)det(SD∣A).
于是得出常用恒等式
det(M)=det(A)det(D−CA−1B). \det(M) = \det(A)\det\big(D - C A^{-1} B\big).det(M)=det(A)det(D−CA−1B).
五、正定性(PSD/PD)与舒尔补
舒尔补与对称正定(symmetric positive definite,SPD)有密切关系。设MMM为对称块矩阵(方域为R\mathbb{R}R):
M=[ABB⊤D], M = \begin{bmatrix} A & B \\ B^\top & D \end{bmatrix},M=[AB⊤BD],
其中AAA与DDD对称。则以下等价关系成立(假设AAA可逆):
- M≻0M \succ 0M≻0(即MMM正定)当且仅当A≻0A \succ 0A≻0且SD∣A=D−B⊤A−1B≻0S_{D|A} = D - B^\top A^{-1} B \succ 0SD∣A=D−B⊤A−1B≻0。
对称地(假设DDD可逆):
- M≻0M \succ 0M≻0当且仅当D≻0D \succ 0D≻0且SA∣D=A−BD−1B⊤≻0S_{A|D} = A - B D^{-1} B^\top \succ 0SA∣D=A−BD−1B⊤≻0。
证明要点(用二次型)
对任意向量(x,y)(x,y)(x,y)有
[x⊤y⊤][ABB⊤D][xy]=x⊤Ax+2x⊤By+y⊤Dy. \begin{bmatrix} x^\top & y^\top \end{bmatrix} \begin{bmatrix} A & B \\ B^\top & D \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = x^\top A x + 2 x^\top B y + y^\top D y.[x⊤y⊤][AB⊤BD][xy]=x⊤Ax+2x⊤By+y⊤Dy.
令x′=x+A−1Byx' = x + A^{-1} B yx′=x+A−1By,化简可得:
x⊤Ax+2x⊤By+y⊤Dy=x′⊤Ax′+y⊤(D−B⊤A−1B)y. x^\top A x + 2 x^\top B y + y^\top D y = {x'}^\top A x' + y^\top (D - B^\top A^{-1} B) y.x⊤Ax+2x⊤By+y⊤Dy=x′⊤Ax′+y⊤(D−B⊤A−1B)y.
因此若A≻0A \succ 0A≻0, positivity of the whole quadratic form for all(x,y)(x,y)(x,y)is equivalent toSD∣A≻0S_{D|A} \succ 0SD∣A≻0.
六、舒尔补在求解线性系统中的作用(消去与分块求解)
考虑线性系统
[ABCD][xy]=[fg]. \begin{bmatrix} A & B \\ C & D \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}= \begin{bmatrix} f \\ g \end{bmatrix}.[ACBD][xy]=[fg].
若AAA可逆,可按如下步骤解:
- 由第一行得到
Ax+By=f⟹x=A−1(f−By). A x + B y = f \quad\Longrightarrow\quad x = A^{-1}(f - B y).Ax+By=f⟹x=A−1(f−By).
- 代入第二行:
CA−1(f−By)+Dy=g C A^{-1}(f - B y) + D y = gCA−1(f−By)+Dy=g
整理为关于yyy的线性方程:
(D−CA−1B)y=g−CA−1f, \big( D - C A^{-1} B \big) y = g - C A^{-1} f,(D−CA−1B)y=g−CA−1f,
即
SD∣Ay=g−CA−1f.(5) S_{D|A} y = g - C A^{-1} f. \tag{5}SD∣Ay=g−CA−1f.(5)
解出yyy(通过求解关于舒尔补的系统),然后回代得到xxx:
x=A−1(f−By). x = A^{-1}(f - B y).x=A−1(f−By).
该方法等价于对原系统先做一次块 Gaussian 消元,消去xxx,降低问题规模。
七、概率与统计中的解释:高斯分布的条件协方差与舒尔补
设随机向量[XY]\begin{bmatrix} X \\ Y \end{bmatrix}[XY]服从均值μ\muμ、协方差矩阵Σ\SigmaΣ的多元高斯分布,其中协方差按块分解为
Σ=[ΣXXΣXYΣYXΣYY]. \Sigma = \begin{bmatrix} \Sigma_{XX} & \Sigma_{XY} \\ \Sigma_{YX} & \Sigma_{YY} \end{bmatrix}.Σ=[ΣXXΣYXΣXYΣYY].
则给定Y=yY=yY=y时的条件协方差为
Cov(X∣Y)=ΣXX−ΣXYΣYY−1ΣYX, \mathrm{Cov}(X \mid Y) = \Sigma_{XX} - \Sigma_{XY} \Sigma_{YY}^{-1} \Sigma_{YX},Cov(X∣Y)=ΣXX−ΣXYΣYY−1ΣYX,
即恰为Σ\SigmaΣ相对于ΣYY\Sigma_{YY}ΣYY的舒尔补(或常写作ΣXX−ΣXYΣYY−1ΣYX\Sigma_{XX} - \Sigma_{XY}\Sigma_{YY}^{-1}\Sigma_{YX}ΣXX−ΣXYΣYY−1ΣYX)。这解释了为什么舒尔补在统计学中等价于“消除变量得到的条件/边缘协方差”。
另外,精度矩阵(inverse covariance,信息矩阵)分块的条件也可用舒尔补表述,且在图模型(Gaussian Markov random fields)中非常常见。
八、半正定规划(SDP)与 Schur Complement Lemma
在凸优化,尤其是半正定规划中,舒尔补引理是将线性矩阵不等式(LMI)中“矩阵条件”与舒尔补正定性等价转化的基础工具。典型形式:
若A≻0A \succ 0A≻0,则约束
[ABB⊤D]⪰0 \begin{bmatrix} A & B \\ B^\top & D \end{bmatrix} \succeq 0[AB⊤BD]⪰0
等价于
A≻0且D−B⊤A−1B⪰0. A \succ 0 \quad\text{且}\quad D - B^\top A^{-1} B \succeq 0.A≻0且D−B⊤A−1B⪰0.
反之,若D≻0D \succ 0D≻0,可替换为另一个等价条件。这一引理常用于把约束转换为凸可处理形式,以及在求解 SDP 时构造乘子与 KKT 条件。
九、数值与实现层面的注意事项
数值稳定性
- 直接计算A−1A^{-1}A−1并构造SD∣A=D−CA−1BS_{D|A}=D-C A^{-1} BSD∣A=D−CA−1B通常不建议(显式求逆数值不稳定)。更稳健的做法是:对AAA做分解(如LULULU或 Cholesky 若AAASPD),利用分解求解与前乘:例如A−1BA^{-1} BA−1B可通过求解方程组AX=BA X = BAX=B获得,而不显式求A−1A^{-1}A−1。
稀疏性
- 在稀疏矩阵上,计算舒尔补可能导致所谓的填充(fill-in),即产生额外非零元素,增加计算成本。因而在稀疏直接解法中要慎用舒尔补或通过重排序减少填充。
块选择(哪一块作主块)
- 若AAA比DDD小且条件数较好,通常选择以AAA为主块消去,反之亦然。实际实现中常基于复杂度估计或稀疏图结构选择。
并行与分布式
- 舒尔补计算常用于域分解(domain decomposition)与分布式求解中(例如把全局问题拆成子问题,每个子问题形成局部 Schur 补然后合并)。
软件实现技巧
- 使用数值线性代数库(LAPACK/BLAS、Eigen、SuiteSparse 等)做分解与线性求解而非直接求逆。
- 记录并重用已分解的因子(如果AAA在多次消元中重复使用)。
十、典型应用场景
- 求解带约束的线性系统(块高斯消元):如求解 PDE 的离散化、耦合系统、维度分离问题。
- 矩阵反演(块反演):快速得到部分逆块(例如得到M−1∗22M^{-1}*{22}M−1∗22即S∗D∣A−1S*{D|A}^{-1}S∗D∣A−1)。
- 概率/统计:多元高斯条件分布与边缘化(如卡尔曼滤波、图优化中的信息过滤/边缘化)。
- 控制与估计:线性二次型、Riccati 方程中常见的分块更新。
- 半正定规划(SDP)与凸优化:用于转换 LMI、建立 KKT 条件。
- 数值预处理 / Schur 预条件器:用于 Krylov 空间方法(如 GMRES)的预条件化。
- 分布式/并行求解:域分解法、子结构合并(每个子问题生成局部舒尔补,合并求解全局系统)。
十一、具体数值示例
考虑简单数值例子(用于验证公式 (1)):
令
A=[2003],B=[10],C=[01],D=[4]. A = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix},\quad B = \begin{bmatrix} 1 \\ 0 \end{bmatrix},\quad C = \begin{bmatrix} 0 & 1 \end{bmatrix},\quad D = \begin{bmatrix} 4 \end{bmatrix}.A=[2003],B=[10],C=[01],D=[4].
计算:
- A−1=[1/2001/3]A^{-1} = \begin{bmatrix} 1/2 & 0 \\ 0 & 1/3 \end{bmatrix}A−1=[1/2001/3],
- 再算C(A−1B)C(A^{-1}B)C(A−1B):
C(A−1B)=[01][120]=0⋅12+1⋅0=0. C\big(A^{-1}B\big)= \begin{bmatrix}0 & 1\end{bmatrix} \begin{bmatrix}\tfrac12\\0\end{bmatrix} =0\cdot\tfrac12 + 1\cdot 0 = 0.C(A−1B)=[01][210]=0⋅21+1⋅0=0. - 舒尔补SD∣A=D−CA−1B=4S_{D|A} = D - C A^{-1} B = 4SD∣A=D−CA−1B=4.
应用公式 (1) 可得M−1M^{-1}M−1的分块。读者可按需手工代数计算验证。
十二、小结
- 定义:舒尔补把“消去”一个主块得到的新的较小矩阵,用以归约问题。
- 块逆公式:在AAA可逆且舒尔补可逆时公式 (1) 给出M−1M^{-1}M−1的闭式解。
- 行列式:det(M)=det(A)det(SD∣A)\det(M)=\det(A)\det(S_{D|A})det(M)=det(A)det(SD∣A),非常有用。
- 正定性:对称情形下,M≻0 ⟺ A≻0M\succ0 \iff A\succ0M≻0⟺A≻0与SD∣A≻0S_{D|A}\succ0SD∣A≻0同时成立(或对DDD同理)。
- 应用广泛:线性方程、概率条件化、SDP、预条件器、并行/分布式算法等。
- 数值注意:优先用分解求解避免显式求逆,注意稀疏填充与稳定性。
十三、 参考文献与经典教材
- Horn & Johnson,Matrix Analysis
- Boyd & Vandenberghe,Convex Optimization, Appendix A
- Golub & Van Loan,Matrix Computations
- Kailath,Linear Estimation
- GTSAM 提示文档:Schur Complement 在 BA 中的使用
- Ceres Solver:Schur Complement小节
- Barfoot,State Estimation for Robotics— 信息矩阵边缘化推导