目的:研究一些公式的推导,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:=A−BD−1C
如果
A
A
A是可逆(invertible),则矩阵块的 Schur completement 被定义为:
M
/
A
:
=
D
−
C
A
−
1
B
M/A:=D-CA^{-1}B
M/A:=D−CA−1B
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]=[Ip0BD−1Iq] [A−BD−1C00D] [IpD−1C0Iq]
证明一:
如果想获取对角矩阵,先用高斯消元法,消去
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]=[A∗0BD]
获取的等式如下
C
+
D
X
=
0
=
>
X
=
−
D
−
1
C
C+DX=0=>X=-D^{-1}C
C+DX=0=>X=−D−1C
将 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][Ip−D−1C0Iq]=[A−BD−1C0BD]
现在用消元法去消除
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][A−BD−1C0BD]=[A−BD−1C00D]
获取的等式如下:
B
+
D
X
=
0
=
>
X
=
−
D
−
1
B
B+DX=0=>X=-D^{-1}B
B+DX=0=>X=−D−1B
将
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}
[Ip0−D−1BIq][A−BD−1C0BD]=[A−BD−1C00D]
总结两个公式可以得到:
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]=[Ip0BD−1Iq] [A−BD−1C00D] [IpD−1C0Iq]
证明二:
使用线性系统的代数来求得
[
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=Yq−D−1CXp
带入方式
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=(A−BD−1C)−1(Yp−BYq)
在将
X
p
X_p
Xp带入
X
q
=
Y
q
−
D
−
1
C
X
p
X_q=Y_q-D^{-1}CX_p
Xq=Yq−D−1CXp:
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=Yq−D−1C(A−BD−1C)−1(Yp−BYq)
在将上述转化为向量形式,在转化为矩阵。
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}
M−1=[ACBD]−1=([Ip0BD−1Iq] [A−BD−1C00D] [IpD−1C0Iq])−1=[Ip−D−1C0Iq] [(A−BD−1C)−100D−1] [Ip0−BD−1Iq] =[(A−BD−1C)−1−D−1C(A−BD−1C)−1−(A−BD−1C)−1BD−1D−1C(A−BD−1C)−1BD−1+D−1]=[(M/D)−1−D−1C(M/D)−1−(M/D)−1BD−1D−1+D−1C(M/D)−1BD−1]
从公式得知,在求矩阵的逆的时候,可以通过先获取
(
M
/
D
)
(M/D)
(M/D),然后获取它的逆.