目录
1. 舒尔补的定义
设一个
(
p
+
q
)
×
(
p
+
q
)
(p+q)\times (p+q)
(p+q)×(p+q)维的矩阵
M
M
M被分成4个部分:
M
=
[
A
B
C
D
]
M= \left[ \begin{matrix} A & B \\ C & D \end{matrix} \right]
M=[ACBD]
其中
A
A
A是
p
×
p
p\times p
p×p矩阵,
D
D
D是
q
×
q
q\times q
q×q矩阵,
B
B
B和
C
C
C取适配的维数。
1)当
D
D
D可逆时,
D
D
D在
M
M
M中的舒尔补存在,且为:
A
−
B
D
−
1
C
A-BD^{-1}C
A−BD−1C
2)当
A
A
A可逆时,
A
A
A在
M
M
M中的舒尔补存在,且为:
D
−
C
A
−
1
B
D-CA^{-1}B
D−CA−1B
2. 为什么是这个形式
虽然看起来很莫名,但舒尔补其实是对
M
M
M进行初等变换之后,得到的矩阵里的一个分块。例如,下面的这个转换矩阵
L
=
[
I
p
0
−
D
−
1
C
D
−
1
]
L= \left[ \begin{matrix} I_p & 0 \\ -D^{-1}C & D^{-1} \end{matrix} \right]
L=[Ip−D−1C0D−1]
可以把
M
M
M变成
M
L
=
[
A
B
C
D
]
[
I
p
0
−
D
−
1
C
D
−
1
]
=
[
A
−
B
D
−
1
C
B
D
−
1
0
I
q
]
ML= \left[ \begin{matrix} A & B \\ C & D \end{matrix} \right] \left[ \begin{matrix} I_p & 0 \\ -D^{-1}C & D^{-1} \end{matrix} \right]= \left[ \begin{matrix} A-BD^{-1}C & BD^{-1} \\ 0 & I_q \end{matrix} \right]
ML=[ACBD][Ip−D−1C0D−1]=[A−BD−1C0BD−1Iq]
这个
M
L
ML
ML左上角的分块就是
D
D
D的舒尔补了。
对
A
A
A来说,也有类似的变换。
3. 舒尔补有什么用
3.1 它可以用来判断矩阵 M M M的可逆性
如果已知
M
M
M(那么
A
,
B
,
C
,
D
A, B, C, D
A,B,C,D都是已知的)并且
A
A
A可逆,那么
A
−
1
A^{-1}
A−1存在,可以对
M
M
M进行下面的行列变换:
[
I
0
−
C
A
−
1
I
]
[
A
B
C
D
]
[
I
−
A
−
1
B
0
I
]
=
[
A
0
0
D
−
C
A
−
1
B
]
\left[ \begin{matrix} I & 0 \\ -CA^{-1} & I \end{matrix} \right] \left[ \begin{matrix} A & B \\ C & D \end{matrix} \right] \left[ \begin{matrix} I & -A^{-1}B \\ 0 & I \end{matrix} \right]= \left[ \begin{matrix} A & 0 \\ 0 & D-CA^{-1}B \end{matrix} \right]
[I−CA−10I][ACBD][I0−A−1BI]=[A00D−CA−1B]
由于
M
M
M左右乘的都是对角线为1的矩阵,因此对上式左右两边取行列式,可以得到:
∣
A
B
C
D
∣
=
∣
A
0
0
D
−
C
A
−
1
B
∣
=
∣
A
∣
⋅
∣
D
−
C
A
−
1
B
∣
\left| \begin{array}{cccc} A & B \\ C & D \end{array} \right|= \left| \begin{array}{cccc} A & 0 \\ 0 & D-CA^{-1}B \end{array} \right|= |A|\cdot|D-CA^{-1}B|
∣∣∣∣ACBD∣∣∣∣=∣∣∣∣A00D−CA−1B∣∣∣∣=∣A∣⋅∣D−CA−1B∣
由于已知
A
A
A可逆,上面的式子说明
M
M
M和
D
−
C
A
−
1
B
D-CA^{-1}B
D−CA−1B的可逆性是相同的。即:如果
D
−
C
A
−
1
B
D-CA^{-1}B
D−CA−1B可逆,那么可以判断
M
M
M是可逆的。
同理,如果
D
D
D可逆,那么
M
M
M和
A
−
B
D
−
1
C
A-BD^{-1}C
A−BD−1C的可逆性是相同的。即:如果
A
−
B
D
−
1
C
A-BD^{-1}C
A−BD−1C可逆,那么可以判断
M
M
M是可逆的。
3.2 M M M可逆时,它还能求出这个逆矩阵
根据3.1可以知道,如果
D
D
D可逆,那么
M
M
M和
A
−
B
D
−
1
C
A-BD^{-1}C
A−BD−1C的可逆性是相同的,具体地,
M
−
1
M^{-1}
M−1可以表示为:
[
A
B
C
D
]
−
1
=
[
I
0
−
D
−
1
C
D
−
1
]
[
(
A
−
B
D
−
1
C
)
−
1
0
0
I
]
[
I
−
B
D
−
1
0
I
]
=
[
(
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
+
D
−
1
C
(
A
−
B
D
−
1
C
)
−
1
B
D
−
1
]
\left[ \begin{matrix} A & B \\ C & D \end{matrix} \right]^{-1}= \left[ \begin{matrix} I & 0 \\ -D^{-1}C & D^{-1} \end{matrix} \right] \left[ \begin{matrix} (A-BD^{-1}C)^{-1} & 0 \\ 0 & I \end{matrix} \right] \left[ \begin{matrix} I & -BD^{-1} \\ 0 & I \end{matrix} \right]\\ =\left[ \begin{matrix} (A-BD^{-1}C)^{-1} & -(A-BD^{-1}C)^{-1}BD^{-1} \\ -D^{-1}C(A-BD^{-1}C)^{-1} & D^{-1}+D^{-1}C(A-BD^{-1}C)^{-1}BD^{-1} \end{matrix} \right]
[ACBD]−1=[I−D−1C0D−1][(A−BD−1C)−100I][I0−BD−1I]=[(A−BD−1C)−1−D−1C(A−BD−1C)−1−(A−BD−1C)−1BD−1D−1+D−1C(A−BD−1C)−1BD−1]
取一个特殊情况,例如
p
=
q
=
1
p=q=1
p=q=1时,可以得到
M
−
1
=
1
A
D
−
B
C
[
D
−
B
−
C
A
]
M^{-1}=\frac{1}{AD-BC} \left[ \begin{matrix} D & -B \\ -C & A \end{matrix} \right]
M−1=AD−BC1[D−C−BA]
这就是二阶矩阵的逆矩阵,与我们用伴随矩阵求出来的形式是相符的。
3.3 在求解矩阵方程组时,可以用来降低计算复杂度
如果我们要求解由两个矩阵方程组成的矩阵方程组,例如:
A
x
+
B
y
=
a
(
1
)
C
x
+
D
y
=
b
(
2
)
Ax+By=a(1)\\ Cx+Dy=b(2)
Ax+By=a(1)Cx+Dy=b(2)
我们可以对两个方程增广来求解,即求解
[
A
B
C
D
]
[
x
y
]
=
[
a
b
]
\left[ \begin{matrix} A & B \\ C & D \end{matrix} \right] \left[ \begin{matrix} x \\ y \end{matrix} \right]= \left[ \begin{matrix} a \\ b \end{matrix} \right]
[ACBD][xy]=[ab]
但增广后的阶数就增大了,计算复杂度更大。
利用舒尔补,如果
D
D
D可逆,那么对式(2)左乘
B
D
−
1
BD^{-1}
BD−1就可以得到:
B
D
−
1
C
x
+
B
y
=
B
D
−
1
b
(
3
)
BD^{-1}Cx+By=BD^{-1}b(3)
BD−1Cx+By=BD−1b(3)
由(1)-(3)得:
(
A
−
B
D
−
1
C
)
x
=
a
−
B
D
−
1
b
(A-BD^{-1}C)x=a-BD^{-1}b
(A−BD−1C)x=a−BD−1b
因此可以解出
x
=
(
A
−
B
D
−
1
C
)
−
1
(
a
−
B
D
−
1
b
)
x=(A-BD^{-1}C)^{-1}(a-BD^{-1}b)
x=(A−BD−1C)−1(a−BD−1b)
代入(2)可以进一步解出
y
y
y。由于
x
x
x和
y
y
y的表达式的阶数都和原来单个方程的阶数相等,因此复杂度比第一种方法低。
参考资料
[1] 舒尔补/schur补
[2] 俞立.鲁棒控制-线性矩阵不等式处理方法[M].北京:清华大学出版社, 2002.
[3] 关于矩阵的Schur补