分块矩阵求逆
分块矩阵求逆法,把大型矩阵变成小型矩阵,可以提高计算效率。
1、准对角矩阵
A
=
[
A
11
O
O
A
22
]
A= \left[ \begin{matrix} A_{11} & \mathbf{O} \\ \mathbf{O} & A_{22} \\ \end{matrix} \right]
A=[A11OOA22] 的逆,可以待定系数法求,设逆矩阵为
A
−
1
=
[
X
Y
Z
W
]
A^{-1}= \left[ \begin{matrix} X & Y \\ Z & W \\ \end{matrix} \right]
A−1=[XZYW] ,则
[
X
Y
Z
W
]
[
A
11
O
O
A
22
]
=
[
E
n
O
O
E
m
]
\left[ \begin{matrix} X & Y \\ Z & W \\ \end{matrix} \right] \left[ \begin{matrix} A_{11} & \mathbf{O} \\ \mathbf{O} & A_{22} \\ \end{matrix} \right]= \left[ \begin{matrix} E_n & \mathbf{O} \\ \mathbf{O} & E_m \\ \end{matrix} \right]
[XZYW][A11OOA22]=[EnOOEm]
计算
[ X Y Z W ] [ A 11 O O A 22 ] = [ X A 11 Y A 22 Z A 11 W A 22 ] = [ E n O O E m ] \left[ \begin{matrix} X & Y \\ Z & W \\ \end{matrix} \right] \left[ \begin{matrix} A_{11} & \mathbf{O} \\ \mathbf{O} & A_{22} \\ \end{matrix} \right]= \left[ \begin{matrix} XA_{11} & YA_{22} \\ ZA_{11} & WA_{22} \\ \end{matrix} \right]= \left[ \begin{matrix} E_n & \mathbf{O} \\ \mathbf{O} & E_m \\ \end{matrix} \right] [XZYW][A11OOA22]=[XA11ZA11YA22WA22]=[EnOOEm]
令对应元素相等,得
X A 11 = E n Y A 22 = O Z A 11 = O W A 22 = E m XA_{11} = E_n \quad YA_{22} = \mathbf{O} \\ ZA_{11} = \mathbf{O} \quad WA_{22} = E_m XA11=EnYA22=OZA11=OWA22=Em
由于矩阵 A 11 , A 22 A_{11} , A_{22} A11,A22 ,可得 X = A 11 − 1 , Y = O , Z = O , W = A 22 − 1 X=A^{-1}_{11},Y=\mathbf{O},Z=\mathbf{O},W=A^{-1}_{22} X=A11−1,Y=O,Z=O,W=A22−1 ,所以 A − 1 = [ A 11 − 1 O O A 22 − 1 ] A^{-1}= \left[ \begin{matrix} A^{-1}_{11} & \mathbf{O} \\ \mathbf{O} & A^{-1}_{22} \\ \end{matrix} \right] A−1=[A11−1OOA22−1] 。
2、准下角矩阵
A
=
[
A
11
O
A
21
A
22
]
A= \left[ \begin{matrix} A_{11} & \mathbf{O} \\ A_{21} & A_{22} \\ \end{matrix} \right]
A=[A11A21OA22] 的逆,可以待定系数法求,设逆矩阵为
A
−
1
=
[
X
Y
Z
W
]
A^{-1}= \left[ \begin{matrix} X & Y \\ Z & W \\ \end{matrix} \right]
A−1=[XZYW] ,则
[
X
Y
Z
W
]
[
A
11
O
A
21
A
22
]
=
[
E
n
0
0
E
m
]
\left[ \begin{matrix} X & Y \\ Z & W \\ \end{matrix} \right] \left[ \begin{matrix} A_{11} & \mathbf{O} \\ A_{21} & A_{22} \\ \end{matrix} \right]= \left[ \begin{matrix} E_n & 0 \\ 0 & E_m \\ \end{matrix} \right]
[XZYW][A11A21OA22]=[En00Em]
计算
[ X Y Z W ] [ A 11 O A 21 A 22 ] = [ X A 11 + Y A 21 Y A 22 Z A 11 + W A 21 W A 22 ] = [ E n O O E m ] \left[ \begin{matrix} X & Y \\ Z & W \\ \end{matrix} \right] \left[ \begin{matrix} A_{11} & \mathbf{O} \\ A_{21} & A_{22} \\ \end{matrix} \right]= \left[ \begin{matrix} XA_{11}+YA_{21} & YA_{22} \\ ZA_{11}+WA_{21} & WA_{22} \\ \end{matrix} \right]= \left[ \begin{matrix} E_n & \mathbf{O} \\ \mathbf{O} & E_m \\ \end{matrix} \right] [XZYW][A11A21OA22]=[XA11+YA21ZA11+WA21YA22WA22]=[EnOOEm]
令对应元素相等,得
X A 11 + Y A 21 = E n Y A 22 = O Z A 11 + W A 21 = O W A 22 = E m XA_{11}+YA_{21} = E_n \quad YA_{22} = \mathbf{O} \\ ZA_{11}+WA_{21} = \mathbf{O} \quad WA_{22} = E_m XA11+YA21=EnYA22=OZA11+WA21=OWA22=Em
由于矩阵
A
11
,
A
22
A_{11} , A_{22}
A11,A22 ,可得
X
=
A
11
−
1
,
Y
=
O
,
Z
=
−
A
22
−
1
A
21
A
11
−
1
,
W
=
A
22
−
1
X=A^{-1}_{11},Y=\mathbf{O},Z=-A^{-1}_{22}A_{21}A^{-1}_{11},W=A^{-1}_{22}
X=A11−1,Y=O,Z=−A22−1A21A11−1,W=A22−1 ,所以 $A^{-1}=
\left[ \begin{matrix}
A^{-1}{11} & \mathbf{O} \
-A{-1}_{22}A_{21}A{-1}{11} & A^{-1}_{22} \
\end{matrix} \right] $ 。
3、准上角矩阵 A = [ A 11 A 12 O A 22 ] A= \left[ \begin{matrix} A_{11} & A_{12} \\ \mathbf{O} & A_{22} \\ \end{matrix} \right] A=[A11OA12A22] 的逆 A − 1 = [ A 11 − 1 − A 11 − 1 A 12 A 22 − 1 O A 22 − 1 ] A^{-1}= \left[ \begin{matrix} A^{-1}_{11} & -A^{-1}_{11}A_{12}A^{-1}_{22} \\ \mathbf{O} & A^{-1}_{22} \\ \end{matrix} \right] A−1=[A11−1O−A11−1A12A22−1A22−1] 。
上面三个例子显示,如果子矩阵是
O
\mathbf{O}
O 矩阵,逆矩阵对应的子矩阵也是
O
\mathbf{O}
O 矩阵,这些位置的元素不需要计算,直接是
0
0
0 ,在实际计算逆矩阵时,可以提高效率。
分块矩阵计算逆矩阵,如3阶准上角矩阵,
A
=
[
1
3
5
2
4
6
0
0
7
]
A= \left[ \begin{matrix} 1 & 3 & 5 \\ 2 & 4 & 6 \\ 0 & 0 & 7 \end{matrix} \right]
A=⎣⎡120340567⎦⎤ ,4个子矩阵分别为
A
11
=
[
1
3
2
4
]
,
A
12
=
[
5
6
]
,
A
21
=
[
0
0
]
,
A
22
=
[
7
]
A_{11} = \left[ \begin{matrix} 1 & 3 \\ 2 & 4 \\ \end{matrix} \right], A_{12} = \left[ \begin{matrix} 5 \\ 6 \\ \end{matrix} \right], A_{21} = \left[ \begin{matrix} 0 & 0 \end{matrix} \right], A_{22} = \left[ \begin{matrix} 7 \end{matrix} \right]
A11=[1234],A12=[56],A21=[00],A22=[7] 。根据2阶逆矩阵公式,得
A
11
−
1
=
[
4
−
3
−
2
1
]
/
(
−
2
)
A^{-1}_{11} = \left[ \begin{matrix} 4 & -3 \\ -2 & 1 \\ \end{matrix} \right] / (-2)
A11−1=[4−2−31]/(−2) ,
A
22
−
1
=
[
1
/
7
]
A^{-1}_{22} = \left[ \begin{matrix} 1/7 \end{matrix} \right]
A22−1=[1/7] ,
−
A
11
−
1
A
12
A
22
−
1
=
[
1
−
2
]
/
7
-A^{-1}_{11}A_{12}A^{-1}_{22}=\left[ \begin{matrix} 1 \\ -2 \\ \end{matrix} \right]/7
−A11−1A12A22−1=[1−2]/7 , 所以逆矩阵为
A
−
1
=
[
−
2
3
/
2
1
/
7
1
−
1
/
2
−
2
/
7
0
0
1
/
7
]
A^{-1}= \left[ \begin{matrix} -2 & 3/2 & 1/7 \\ 1 & -1/2 & -2/7 \\ 0 & 0 & 1/7 \end{matrix} \right]
A−1=⎣⎡−2103/2−1/201/7−2/71/7⎦⎤ 。 读者可以验证
A
A
−
1
=
E
,
A
−
1
A
=
E
AA^{-1}=E, A^{-1}A=E
AA−1=E,A−1A=E 。比直接计算3阶矩阵的逆要快很多。