news 2025/12/14 8:29:32

舒尔补(Schur Complement)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
舒尔补(Schur Complement)

一、背景与动机(为什么要用舒尔补)

在处理分块矩阵(block matrix)时,经常需要“消去”某个分块,从而把问题降为对较小矩阵的运算。舒尔补提供了把一个2×22\times22×2分块矩阵的逆、行列式、正定性等性质归结到其一个分块及其所谓“补矩阵”的工具。它在线性代数、数值求解(高效求解线性方程)、统计(高斯条件分布与边缘化)、优化(半正定规划)、图模型与控制中被广泛使用。


二、定义

设矩阵分块如下(矩阵元域为实数或复数):

M=[ABCD], M = \begin{bmatrix} A & B \\ C & D \end{bmatrix},M=[ACBD],

其中AAAn×nn\times nn×n方块,DDDm×mm\times mm×m方块,BBBn×mn\times mn×mCCCm×nm\times nm×n

  • AAA可逆,则称
    SD∣A:=D−CA−1B S_{D|A} := D - C A^{-1} BSDA:=DCA1B
    为以AAA为主块的舒尔补(Schur complement),也常记作M/AM/AM/AD−CA−1BD - C A^{-1} BDCA1B

  • DDD可逆,则称
    SA∣D:=A−BD−1C S_{A|D} := A - B D^{-1} CSAD:=ABD1C
    为以DDD为主块的舒尔补,常记作M/DM/DM/DA−BD−1CA - B D^{-1} CABD1C

注:上下标或竖线表示“消去”哪个主块,例如SD∣AS_{D|A}SDA表示“相对于AAADDD的舒尔补”。


三、块矩阵求逆(Schur 补的基本恒等式)

AAA可逆且舒尔补SD∣AS_{D|A}SDA也可逆,则分块逆的公式为:

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}M1=[ACBD]1[A1+A1BSDA1CA1SDA1CA1A1BSDA1SDA1].(1)

相对对称地,若DDD可逆且SA∣DS_{A|D}SAD可逆,也有:

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}M1=[SAD1D1CSAD1SAD1BD1D1+D1CSAD1BD1].(2)

推导(基于分块乘法与代数消去)

从定义MM−1=IM M^{-1} = IMM1=I,设

M−1=[XYZW], M^{-1} = \begin{bmatrix} X & Y \\ Z & W \end{bmatrix},M1=[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=CXZ=D1CX(若D可逆),

但更直接的消去法:从第一式解XXX(以ZZZ表示)并将XXX代入第三式,可以得到关于ZZZ的方程。更标准的做法是如下:

  • 从第三式解出ZZZZ=−D−1CXZ = -D^{-1} C XZ=D1CX需要D−1D^{-1}D1,不方便。取另一条路径:

从第一式写出

AX=I−BZ⟹X=A−1−A−1BZ. AX = I - BZ \quad\Longrightarrow\quad X = A^{-1} - A^{-1} B Z.AX=IBZX=A1A1BZ.

代入第三式:

C(A−1−A−1BZ)+DZ=0 C(A^{-1} - A^{-1} B Z) + D Z = 0C(A1A1BZ)+DZ=0

整理得

(D−CA−1B)Z=−CA−1. \big( D - C A^{-1} B \big) Z = - C A^{-1}.(DCA1B)Z=CA1.

SD∣A=D−CA−1BS_{D|A} = D - C A^{-1} BSDA=DCA1B可逆,则

Z=−SD∣A−1CA−1. Z = - S_{D|A}^{-1} C A^{-1}.Z=SDA1CA1.

再代回得到

X=A−1+A−1BSD∣A−1CA−1, X = A^{-1} + A^{-1} B S_{D|A}^{-1} C A^{-1},X=A1+A1BSDA1CA1,

类似地可推导YYYWWW,从而得到公式 (1)。上述步骤严格且直接体现了舒尔补的概念:在“消去”AAA之后,剩下的等价线性系统涉及的矩阵正是SD∣AS_{D|A}SDA


四、行列式与舒尔补的恒等式

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(DCA1B)=det(A)det(SDA).(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(ABD1C)=det(D)det(SAD).(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]=[ICA10I][A0BSDA],

两边取行列式,利用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}.L1=[ICA10I].
注意L−1L^{-1}L1是可逆的,下三角且对角为单位元,其逆恰为
L=(L−1)−1=[I0CA−1I]. L = (L^{-1})^{-1} = \begin{bmatrix} I & 0 \\ C A^{-1} & I \end{bmatrix}.L=(L1)1=[ICA10I].

现在左乘L−1L^{-1}L1消去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}.L1M=[ICA10I][ACBD]=[ACA1A+CBCA1B+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.L1M=[A0BDCA1B]=[A0BSDA]=U.
于是重排可得所需分解
M=LU. M = L U.M=LU.

这一过程即为对第一列块做一次块 Gaussian 消元:用第 1 块行消去第 2 块行的左下块,从而得到上三角块矩阵UUU,同时左侧的消元矩阵的逆即为LLL


对存在性与可逆性的说明

  • 该构造要求AAA可逆(以便定义A−1A^{-1}A1)。若AAA不可逆但DDD可逆,可采用对称方法先以DDD为主块消去,获得另一种LULULU分解(交换角色)。
  • AAASD∣AS_{D|A}SDA都可逆,则LLLUUU都可逆,从而MMM可逆;且可据此得到M−1=U−1L−1M^{-1}=U^{-1} L^{-1}M1=U1L1,并由上节的直接推导推得分块逆公式。

推论:行列式因子化(简单而重要的结果)

由分解M=LUM = L UM=LULLL为单位下三角块矩阵(对角块均为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)=1det(U).
而上三角块矩阵UUU的行列式等于对角块行列式的乘积:
det⁡(U)=det⁡(A)det⁡(SD∣A). \det(U) = \det(A)\det\big(S_{D|A}\big).det(U)=det(A)det(SDA).
于是得出常用恒等式
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(DCA1B).


五、正定性(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=[ABBD],

其中AAADDD对称。则以下等价关系成立(假设AAA可逆):

  • M≻0M \succ 0M0(即MMM正定)当且仅当A≻0A \succ 0A0SD∣A=D−B⊤A−1B≻0S_{D|A} = D - B^\top A^{-1} B \succ 0SDA=DBA1B0

对称地(假设DDD可逆):

  • M≻0M \succ 0M0当且仅当D≻0D \succ 0D0SA∣D=A−BD−1B⊤≻0S_{A|D} = A - B D^{-1} B^\top \succ 0SAD=ABD1B0

证明要点(用二次型)

对任意向量(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.[xy][ABBD][xy]=xAx+2xBy+yDy.

x′=x+A−1Byx' = x + A^{-1} B yx=x+A1By,化简可得:

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.xAx+2xBy+yDy=xAx+y(DBA1B)y.

因此若A≻0A \succ 0A0, positivity of the whole quadratic form for all(x,y)(x,y)(x,y)is equivalent toSD∣A≻0S_{D|A} \succ 0SDA0.


六、舒尔补在求解线性系统中的作用(消去与分块求解)

考虑线性系统

[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可逆,可按如下步骤解:

  1. 由第一行得到

Ax+By=f⟹x=A−1(f−By). A x + B y = f \quad\Longrightarrow\quad x = A^{-1}(f - B y).Ax+By=fx=A1(fBy).

  1. 代入第二行:

CA−1(f−By)+Dy=g C A^{-1}(f - B y) + D y = gCA1(fBy)+Dy=g

整理为关于yyy的线性方程:

(D−CA−1B)y=g−CA−1f, \big( D - C A^{-1} B \big) y = g - C A^{-1} f,(DCA1B)y=gCA1f,

SD∣Ay=g−CA−1f.(5) S_{D|A} y = g - C A^{-1} f. \tag{5}SDAy=gCA1f.(5)

解出yyy(通过求解关于舒尔补的系统),然后回代得到xxx

x=A−1(f−By). x = A^{-1}(f - B y).x=A1(fBy).

该方法等价于对原系统先做一次块 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(XY)=ΣXXΣXYΣYY1ΣYX,

即恰为Σ\SigmaΣ相对于ΣYY\Sigma_{YY}ΣYY的舒尔补(或常写作ΣXX−ΣXYΣYY−1ΣYX\Sigma_{XX} - \Sigma_{XY}\Sigma_{YY}^{-1}\Sigma_{YX}ΣXXΣXYΣYY1ΣYX)。这解释了为什么舒尔补在统计学中等价于“消除变量得到的条件/边缘协方差”。

另外,精度矩阵(inverse covariance,信息矩阵)分块的条件也可用舒尔补表述,且在图模型(Gaussian Markov random fields)中非常常见。


八、半正定规划(SDP)与 Schur Complement Lemma

在凸优化,尤其是半正定规划中,舒尔补引理是将线性矩阵不等式(LMI)中“矩阵条件”与舒尔补正定性等价转化的基础工具。典型形式:

A≻0A \succ 0A0,则约束

[ABB⊤D]⪰0 \begin{bmatrix} A & B \\ B^\top & D \end{bmatrix} \succeq 0[ABBD]0

等价于

A≻0且D−B⊤A−1B⪰0. A \succ 0 \quad\text{且}\quad D - B^\top A^{-1} B \succeq 0.A0DBA1B0.

反之,若D≻0D \succ 0D0,可替换为另一个等价条件。这一引理常用于把约束转换为凸可处理形式,以及在求解 SDP 时构造乘子与 KKT 条件。


九、数值与实现层面的注意事项

  1. 数值稳定性

    • 直接计算A−1A^{-1}A1并构造SD∣A=D−CA−1BS_{D|A}=D-C A^{-1} BSDA=DCA1B通常不建议(显式求逆数值不稳定)。更稳健的做法是:对AAA做分解(如LULULU或 Cholesky 若AAASPD),利用分解求解与前乘:例如A−1BA^{-1} BA1B可通过求解方程组AX=BA X = BAX=B获得,而不显式求A−1A^{-1}A1
  2. 稀疏性

    • 在稀疏矩阵上,计算舒尔补可能导致所谓的填充(fill-in),即产生额外非零元素,增加计算成本。因而在稀疏直接解法中要慎用舒尔补或通过重排序减少填充。
  3. 块选择(哪一块作主块)

    • AAADDD小且条件数较好,通常选择以AAA为主块消去,反之亦然。实际实现中常基于复杂度估计或稀疏图结构选择。
  4. 并行与分布式

    • 舒尔补计算常用于域分解(domain decomposition)与分布式求解中(例如把全局问题拆成子问题,每个子问题形成局部 Schur 补然后合并)。
  5. 软件实现技巧

    • 使用数值线性代数库(LAPACK/BLAS、Eigen、SuiteSparse 等)做分解与线性求解而非直接求逆。
    • 记录并重用已分解的因子(如果AAA在多次消元中重复使用)。

十、典型应用场景

  1. 求解带约束的线性系统(块高斯消元):如求解 PDE 的离散化、耦合系统、维度分离问题。
  2. 矩阵反演(块反演):快速得到部分逆块(例如得到M−1∗22M^{-1}*{22}M122S∗D∣A−1S*{D|A}^{-1}SDA1)。
  3. 概率/统计:多元高斯条件分布与边缘化(如卡尔曼滤波、图优化中的信息过滤/边缘化)。
  4. 控制与估计:线性二次型、Riccati 方程中常见的分块更新。
  5. 半正定规划(SDP)与凸优化:用于转换 LMI、建立 KKT 条件。
  6. 数值预处理 / Schur 预条件器:用于 Krylov 空间方法(如 GMRES)的预条件化。
  7. 分布式/并行求解:域分解法、子结构合并(每个子问题生成局部舒尔补,合并求解全局系统)。

十一、具体数值示例

考虑简单数值例子(用于验证公式 (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}A1=[1/2001/3],
  • 再算C(A−1B)C(A^{-1}B)C(A1B)
    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(A1B)=[01][210]=021+10=0.
  • 舒尔补SD∣A=D−CA−1B=4S_{D|A} = D - C A^{-1} B = 4SDA=DCA1B=4.

应用公式 (1) 可得M−1M^{-1}M1的分块。读者可按需手工代数计算验证。


十二、小结

  • 定义:舒尔补把“消去”一个主块得到的新的较小矩阵,用以归约问题。
  • 块逆公式:在AAA可逆且舒尔补可逆时公式 (1) 给出M−1M^{-1}M1的闭式解。
  • 行列式det⁡(M)=det⁡(A)det⁡(SD∣A)\det(M)=\det(A)\det(S_{D|A})det(M)=det(A)det(SDA),非常有用。
  • 正定性:对称情形下,M≻0 ⟺ A≻0M\succ0 \iff A\succ0M0A0SD∣A≻0S_{D|A}\succ0SDA0同时成立(或对DDD同理)。
  • 应用广泛:线性方程、概率条件化、SDP、预条件器、并行/分布式算法等。
  • 数值注意:优先用分解求解避免显式求逆,注意稀疏填充与稳定性。

十三、 参考文献与经典教材

  1. Horn & Johnson,Matrix Analysis
  2. Boyd & Vandenberghe,Convex Optimization, Appendix A
  3. Golub & Van Loan,Matrix Computations
  4. Kailath,Linear Estimation
  5. GTSAM 提示文档:Schur Complement 在 BA 中的使用
  6. Ceres Solver:Schur Complement小节
  7. Barfoot,State Estimation for Robotics— 信息矩阵边缘化推导

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/11 21:44:22

基于Hadoop的游戏在线时长大数据分析系统毕业设计项目源码

题目简介基于 Hadoop 的游戏在线时长大数据分析系统,直击游戏行业 “在线时长数据零散、用户粘性难洞察、运营策略缺乏数据支撑” 的核心痛点,依托 Hadoop 分布式架构(HDFSSparkHive)的海量时序数据处理能力,融合机器学…

作者头像 李华
网站建设 2025/12/11 21:42:22

WiFi 定位的基本原理与技术

WiFi 定位,也被称为 WLAN 定位或 WIPS(Wireless Indoor Positioning System),是一种利用现有 WiFi 基础设施(如路由器、热点)来确定设备地理位置的技术。它主要应用于 室内环境,因为 GPS 信号在…

作者头像 李华
网站建设 2025/12/11 21:41:53

测试自动化框架设计与最佳实践:构建高效测试体系的路径

在当今快速迭代的软件开发环境中,测试自动化已成为保障软件质量、提升发布效率的核心手段。测试自动化框架作为自动化测试的支柱,其设计质量直接影响测试脚本的维护性、可扩展性和执行效率。据统计,超过60%的测试失败案例源于框架设计不合理或…

作者头像 李华
网站建设 2025/12/11 21:39:03

【高并发场景下的秘密武器】:ASP.NET Core 9 WebSocket压缩协议实战落地

第一章:ASP.NET Core 9 WebSocket压缩协议概述在现代实时Web应用开发中,WebSocket已成为实现双向通信的核心技术。随着数据交互频率的提升,网络传输效率成为性能优化的关键点之一。ASP.NET Core 9 引入了对 WebSocket 压缩协议的原生支持&…

作者头像 李华
网站建设 2025/12/11 21:38:57

RAG实践指南:一文搞定大模型RAG过程

RAG是什么? RAG(Retrieval-Augmented Generation,检索增强生成), 一种AI框架,将传统的信息检索系统(例如数据库)的优势与生成式大语言模型(LLM)的功能结合在一起。不再依赖LLM训练时的固有知识,而是在回答问…

作者头像 李华