用若干条横线和竖线将矩阵分成若干小块,每个小块称为子矩阵(子块),以子矩阵为元素的矩阵称为分块矩阵。
A=(A11A21A12A22)
其中 A11,A12,A21,A22 为子矩阵。
分块时须保证运算有意义:
- 加法:对应子块必须同型
- 乘法:左矩阵的列分法必须与右矩阵的行分法一致
设 A=(A11A21A12A22),B=(B11B21B12B22)(同型分块),则:
A+B=(A11+B11A21+B21A12+B12A22+B22)
kA=(kA11kA21kA12kA22)
设 A=(A11A21A12A22),B=(B11B21B12B22),且分块方式使乘法有意义,则:
AB=(A11B11+A12B21A21B11+A22B21A11B12+A12B22A21B12+A22B22)
关键:子矩阵相乘时顺序不能交换,即 AijBjk 不能写成 BjkAij。
(A11A21A12A22)T=(A11TA12TA21TA22T)
注意:分块转置不仅将子块的位置转置,每个子块本身也要转置。
形如 A1A2⋱As 的分块矩阵称为分块对角矩阵,记作 diag(A1,A2,…,As)。
-
行列式:∣A∣=∣A1∣⋅∣A2∣⋯∣As∣
-
乘法:diag(A1,…,As)⋅diag(B1,…,Bs)=diag(A1B1,…,AsBs)
-
幂:[diag(A1,…,As)]k=diag(A1k,…,Ask)
-
逆:若每个 Ai 可逆,则:
diag(A1,…,As)−1=diag(A1−1,…,As−1)
- 秩:r(A)=r(A1)+r(A2)+⋯+r(As)
(AOOB)−1=(A−1OOB−1)
(AOCB)−1=(A−1O−A−1CB−1B−1)
验证:
(AOCB)(A−1O−A−1CB−1B−1)=(IO−CB−1+CB−1I)=I
(ACOB)−1=(A−1−B−1CA−1OB−1)
对于 (ACBD),当 A 可逆时,利用分块消元法:
(I−CA−1OI)(ACBD)=(AOBD−CA−1B)
令 S=D−CA−1B(Schur 补),若 S 可逆,则:
(ACBD)−1=(A−1+A−1BS−1CA−1−S−1CA−1−A−1BS−1S−1)
AOOB=∣A∣⋅∣B∣
AOCB=∣A∣⋅∣B∣
ACOB=∣A∣⋅∣B∣
当 A 可逆时:
ACBD=∣A∣⋅∣D−CA−1B∣
当 D 可逆时:
ACBD=∣D∣⋅∣A−BD−1C∣
当 A 与 C 可交换(AC=CA)时:
ACBD=∣AD−CB∣
当 B 与 C 可交换(BC=CB)时:
ACBD=∣DA−CB∣
对于具有分块结构的矩阵,分块乘法可以大大简化计算。
Ax=b 可写为分块形式:
(A11A21A12A22)(x1x2)=(b1b2)
例:设 A 为 m 阶可逆矩阵,D 为 n 阶可逆矩阵,证明 (AOBD) 可逆并求其逆。
解:
AOBD=∣A∣⋅∣D∣=0
故该矩阵可逆。设逆为 (XZYW),则:
(AOBD)(XZYW)=(ImOOIn)
由 AX+BZ=Im,AY+BW=O,DZ=O,DW=In:
Z=O,W=D−1,X=A−1,Y=−A−1BD−1
(AOBD)−1=(A−1O−A−1BD−1D−1)