矩阵分块法(详细讲解)
矩阵分块,就是把一个大矩阵用横线、竖线切成若干个“小矩阵块”,把每个块当作一个“元素”来运算。
它的核心作用:
- 简化大矩阵运算
- 揭示矩阵结构(对角块、分块对角、分块上三角)
- 方便求逆、求行列式、做乘法、解方程组
1.基本概念
设 A 是 m×n 矩阵,用若干条水平、垂直分割线把 A 分成若干小矩阵,每个小矩阵叫子块。
例:
A=147258∣∣∣369=(A11A21A12A22)
其中
A11=(1425), A12=(36), A21=(7 8), A22=(9)
分块方式完全自由,只要分割合理、运算时维度匹配即可。
2.分块矩阵的基本运算
2.1 加法
同型矩阵、且分块方式完全相同时,对应子块相加。
A=(A11A21A12A22),B=(B11B21B12B22)
A+B=(A11+B11A21+B21A12+B12A22+B22)
2.2 数乘
数 k 乘分块矩阵,等于乘每个子块:
kA=(kA11kA21kA12kA22)
2.3 转置
先整体转置,再每个子块内部转置。
A=(A11A21A12A22)⇒AT=(A11TA12TA21TA22T)
注意:
2.4 乘法
设 A 是 m×n 矩阵,B 是 n×p 矩阵,将它们分块如下:
A=(A11A21A12A22),B=(B11B21B12B22)
其中 A11 的列数等于 B11 的行数,A12 的列数等于 B21 的行数,等等,则:
AB=(A11B11+A12B21A21B11+A22B21A11B12+A12B22A21B12+A22B22)
3.分块矩阵乘法(最重要)
规则
若
Am×s=A11⋮Ap1⋯⋯A1t⋮Apt,Bs×n=B11⋮Bt1⋯⋯B1q⋮Btq
则
AB=C11⋮Cp1⋯⋯C1q⋮Cpq
其中
Cij=k=1∑tAikBkj
关键要求
A 的列分块必须与 B 的行分块一致,
即 Aik 的列数 = Bkj 的行数。
常用简化:按列/按行分块
设 A=(aij)m×s,B=(bij)s×n
1)把 B 按列分块
B=(β1,β2,…,βn)
AB=A(β1,β2,…,βn)=(Aβ1,Aβ2,…,Aβn)
2)把 A 按行分块
A=α1α2⋮αm
AB=α1Bα2B⋮αmB
4.特殊分块矩阵
4.1 分块对角矩阵
A=diag(A1,A2,…,As)=A1A2⋱As
其中 Ai 均为方阵。
A=A10⋮00A2⋮0⋯⋯⋱⋯00⋮Ak
性质:
- 若每个 Ai 可逆,则
- A−1=A1−10⋱0Ak−1(若各子块可逆)
- 也即:
A−1=diag(A1−1,A2−1,…,As−1)
- ∣A∣=∣A1∣⋅∣A2∣⋯∣Ak∣
- 也即:
- detA=detA1⋅detA2⋯detAs
- 秩:rank(A)=∑rank(Ai)
4.2 分块三角矩阵
分块上三角矩阵:
A=(A110A12A22)
A11,A22 为方阵,则
detA=detA11⋅detA22
同理分块下三角:
A=(A11A210A22)⇒detA=detA11detA22
性质:
- ∣A∣=∣A11∣⋅∣A22∣
5.分块求逆(高频考点)
5.1 2×2 分块矩阵求逆
设
M=(ACBD)
若 A 可逆,可构造舒尔补求逆:
M−1=(A−1+A−1BS−1CA−1−S−1CA−1−A−1BS−1S−1)
其中舒尔补
S=D−CA−1B
常用特例:
1)上三角分块
(A0BD)−1=(A−10−A−1BD−1D−1)
2)对角块
(A00D)−1=(A−100D−1)
5.2 分块求逆原理
5.2.1 核心原理只有一句话
分块矩阵求逆,本质就是:把“块”当成普通元素,
利用 AA−1=E 这个定义,列方程解出来。
和你求
(acbd)−1
的逻辑完全一样,只是把数字 a,b,c,d 换成了矩阵 A,B,C,D。
5.2.2 先回顾:普通 2×2 数字矩阵求逆原理
对
M=(acbd)
设逆矩阵
M−1=(xzyw)
根据定义:
MM−1=E=(1001)
展开得到方程组:
⎩⎨⎧ax+bz=1ay+bw=0cx+dz=0cy+dw=1
解出 x,y,z,w,就得到逆矩阵公式。
5.2.3 分块矩阵求逆:一模一样的逻辑
现在把数字换成矩阵块:
设
M=(ACBD)
假设逆矩阵长这样:
M−1=(XZYW)
根据逆矩阵定义:
MM−1=E
这里的单位矩阵 E 也是分块单位阵:
E=(EOOE)
5.2.4 展开乘法,得到四个方程
直接按分块乘法乘开:
(ACBD)(XZYW)=(EOOE)
得到四个矩阵方程:
- AX+BZ=E
- AY+BW=O
- CX+DZ=O
- CY+DW=E
这就是所有分块求逆公式的来源!
后面所有公式,都是解这四个方程解出来的。
5.2.5 最简单的例子:分块对角矩阵推导
M=(AOOD)
代入方程:
- AX+OZ=E⇒AX=E⇒X=A−1
- AY+OW=O⇒AY=O⇒Y=O
- OX+DZ=O⇒DZ=O⇒Z=O
- OY+DW=E⇒DW=E⇒W=D−1
所以
M−1=(A−1OOD−1)
5.2.6 分块上三角矩阵推导
M=(AOBD)
方程变成:
- AX+BZ=E
- AY+BW=O
- OX+DZ=O⇒DZ=O⇒Z=O
- OY+DW=E⇒W=D−1
把 Z=O 代入 1:
AX=E⇒X=A−1
把 W=D−1 代入 2:
AY+BD−1=O⇒AY=−BD−1⇒Y=−A−1BD−1
于是得到:
M−1=(A−1O−A−1BD−1D−1)
这就是你看到的公式,完全是解方程解出来的。
5.2.7 一般分块矩阵公式怎么来的?
回到通用情况:
M=(ACBD)
方程:
- AX+BZ=E
- AY+BW=O
- CX+DZ=O
- CY+DW=E
假设 A 可逆,从 1 解出:
X=A−1(E−BZ)
代入 3:
CA−1(E−BZ)+DZ=O
整理:
(D−CA−1B)Z=−CA−1
令
S=D−CA−1B(这就是舒尔补)
则
Z=−S−1CA−1
再代回去求 X,Y,W,就能得到完整公式:
M−1=(A−1+A−1BS−1CA−1−S−1CA−1−A−1BS−1S−1)
5.2.8 一句话总结原理
- 逆矩阵的定义:AA−1=E
- 对分块矩阵,把块当元素,写出乘法等式
- 展开得到矩阵方程组
- 解方程组,就得到所有分块求逆公式
没有任何神秘原理,就是“定义 + 解方程”。
6.典型应用
6.1 计算高阶矩阵的乘法
将大矩阵分块后,可以转化为小矩阵的乘法,便于手算或编程实现。
6.2 解线性方程组
对于分块线性方程组:
(A11A21A12A22)(x1x2)=(b1b2)
可通过消元法转化为:
(A22−A21A11−1A12)x2=b2−A21A11−1b1
A11x1=b1−A12x2
这种方法在处理大型稀疏矩阵时特别有效。
6.3 矩阵的秩理论
利用分块矩阵可以证明许多秩的等式和不等式,如:
rank(A+B)≤rank(A)+rank(B)
rank(AB)≥rank(A)+rank(B)−n
7.一句话总结
矩阵分块就是**“矩阵的模块化运算”**:
- 切块 → 把子块当元素
- 加法:同结构对应相加
- 乘法:行列匹配,按“行乘列求和”
- 对角/三角分块:行列式、求逆直接简化
8.参考文献
本文参考AI回答,豆包,Deepseek,千问