机器学习数学基础:15.分块矩阵
分块矩阵的概念
把矩阵
A
A
A用若干条纵线和横线分成许多小矩阵,每个小矩阵称为
A
A
A的子块,形式上以子块为元素的矩阵称为分块矩阵。例如:
A
=
(
a
1
0
0
0
a
0
0
1
0
b
1
0
1
1
b
)
A\ =\begin{pmatrix}a&1&0&0\\0&a&0&0\\1&0&b&1\\0&1&1&b\end{pmatrix}
A =
a0101a0100b1001b
,可分块为
A
=
(
A
1
O
E
B
)
A\ =\begin{pmatrix}A_1&O\\E&B\end{pmatrix}
A =(A1EOB),其中
A
1
=
(
a
1
0
a
)
A_1\ =\begin{pmatrix}a&1\\0&a\end{pmatrix}
A1 =(a01a),
O
=
(
0
0
0
0
)
O\ =\begin{pmatrix}0&0\\0&0\end{pmatrix}
O =(0000),
E
=
(
1
0
0
1
)
E\ =\begin{pmatrix}1&0\\0&1\end{pmatrix}
E =(1001),
B
=
(
b
1
1
b
)
B\ =\begin{pmatrix}b&1\\1&b\end{pmatrix}
B =(b11b)。
分块矩阵的运算规则
- 加法:设矩阵 A A A与 B B B行数相同、列数相同,采用相同分块法, A = ( A 11 ⋯ A 1 r ⋮ ⋱ ⋮ A s 1 ⋯ A s r ) A\ =\begin{pmatrix}A_{11}&\cdots&A_{1r}\\\vdots&\ddots&\vdots\\A_{s1}&\cdots&A_{sr}\end{pmatrix} A = A11⋮As1⋯⋱⋯A1r⋮Asr , B = ( B 11 ⋯ B 1 r ⋮ ⋱ ⋮ B s 1 ⋯ B s r ) B\ =\begin{pmatrix}B_{11}&\cdots&B_{1r}\\\vdots&\ddots&\vdots\\B_{s1}&\cdots&B_{sr}\end{pmatrix} B = B11⋮Bs1⋯⋱⋯B1r⋮Bsr ,其中 A i j A_{ij} Aij与 B i j B_{ij} Bij行数相同、列数相同,则 A + B = ( A 11 + B 11 ⋯ A 1 r + B 1 r ⋮ ⋱ ⋮ A s 1 + B s 1 ⋯ A s r + B s r ) A + B\ =\begin{pmatrix}A_{11}+B_{11}&\cdots&A_{1r}+B_{1r}\\\vdots&\ddots&\vdots\\A_{s1}+B_{s1}&\cdots&A_{sr}+B_{sr}\end{pmatrix} A+B = A11+B11⋮As1+Bs1⋯⋱⋯A1r+B1r⋮Asr+Bsr 。
- 数乘:设 A = ( A 11 ⋯ A 1 r ⋮ ⋱ ⋮ A s 1 ⋯ A s r ) A\ =\begin{pmatrix}A_{11}&\cdots&A_{1r}\\\vdots&\ddots&\vdots\\A_{s1}&\cdots&A_{sr}\end{pmatrix} A = A11⋮As1⋯⋱⋯A1r⋮Asr , λ \lambda λ为数,则 λ A = ( λ A 11 ⋯ λ A 1 r ⋮ ⋱ ⋮ λ A s 1 ⋯ λ A s r ) \lambda A\ =\begin{pmatrix}\lambda A_{11}&\cdots&\lambda A_{1r}\\\vdots&\ddots&\vdots\\\lambda A_{s1}&\cdots&\lambda A_{sr}\end{pmatrix} λA = λA11⋮λAs1⋯⋱⋯λA1r⋮λAsr 。
- 乘法:设 A A A为 m × l m\times l m×l矩阵, B B B为 l × n l\times n l×n矩阵,分块成 A = ( A 11 ⋯ A 1 t ⋮ ⋱ ⋮ A s 1 ⋯ A s t ) A\ =\begin{pmatrix}A_{11}&\cdots&A_{1t}\\\vdots&\ddots&\vdots\\A_{s1}&\cdots&A_{st}\end{pmatrix} A = A11⋮As1⋯⋱⋯A1t⋮Ast , B = ( B 11 ⋯ B 1 r ⋮ ⋱ ⋮ B t 1 ⋯ B t r ) B\ =\begin{pmatrix}B_{11}&\cdots&B_{1r}\\\vdots&\ddots&\vdots\\B_{t1}&\cdots&B_{tr}\end{pmatrix} B = B11⋮Bt1⋯⋱⋯B1r⋮Btr ,其中 A i 1 , A i 2 , ⋯ , A i t A_{i1},A_{i2},\cdots,A_{it} Ai1,Ai2,⋯,Ait的列数分别等于 B 1 j , B 2 j , ⋯ , B t j B_{1j},B_{2j},\cdots,B_{tj} B1j,B2j,⋯,Btj的行数,则 A B = ( C 11 ⋯ C 1 r ⋮ ⋱ ⋮ C s 1 ⋯ C s r ) AB\ =\begin{pmatrix}C_{11}&\cdots&C_{1r}\\\vdots&\ddots&\vdots\\C_{s1}&\cdots&C_{sr}\end{pmatrix} AB = C11⋮Cs1⋯⋱⋯C1r⋮Csr ,其中 C i j = ∑ k = 1 t A i k B k j C_{ij}\ =\sum_{k \ = 1}^{t}A_{ik}B_{kj} Cij =∑k =1tAikBkj, i = 1 , ⋯ , s i \ = 1,\cdots,s i =1,⋯,s; j = 1 , ⋯ , r j \ = 1,\cdots,r j =1,⋯,r。
- 转置:设 A = ( A 11 ⋯ A 1 r ⋮ ⋱ ⋮ A s 1 ⋯ A s r ) A\ =\begin{pmatrix}A_{11}&\cdots&A_{1r}\\\vdots&\ddots&\vdots\\A_{s1}&\cdots&A_{sr}\end{pmatrix} A = A11⋮As1⋯⋱⋯A1r⋮Asr ,则 A T = ( A 11 T ⋯ A s 1 T ⋮ ⋱ ⋮ A 1 r T ⋯ A s r T ) A^T\ =\begin{pmatrix}A_{11}^T&\cdots&A_{s1}^T\\\vdots&\ddots&\vdots\\A_{1r}^T&\cdots&A_{sr}^T\end{pmatrix} AT = A11T⋮A1rT⋯⋱⋯As1T⋮AsrT 。
- 分块对角矩阵性质:若 A = ( A 1 A 2 ⋱ A s ) A\ =\begin{pmatrix}A_1&&\\&A_2&\\&&\ddots&A_s\end{pmatrix} A = A1A2⋱As ,其中 A i A_i Ai都是方阵,则 ∣ A ∣ = ∣ A 1 ∣ ∣ A 2 ∣ ⋯ ∣ A s ∣ \vert A\vert\ =\vert A_1\vert\vert A_2\vert\cdots\vert A_s\vert ∣A∣ =∣A1∣∣A2∣⋯∣As∣,且若 ∣ A i ∣ ≠ 0 \vert A_i\vert\neq0 ∣Ai∣=0, i = 1 , 2 , ⋯ , s i \ = 1,2,\cdots,s i =1,2,⋯,s,则 A − 1 = ( A 1 − 1 A 2 − 1 ⋱ A s − 1 ) A^{-1}\ =\begin{pmatrix}A_1^{-1}&&\\&A_2^{-1}&\\&&\ddots&A_s^{-1}\end{pmatrix} A−1 = A1−1A2−1⋱As−1 。
特殊分块矩阵 - 副对角型矩阵性质
对于形如 ( A B ) \begin{pmatrix}&A\\B&\end{pmatrix} (BA)的副对角型分块矩阵(这里假设 A A A、 B B B均为可逆方阵),其逆矩阵为 ( B − 1 A − 1 ) \begin{pmatrix}&B^{-1}\\A^{-1}&\end{pmatrix} (A−1B−1)。即若有分块矩阵 M = ( A B ) M \ = \begin{pmatrix}&A\\B&\end{pmatrix} M =(BA),且 A A A、 B B B可逆,那么 M − 1 = ( B − 1 A − 1 ) M^{-1}\ =\begin{pmatrix}&B^{-1}\\A^{-1}&\end{pmatrix} M−1 =(A−1B−1)。
例题
- 分块矩阵乘法例题
设 A = ( 1 0 0 0 0 1 0 0 − 1 2 1 0 1 1 0 1 ) A\ =\begin{pmatrix}1&0&0&0\\0&1&0&0\\-1&2&1&0\\1&1&0&1\end{pmatrix} A = 10−11012100100001 , B = ( 1 0 1 0 − 1 2 0 1 1 0 4 1 − 1 − 1 2 0 ) B\ =\begin{pmatrix}1&0&1&0\\-1&2&0&1\\1&0&4&1\\-1&-1&2&0\end{pmatrix} B = 1−11−1020−110420110 ,求 A B AB AB。
解:把 A A A, B B B分块成 A = ( E O A 1 E ) A\ =\begin{pmatrix}E&O\\A_1&E\end{pmatrix} A =(EA1OE), B = ( B 11 E B 21 B 22 ) B\ =\begin{pmatrix}B_{11}&E\\B_{21}&B_{22}\end{pmatrix} B =(B11B21EB22),其中 E E E为二阶单位矩阵, A 1 = ( − 1 2 1 1 ) A_1\ =\begin{pmatrix}-1&2\\1&1\end{pmatrix} A1 =(−1121), B 11 = ( 1 0 − 1 2 ) B_{11}\ =\begin{pmatrix}1&0\\-1&2\end{pmatrix} B11 =(1−102), B 21 = ( 1 0 − 1 − 1 ) B_{21}\ =\begin{pmatrix}1&0\\-1&-1\end{pmatrix} B21 =(1−10−1), B 22 = ( 4 1 2 0 ) B_{22}\ =\begin{pmatrix}4&1\\2&0\end{pmatrix} B22 =(4210)。
则 A B = ( E O A 1 E ) ( B 11 E B 21 B 22 ) = ( B 11 E A 1 B 11 + B 21 A 1 + B 22 ) AB\ =\begin{pmatrix}E&O\\A_1&E\end{pmatrix}\begin{pmatrix}B_{11}&E\\B_{21}&B_{22}\end{pmatrix}\ =\begin{pmatrix}B_{11}&E\\A_1B_{11}+B_{21}&A_1+B_{22}\end{pmatrix} AB =(EA1OE)(B11B21EB22) =(B11A1B11+B21EA1+B22)。
计算 A 1 B 11 + B 21 = ( − 1 2 1 1 ) ( 1 0 − 1 2 ) + ( 1 0 − 1 − 1 ) = ( − 2 4 − 1 1 ) A_1B_{11}+B_{21}\ =\begin{pmatrix}-1&2\\1&1\end{pmatrix}\begin{pmatrix}1&0\\-1&2\end{pmatrix}+\begin{pmatrix}1&0\\-1&-1\end{pmatrix}\ =\begin{pmatrix}-2&4\\-1&1\end{pmatrix} A1B11+B21 =(−1121)(1−102)+(1−10−1) =(−2−141), A 1 + B 22 = ( − 1 2 1 1 ) + ( 4 1 2 0 ) = ( 3 3 3 1 ) A_1+B_{22}\ =\begin{pmatrix}-1&2\\1&1\end{pmatrix}+\begin{pmatrix}4&1\\2&0\end{pmatrix}\ =\begin{pmatrix}3&3\\3&1\end{pmatrix} A1+B22 =(−1121)+(4210) =(3331)。
所以 A B = ( 1 0 1 0 − 1 2 0 1 − 2 4 3 3 − 1 1 3 1 ) AB\ =\begin{pmatrix}1&0&1&0\\-1&2&0&1\\-2&4&3&3\\-1&1&3&1\end{pmatrix} AB = 1−1−2−1024110330131 。 - 分块矩阵求逆例题
设 H = ( A C O B ) H\ =\begin{pmatrix}A&C\\O&B\end{pmatrix} H =(AOCB),其中 A A A, B B B均为 n n n阶可逆矩阵,求 H H H的逆。
解:设 H − 1 = ( X Y Z W ) H^{-1}\ =\begin{pmatrix}X&Y\\Z&W\end{pmatrix} H−1 =(XZYW),由 H H − 1 = I HH^{-1}\ =I HH−1 =I( I I I为单位矩阵)可得:
( A C O B ) ( X Y Z W ) = ( A X + C Z A Y + C W B Z B W ) = ( I O O I ) \begin{pmatrix}A&C\\O&B\end{pmatrix}\begin{pmatrix}X&Y\\Z&W\end{pmatrix}\ =\begin{pmatrix}AX + CZ&AY + CW\\BZ&BW\end{pmatrix}\ =\begin{pmatrix}I&O\\O&I\end{pmatrix} (AOCB)(XZYW) =(AX+CZBZAY+CWBW) =(IOOI)。
由 B W = I BW \ = I BW =I得 W = B − 1 W \ = B^{-1} W =B−1;由 B Z = O BZ \ = O BZ =O及 B B B可逆得 Z = O Z \ = O Z =O;由 A X + C Z = I AX + CZ \ = I AX+CZ =I, Z = O Z \ = O Z =O得 X = A − 1 X \ = A^{-1} X =A−1;由 A Y + C W = O AY + CW \ = O AY+CW =O, W = B − 1 W \ = B^{-1} W =B−1得 Y = − A − 1 C B − 1 Y\ =-A^{-1}CB^{-1} Y =−A−1CB−1。
所以 H − 1 = ( A − 1 − A − 1 C B − 1 O B − 1 ) H^{-1}\ =\begin{pmatrix}A^{-1}&-A^{-1}CB^{-1}\\O&B^{-1}\end{pmatrix} H−1 =(A−1O−A−1CB−1B−1)。