矩阵的舒尔补(Schur complement)

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 ABD1C
2)当 A A A可逆时, A A A M M M中的舒尔补存在,且为:
D − C A − 1 B D-CA^{-1}B DCA1B

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=[IpD1C0D1]
可以把 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][IpD1C0D1]=[ABD1C0BD1Iq]
这个 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} A1存在,可以对 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] [ICA10I][ACBD][I0A1BI]=[A00DCA1B]
由于 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=A00DCA1B=ADCA1B
由于已知 A A A可逆,上面的式子说明 M M M D − C A − 1 B D-CA^{-1}B DCA1B的可逆性是相同的。即:如果 D − C A − 1 B D-CA^{-1}B DCA1B可逆,那么可以判断 M M M是可逆的。
同理,如果 D D D可逆,那么 M M M A − B D − 1 C A-BD^{-1}C ABD1C的可逆性是相同的。即:如果 A − B D − 1 C A-BD^{-1}C ABD1C可逆,那么可以判断 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 ABD1C的可逆性是相同的,具体地, M − 1 M^{-1} M1可以表示为:
[ 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=[ID1C0D1][(ABD1C)100I][I0BD1I]=[(ABD1C)1D1C(ABD1C)1(ABD1C)1BD1D1+D1C(ABD1C)1BD1]
取一个特殊情况,例如 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] M1=ADBC1[DCBA]
这就是二阶矩阵的逆矩阵,与我们用伴随矩阵求出来的形式是相符的。

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} BD1就可以得到:
B D − 1 C x + B y = B D − 1 b ( 3 ) BD^{-1}Cx+By=BD^{-1}b(3) BD1Cx+By=BD1b(3)
由(1)-(3)得:
( A − B D − 1 C ) x = a − B D − 1 b (A-BD^{-1}C)x=a-BD^{-1}b (ABD1C)x=aBD1b
因此可以解出
x = ( A − B D − 1 C ) − 1 ( a − B D − 1 b ) x=(A-BD^{-1}C)^{-1}(a-BD^{-1}b) x=(ABD1C)1(aBD1b)
代入(2)可以进一步解出 y y y。由于 x x x y y y的表达式的阶数都和原来单个方程的阶数相等,因此复杂度比第一种方法低。

参考资料

[1] 舒尔补/schur补
[2] 俞立.鲁棒控制-线性矩阵不等式处理方法[M].北京:清华大学出版社, 2002.
[3] 关于矩阵的Schur补

  • 58
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百把人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值