舒尔补(schur completement)

目的:研究一些公式的推导,schur 补公式在矩阵乘法中经常遇到,因此记下推导公式加深理解

舒尔补(schur completement)定义
在线性代数或者矩阵论中,Schur complement 写成矩阵块的形式,表示如下:
M = [ A B C D ] M = \begin{bmatrix} A&B\\C&D \end{bmatrix} M=[ACBD]
其中 A , B , C , D A, B, C, D A,B,C,D分别表示 p × p , p × q , q × p , q × q p × p, p × q, q × p, q × q p×p,p×q,q×p,q×q 维度的矩阵, p , q p,q p,q为两个非负整数。因此可以看到 M M M ( p + q ) × ( p + q ) (p+q) \times (p+q) (p+q)×(p+q)的方正。
如果 D D D是可逆(invertible),则矩阵块的 Schur completement 被定义为:
M / D : = A − B D − 1 C M/D:=A-BD^{-1}C M/D:=ABD1C
如果 A A A是可逆(invertible),则矩阵块的 Schur completement 被定义为:
M / A : = D − C A − 1 B M/A:=D-CA^{-1}B M/A:=DCA1B
A B C D ABCD ABCD: 它都是顺时针方向
作用
1)将 M M M 矩阵分别变成上三角或者下三角形。
M = [ A B C D ] = [ I p B D − 1 0 I q ]   [ A − B D − 1 C 0 0 D ]   [ I p 0 D − 1 C I q ] M=\begin{bmatrix} A&B\\C&D \end{bmatrix}=\begin{bmatrix} I_p&BD^{-1}\\0&I_q \end{bmatrix} \space \begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} \space \begin{bmatrix} I_p&0\\D^{-1}C&I_q \end{bmatrix} M=[ACBD]=[Ip0BD1Iq] [ABD1C00D] [IpD1C0Iq]

证明一:
如果想获取对角矩阵,先用高斯消元法,消去 C C C,使用公式得到(它是通过右乘,表示行消元,这样 B D BD BD不变)

[ A B C D ] [ I p 0 X I q ] = [ A ∗ B 0 D ] \begin{bmatrix} A&B\\C&D \end{bmatrix} \begin{bmatrix} I_p&0\\X&I_q \end{bmatrix}= \begin{bmatrix} A^*&B\\0&D \end{bmatrix} [ACBD][IpX0Iq]=[A0BD]

获取的等式如下
C + D X = 0 = > X = − D − 1 C C+DX=0=>X=-D^{-1}C C+DX=0=>X=D1C

X X X带入上面矩阵的式子 A ∗ = A + B X A^*=A+BX A=A+BX得到:

[ A B C D ] [ I p 0 − D − 1 C I q ] = [ A − B D − 1 C B 0 D ] \begin{bmatrix} A&B\\C&D \end{bmatrix} \begin{bmatrix} I_p&0\\-D^{-1}C&I_q \end{bmatrix}= \begin{bmatrix} A-BD^{-1}C&B\\0&D \end{bmatrix} [ACBD][IpD1C0Iq]=[ABD1C0BD]

现在用消元法去消除 B B B,使用行消元法。在公式中是左乘。
[ I p X 0 I q ] [ A − B D − 1 C B 0 D ] = [ A − B D − 1 C 0 0 D ] \begin{bmatrix} I_p&X\\0&I_q \end{bmatrix} \begin{bmatrix} A-BD^{-1}C&B\\0&D \end{bmatrix}=\begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} [Ip0XIq][ABD1C0BD]=[ABD1C00D]
获取的等式如下:
B + D X = 0 = > X = − D − 1 B B+DX=0=>X=-D^{-1}B B+DX=0=>X=D1B

X X X带入方程得到
[ I p − D − 1 B 0 I q ] [ A − B D − 1 C B 0 D ] = [ A − B D − 1 C 0 0 D ] \begin{bmatrix} I_p&-D^{-1}B\\0&I_q \end{bmatrix} \begin{bmatrix} A-BD^{-1}C&B\\0&D \end{bmatrix}=\begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} [Ip0D1BIq][ABD1C0BD]=[ABD1C00D]

总结两个公式可以得到:

M = [ A B C D ] = [ I p B D − 1 0 I q ]   [ A − B D − 1 C 0 0 D ]   [ I p 0 D − 1 C I q ] M=\begin{bmatrix} A&B\\C&D \end{bmatrix}=\begin{bmatrix} I_p&BD^{-1}\\0&I_q \end{bmatrix} \space \begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} \space \begin{bmatrix} I_p&0\\D^{-1}C&I_q \end{bmatrix} M=[ACBD]=[Ip0BD1Iq] [ABD1C00D] [IpD1C0Iq]

证明二:
使用线性系统的代数来求得
[ A B C D ] [ X p X q ] = [ Y p Y q ] \begin{bmatrix} A&B\\C&D \end{bmatrix}\begin{bmatrix} X_p\\X_q \end{bmatrix}=\begin{bmatrix} Y_p\\Y_q \end{bmatrix} [ACBD][XpXq]=[YpYq]

因为 [ Y p Y q ] = ( [ A B C D ] ) − 1 [ X p X q ] \begin{bmatrix} Y_p\\Y_q \end{bmatrix}=(\begin{bmatrix} A&B\\C&D \end{bmatrix})^{-1}\begin{bmatrix} X_p\\X_q \end{bmatrix} [YpYq]=([ACBD])1[XpXq]
因为 D D D可逆,得到下面公式
X q = Y q − D − 1 C X p X_q=Y_q-D^{-1}CX_p Xq=YqD1CXp
带入方式 A X p + B X q = Y p AX_p+BX_q=Y_p AXp+BXq=Yp得到 X p X_p Xp
X p = ( A − B D − 1 C ) − 1 ( Y p − B Y q ) X_p=(A-BD^{-1}C)^{-1}(Y_p-BY_q) Xp=(ABD1C)1(YpBYq)
在将 X p X_p Xp带入 X q = Y q − D − 1 C X p X_q=Y_q-D^{-1}CX_p Xq=YqD1CXp:
X q = Y q − D − 1 C ( A − B D − 1 C ) − 1 ( Y p − B Y q ) X_q=Y_q-D^{-1}C(A-BD^{-1}C)^{-1}(Y_p-BY_q) Xq=YqD1C(ABD1C)1(YpBYq)
在将上述转化为向量形式,在转化为矩阵。

2)快速求得矩阵 M M M的逆。
M − 1 = [ A B C D ] − 1 = ( [ I p B D − 1 0 I q ]   [ A − B D − 1 C 0 0 D ]   [ I p 0 D − 1 C I q ] ) − 1 = [ I p 0 − D − 1 C I q ]   [ ( A − B D − 1 C ) − 1 0 0 D − 1 ]   [ I p − B D − 1 0 I q ]   = [ ( A − B D − 1 C ) − 1 − ( A − B D − 1 C ) − 1 B D − 1 − D − 1 C ( A − B D − 1 C ) − 1 D − 1 C ( A − B D − 1 C ) − 1 B D − 1 + D − 1 ] = [ ( M / D ) − 1 − ( M / D ) − 1 B D − 1 − D − 1 C ( M / D ) − 1 D − 1 + D − 1 C ( M / D ) − 1 B D − 1 ] M^{-1} =\begin{bmatrix} A&B\\C&D \end{bmatrix} ^{-1}= (\begin{bmatrix} I_p&BD^{-1}\\0&I_q \end{bmatrix} \space \begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} \space \begin{bmatrix} I_p&0\\D^{-1}C&I_q \end{bmatrix})^{-1} \\ \\ \\ =\begin{bmatrix} I_p&0\\-D^{-1}C&I_q \end{bmatrix}\space \begin{bmatrix} (A-BD^{-1}C)^{-1}&0\\0&D^{-1} \end{bmatrix} \space \begin{bmatrix} I_p&-BD^{-1}\\0&I_q \end{bmatrix} \space \\ \\ \\ =\begin{bmatrix} (A-BD^{-1}C)^{-1}& -(A-BD^{-1}C)^{-1}BD^{-1}\\-D^{-1}C (A-BD^{-1}C)^{-1}&D^{-1}C(A-BD^{-1}C)^{-1}BD^{-1} + D^{-1} \end{bmatrix} \\ \\ \\ =\begin{bmatrix} (M/D)^{-1}&-(M/D)^{-1}BD^{-1}\\-D^{-1}C(M/D)^{-1}&D^{-1} + D^{-1}C(M/D)^{-1}BD^{-1} \end{bmatrix} M1=[ACBD]1=([Ip0BD1Iq] [ABD1C00D] [IpD1C0Iq])1=[IpD1C0Iq] [(ABD1C)100D1] [Ip0BD1Iq] =[(ABD1C)1D1C(ABD1C)1(ABD1C)1BD1D1C(ABD1C)1BD1+D1]=[(M/D)1D1C(M/D)1(M/D)1BD1D1+D1C(M/D)1BD1]
从公式得知,在求矩阵的逆的时候,可以通过先获取 ( M / D ) (M/D) (M/D),然后获取它的逆.

猜你喜欢

转载自blog.csdn.net/weixin_43851636/article/details/125395303