[学习] 矩阵求逆常用算法(含实现代码)

矩阵求逆常用算法


引言

矩阵求逆是求解线性方程组 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 的行/列向量线性无关

核心性质

  1. ( A − 1 ) − 1 = A (A^{-1})^{-1} = A (A1)1=A
  2. ( A B ) − 1 = B − 1 A − 1 (AB)^{-1} = B^{-1}A^{-1} (AB)1=B1A1
  3. ( A T ) − 1 = ( A − 1 ) T (A^T)^{-1} = (A^{-1})^T (AT)1=(A1)T

实际意义:若 A A A 可逆,则方程组 A x = b Ax = b Ax=b 有唯一解 x = A − 1 b x = A^{-1}b x=A1b

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] [AI] 转化为 [ I ∣ A − 1 ] [I | A^{-1}] [IA1]

推导步骤

  1. 构造增广矩阵 M = [ A ∣ I n ] M = [A \mid I_n] M=[AIn]
  2. 前向消元:对 k = 0 k=0 k=0 n − 1 n-1 n1
    • 选主元 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 rowirowimkkmik×rowk
  3. 后向消元:对 k = n − 1 k=n-1 k=n1 0 0 0
    • row k ← row k m k k \text{row}_k \leftarrow \frac{\text{row}_k}{m_{kk}} rowkmkkrowk
    • i = 0 i = 0 i=0 k − 1 k-1 k1
      row i ← row i −
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客不孤独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值