Skip to main content

Schur Complement

· 3 min read
PuQing
AI, CVer, Pythoner, Half-stack Developer
info

在线性代数和矩阵论中,分块矩阵的舒尔补定义如下:

M=[Ap×pBp×qCq×pDq×q](p+q)×(p+q)M= \begin{bmatrix} A_{p\times p} & B_{p\times q} \\ C_{q\times p} & D_{q\times q} \end{bmatrix}_{(p+q)\times(p+q)}

如果 DD可逆的,则矩阵 MM 对于块 DD 的舒尔补 p×pp\times p 矩阵可以定义为

M/D:=ABD1C.M / D:=A-B D^{-1} C .

如果 AA可逆的,则矩阵 MM 对于块 AA 的舒尔补 q×qq\times q 矩阵可以定义为

M/A:=DCA1B.M / A:=D-C A^{-1} B .

Background

舒尔补是在对矩阵 MM 进行高斯消去时出现的。为了消除对角线一下的元素,将矩阵 MM 乘以一个初等变换矩阵,使得:

M=[ABCD][ABCD][Ip0D1CIq]=[ABD1CB0D]M=\begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix} \longrightarrow \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix} \begin{bmatrix} \mathbf{I}_{p} & \mathbf{0} \\ -\mathbf{D}^{-1}\mathbf{C} & \mathbf{I}_{q} \end{bmatrix}= \begin{bmatrix} \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} & \mathbf{B} \\ \mathbf{0} & \mathbf{D} \end{bmatrix}

这样舒尔补 M/D=ABD1CM/D=A-BD^{-1}C 就出现在了左上角,其形状为 p×pp\times p

接下来继续消除过程:

[ABD1CB0D][IpBD10Iq][ABD1CB0D]=[ABD1C00D]\begin{bmatrix} \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} & \mathbf{B} \\ \mathbf{0} & \mathbf{D} \end{bmatrix} \longrightarrow \begin{bmatrix} \mathbf{I}_{p} & -\mathbf{B}\mathbf{D}^{-1} \\ \mathbf{0} & \mathbf{I}_{q} \end{bmatrix} \begin{bmatrix} \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} & \mathbf{B} \\ \mathbf{0} & \mathbf{D} \end{bmatrix}= \begin{bmatrix} \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} & \mathbf{0} \\ \mathbf{0} & \mathbf{D} \end{bmatrix}

这样实际是对于矩阵 MM 的三角分解,可以视为:

M=[ABCD]=[IpBD10Iq][ABD1C00D][Ip0D1CIq]M=\begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix} = \begin{bmatrix} \mathbf{I}_{p} & \mathbf{B}\mathbf{D}^{-1} \\ \mathbf{0} & \mathbf{I}_{q} \end{bmatrix} \begin{bmatrix} \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} & \mathbf{0} \\ \mathbf{0} & \mathbf{D} \end{bmatrix} \begin{bmatrix} \mathbf{I}_{p} & \mathbf{0} \\ \mathbf{D}^{-1}\mathbf{C} & \mathbf{I}_{q} \end{bmatrix}

这样,对于 MM 的逆可以用 DD 的逆和舒尔补的逆来表达。

M1=[ABCD]1=([IpBD10Iq][ABD1C00D][Ip0D1CIq])1=[Ip0D1CIq][(ABD1C)100D1][IpBD10Iq]=[(ABD1C)1(ABD1C)1BD1D1C(ABD1C)1D1+D1C(ABD1C)1BD1]=[(M/D)1(M/D)1BD1D1C(M/D)1D1+D1C(M/D)1BD]\begin{split} M^{-1} = \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix}^{-1} &= \left( \begin{bmatrix} \mathbf{I}_{p} & \mathbf{B}\mathbf{D}^{-1} \\ \mathbf{0} & \mathbf{I}_{q} \end{bmatrix} \begin{bmatrix} \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} & \mathbf{0} \\ \mathbf{0} & \mathbf{D} \end{bmatrix} \begin{bmatrix} \mathbf{I}_{p} & \mathbf{0} \\ \mathbf{D}^{-1}\mathbf{C} & \mathbf{I}_{q} \end{bmatrix} \right) ^{-1}\\ &=\begin{bmatrix} \mathbf{I}_{p} & \mathbf{0} \\ -\mathbf{D}^{-1}\mathbf{C} & \mathbf{I}_{q} \end{bmatrix} \begin{bmatrix} \left( \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} \right) ^{-1} & \mathbf{0} \\ \mathbf{0} & \mathbf{D}^{-1} \end{bmatrix} \begin{bmatrix} \mathbf{I}_{p} & -\mathbf{B}\mathbf{D}^{-1} \\ \mathbf{0} & \mathbf{I}_{q} \end{bmatrix}\\ &=\begin{bmatrix} \left( \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} \right)^{-1} & -\left( \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} \right)^{-1} \mathbf{B}\mathbf{D}^{-1} \\ -\mathbf{D}^{-1}\mathbf{C}\left( \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} \right)^{-1} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{C}\left( \mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C} \right)^{-1}\mathbf{B}\mathbf{D}^{-1} \end{bmatrix}\\ &=\begin{bmatrix} \left( M/D \right)^{-1} & -\left( M/D \right)^{-1}\mathbf{B}\mathbf{D}^{-1} \\ -\mathbf{D}^{-1}\mathbf{C}\left( M/D \right)^{-1} & \mathbf{D}^{-1}+\mathbf{D}^{-1}\mathbf{C}\left( M/D \right)^{-1}\mathbf{B}\mathbf{D} \end{bmatrix} \end{split}

同样的,我们先左乘初等变化得到 M/AM/A 的表达式:

M=[ABCD][Ip0CA1Iq][ABCD]=[AB0DCA1B]M=\begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix} \longrightarrow \begin{bmatrix} \mathbf{I}_{p} & \mathbf{0} \\ -\mathbf{C}\mathbf{A}^{-1} & \mathbf{I}_{q} \end{bmatrix} \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{C} & \mathbf{D} \end{bmatrix} = \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{0} & \mathbf{D}-\mathbf{C}\mathbf{A}^{-1}\mathbf{B} \end{bmatrix}
info

于是 M/A=DCA1BM/A=\mathbf{D}-\mathbf{C}\mathbf{A}^{-1}\mathbf{B} 。同时为了书写方便,将 M/A,M/DM/A,M/D 记作 ΔA,ΔD\Delta_{A},\Delta_{D}

另外,用 M/AM/A 表达的逆为:

M1=[A1+A1B(M/A)1CA1A1B(M/A)1(M/D)1CA1(M/A)1]M^{-1}=\begin{bmatrix} \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(M/A)^{-1}\mathbf{C}\mathbf{A}^{-1} & -\mathbf{A}^{-1}\mathbf{B}(M/A)^{-1} \\ -(M/D)^{-1}\mathbf{C}\mathbf{A}^{-1} & (M/A)^{-1} \end{bmatrix}
tip

通过比较两种逆表达式可以得到 matrix inversion lemma

(M/D)1=A1+A1B(M/A)1CA1(M/D)^{-1} = \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(M/A)^{-1}\mathbf{C}\mathbf{A}^{-1}

完全形式为

(ABD1C)1=A1+A1B(DCA1B)1CA1(\mathbf{A}-\mathbf{B}\mathbf{D}^{-1}\mathbf{C})^{-1} = \mathbf{A}^{-1}+\mathbf{A}^{-1}\mathbf{B}(\mathbf{D}-\mathbf{C}\mathbf{A}^{-1}\mathbf{B})^{-1}\mathbf{C}\mathbf{A}^{-1}

相关资料