矩阵求逆常用算法
文章目录
引言
矩阵求逆是求解线性方程组 A x = b Ax = b Ax=b 的核心操作,在优化问题(如牛顿法)、统计建模(协方差矩阵求逆)及控制系统设计中广泛用。本文系统梳理六大类算法,从数学原理到代码实现,并给出场景选择指南。
1 矩阵求逆的基本概念
数学条件:矩阵 A A A 可逆当且仅当:
- rank ( A ) = n \text{rank}(A) = n rank(A)=n(满秩)
- det ( A ) ≠ 0 \det(A) \neq 0 det(A)=0
- A A A 的行/列向量线性无关
核心性质:
- ( A − 1 ) − 1 = A (A^{-1})^{-1} = A (A−1)−1=A
- ( A B ) − 1 = B − 1 A − 1 (AB)^{-1} = B^{-1}A^{-1} (AB)−1=B−1A−1
- ( A T ) − 1 = ( A − 1 ) T (A^T)^{-1} = (A^{-1})^T (AT)−1=(A−1)T
实际意义:若 A A A 可逆,则方程组 A x = b Ax = b Ax=b 有唯一解 x = A − 1 b x = A^{-1}b x=A−1b。
import numpy as np
# 基本测试案例
A = np.array([[2, 1], [1, 3]])
A_inv_gt = np.linalg.inv(A) # 标准解用于验证
print("标准逆矩阵:\n", A_inv_gt)
2 高斯-约旦消元法(Gauss-Jordan Elimination)
原理:通过初等行变换将 [ A ∣ I ] [A | I] [A∣I] 转化为 [ I ∣ A − 1 ] [I | A^{-1}] [I∣A−1]。
推导步骤:
- 构造增广矩阵 M = [ A ∣ I n ] M = [A \mid I_n] M=[A∣In]
- 前向消元:对 k = 0 k=0 k=0 到 n − 1 n-1 n−1:
- 选主元 m k k m_{kk} mkk(避免除零,增强稳定性)
- 对 i = k + 1 i = k+1 i=k+1 到 n n n:
row i ← row i − m i k m k k × row k \text{row}_i \leftarrow \text{row}_i - \frac{m_{ik}}{m_{kk}} \times \text{row}_k rowi←rowi−mkkmik×rowk
- 后向消元:对 k = n − 1 k=n-1 k=n−1 到 0 0 0:
- row k ← row k m k k \text{row}_k \leftarrow \frac{\text{row}_k}{m_{kk}} rowk←mkkrowk
- 对 i = 0 i = 0 i=0 到 k − 1 k-1 k−1:
row i ← row i −

最低0.47元/天 解锁文章
5973

被折叠的 条评论
为什么被折叠?



