📑 查看全课大纲(第 75 / 93 节)
- 1.概论和集合的定义
- 2.逼疯康托的实数集理论
- 3.常用不等式与映射
- 4.函数及特殊函数
- 5.序列极限的定义
- 6.序列极限的性质与夹逼定理
- 7.重要极限
- 8.无穷小量,无穷大量和一组重要的阶的比较关系
- 9.聚点原理
- 10.函数极限及其性质
- 11.重要极限与等价无穷小
- 12.连续函数
- 13.导数的概念(那些年,扛起牛顿的胡克)
- 14.定义法求导
- 15.函数四则运算的导数与反函数求导法则
- 16.复合函数,隐函数,参数式求导
- 17.不定式求导之“洛必达与伯努利的师生情”
- 18.一阶微分
- 19.高阶导数
- 20.高阶微分
- 21.罗尔中值定理与拉格朗日中值定理
- 22.柯西空降科学院遭排挤
- 23.泰勒公式与泰勒的克妻属性
- 24.利用泰勒展开唯一性定理计算泰勒展开
- 25.泰勒公式的余项估计
- 26.极值问题与导数
- 27.函数凹凸性
- 28.无卵用的渐近线与函数作图
- 29.不定积分的定义
- 30.第一换元法
- 31.第二换元法
- 32.分部积分法
- 33.有理式积分
- 34.三角替换
- 35.定积分的概念
- 36.定积分的性质与积分中值定理
- 37.变上限定积分
- 38.微积分基本定理之“高斯教你如何优雅地装逼”
- 39.定积分的换元法
- 40.奇偶函数与周期函数的定积分
- 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
- 42.旋转体体积
- 43.旋转体侧面积
- 44.极坐标下图形的面积(数学系常用表白曲线)
- 45.欧式空间
- 46.点列极限,开集与闭集
- 47.多元函数的定义
- 48.多元函数的极限
- 49.多元连续函数
- 50.一阶偏导数
- 51.高阶偏导数
- 52.全微分
- 53.方向导数与梯度
- 54.链式法则
- 55.一阶全微分形式的不变性与高阶微分
- 56.多元函数的泰勒公式
- 57.隐函数存在定理与逆映射存在定理
- 58.多元函数的极值
- 59.矩阵基础知识
- 60.行列式的定义与特殊矩阵的行列式
- 61.行列式的性质
- 62.行列式按k行展开
- 63.线性方程组初步与高斯消元法
- 64.齐次线性方程组与Cramer法则
- 65.线性空间
- 66.线性相关与线性无关
- 67.向量组的秩
- 68.矩阵的秩与线性方程组有解的充要条件
- 69.齐次线性方程组的解集结构
- 70.非齐次线性方程组解集结构
- 71.基与维数
- 72.矩阵的乘法
- 73.特殊矩阵
- 74.矩阵乘积的秩与行列式
- 75.矩阵的逆
- 76.正交矩阵
- 77.矩阵对角化与特征值特征向量
- 78.实对称矩阵对角化
- 79.二次型与正定矩阵
- 80.LU分解
- 81.Cholesky分解
- 82.SVD分解
- 83.线搜索
- 84.步长
- 85.最速下降法和牛顿法
- 86.共轭梯度法
- 87.拟牛顿法
- 88.无约束优化
- 89.若干知识点补充(一)
- 90.若干知识点补充(二)
- 91.凸优化问题
- 92.对偶问题(一)
- 93.对偶问题(二)
矩阵的逆
约 38 分钟
可逆矩阵
小象实战讲义 · 人工智能数学基础
在矩阵运算中,我们经常需要求解矩阵方程 。当 是方阵时,一个自然的想法是能否“除以”矩阵 ,即找到 的“倒数”,从而得到 。本节将系统介绍矩阵理论中的核心概念——可逆矩阵。我们将学习如何判断一个矩阵是否可逆,探讨可逆矩阵的一系列重要性质,并掌握两种求解逆矩阵的实用方法。掌握这些知识是理解线性方程组、矩阵分解以及后续机器学习算法中参数求解的基础。
💡 核心导读
本节将围绕可逆矩阵展开,你将学到:
- 可逆矩阵的定义:类比实数的倒数,理解矩阵“可逆”的数学含义。
- 可逆的判定准则:掌握通过行列式、秩和向量组线性相关性来判断矩阵可逆性的多种等价条件。
- 可逆矩阵的性质:了解逆矩阵的运算规律,如 ,以及可逆矩阵与初等矩阵的深刻联系。
- 逆矩阵的求法:学习利用伴随矩阵和初等行变换两种经典方法求解逆矩阵。
- 应用与计算:运用Python代码验证理论,并求解矩阵方程。
1. 可逆矩阵的定义与判定
1.1 从倒数到逆矩阵
在实数域中,对于非零数 ,存在唯一的数 (即 ),使得 。这里, 是实数乘法的单位元。
我们将这一概念推广到矩阵。对于 阶方阵 ,如果存在一个 阶方阵 ,使得: 其中 是 阶单位矩阵(矩阵乘法的单位元),则称矩阵 可逆,并称 为 的逆矩阵,记作 。
并非所有矩阵都可逆。正如 没有倒数一样,也存在不可逆的矩阵(称为奇异矩阵)。
1.2 可逆的充要条件:行列式视角
判断一个 阶矩阵 是否可逆,最直接的条件是:
证明:
- 必要性:若 可逆,则 。两边取行列式: 因此 。
- 充分性:若 ,我们可以构造出 的逆矩阵。为此,先引入伴随矩阵的概念。
设 {n \times n},{ij} 为元素 的代数余子式。则 的伴随矩阵 定义为: = \begin{pmatrix} A_{11} & A_{21} & \cdots & A_{n1} \ A_{12} & A_{22} & \cdots & A_{n2} \ \vdots & \vdots & \ddots & \vdots \ A_{1n} & A_{2n} & \cdots & A_{nn} \end{pmatrix} 注意,伴随矩阵中代数余子式的下标是转置排列的。
根据行列式按行(列)展开的性质,有: A = \det(A) I 当 时,我们可以得到: \right) = \left( \frac{1}{\det(A)} A^* \right) A = I 因此, 可逆,且其逆矩阵为: 这也提供了一种求逆矩阵的方法(伴随矩阵法)。
1.3 可逆的等价条件:秩与线性无关
行列式非零这一条件可以衍生出多个等价的判定准则,它们从不同角度刻画了可逆矩阵的本质。
满秩: 阶矩阵 可逆 。
- 理解: 可逆等价于齐次线性方程组 只有零解。解空间的维数为 ,只有零解意味着该维数为 ,故 。
行(列)向量组线性无关: 可逆 的行向量组线性无关 的列向量组线性无关。
- 理解:矩阵的秩等于其行(列)向量组的极大无关组所含向量的个数。满秩即 个 维行(列)向量线性无关。
作为一组基: 可逆 的行向量组构成 的一组基 的列向量组构成 的一组基。
import numpy as np
# 示例:判断矩阵可逆性
A = np.array([[1, 2, 3],
[0, 1, 4],
[5, 6, 0]], dtype=float)
# 方法1: 计算行列式
det_A = np.linalg.det(A)
print(f"矩阵 A 的行列式 det(A) = {det_A:.2f}")
print(f"行列式非零? {not np.isclose(det_A, 0)}")
# 方法2: 计算秩
rank_A = np.linalg.matrix_rank(A)
n = A.shape[0]
print(f"\n矩阵 A 的秩 rank(A) = {rank_A}")
print(f"是否为满秩矩阵 (rank == n)? {rank_A == n}")
# 方法3: 尝试计算逆矩阵 (若不可逆会抛出异常)
try:
A_inv = np.linalg.inv(A)
print(f"\n矩阵 A 可逆,其逆矩阵为:\n{A_inv}")
# 验证 A * A_inv 是否接近单位阵
I_check = np.dot(A, A_inv)
print(f"\n验证 A * A_inv 是否接近单位阵 (误差范数): {np.linalg.norm(I_check - np.eye(n)):.2e}")
except np.linalg.LinAlgError:
print("\n矩阵 A 不可逆 (奇异)。")2. 可逆矩阵的性质
可逆矩阵具有一系列优美的运算性质,这些性质在矩阵推导和计算中至关重要。
2.1 基本性质
- 单位矩阵可逆:。
- 逆的逆:若 可逆,则 。
- 乘积的逆:若 均可逆,则 也可逆,且 。
- 注意:顺序颠倒。这类似于转置运算:。
- 证明:,同理可证另一顺序。
- 转置的逆:若 可逆,则 也可逆,且 。
- 含义:求逆和转置运算可交换次序。
2.2 可逆矩阵与初等矩阵
初等矩阵 是单位矩阵经过一次初等行(列)变换得到的矩阵。它们有三类,分别对应三种初等变换:
- :交换第 行(列)。
- ():第 行(列)乘以非零常数 。
- :第 行加上第 行的 倍(或对应列变换)。
性质:
- 初等矩阵都是可逆的。
- 初等矩阵的逆矩阵仍是同类型的初等矩阵:
- (交换两次恢复原状)
- (乘以 的逆是乘以 )
- (加上 倍的逆是加上 倍)
核心定理: 阶矩阵 可逆的充要条件是, 可以表示为若干初等矩阵的乘积。
- 证明思路(充分性):若 可逆,则 。通过初等行变换可将 化为简化行阶梯形(即单位矩阵 )。这意味着存在初等矩阵 ,使得 。因此 ,而初等矩阵的逆仍是初等矩阵。
- 重要性:该定理揭示了可逆矩阵的结构本质。同时,它解释了为什么用可逆矩阵左乘或右乘一个矩阵 不会改变 的秩,因为这相当于对 进行了一系列初等变换。
3. 逆矩阵的求法与应用
3.1 初等行变换法(高斯-若尔当法)
这是计算逆矩阵最实用、最稳定的数值方法。其原理基于上一节的定理。
方法:将 阶可逆矩阵 与 阶单位矩阵 并排组成一个 的增广矩阵 。然后对该增广矩阵进行初等行变换,目标是将其左半部分化为单位矩阵 。当左半部分化为 时,右半部分就变成了 。即:
原理:设对 进行的初等行变换对应的初等矩阵乘积为 ,则有 。我们的目标是使 ,这意味着 。因此,变换后的右半部分 。
示例:求 的逆矩阵。 过程略(详见视频讲解),最终通过初等行变换得到:
3.2 求解矩阵方程
初等行变换法可直接推广来求解形如 的矩阵方程,其中 可逆。
方法:构造增广矩阵 ,然后对其进行初等行变换,将左半部分 化为单位矩阵 。此时右半部分即为解 。
这比先求 再乘 更高效,因为它将两个步骤合并于一套行变换中。
import numpy as np
# 示例1:使用初等行变换思想验证逆矩阵 (通过numpy求解)
A = np.array([[4, 1, 2],
[3, 2, 1],
[5, -3, 2]], dtype=float)
A_inv_np = np.linalg.inv(A)
print("使用 np.linalg.inv 计算的逆矩阵 A_inv:")
print(A_inv_np)
# 示例2:求解矩阵方程 AX = B
B = np.array([[1, 3],
[2, 1],
[-2, 4]], dtype=float)
print(f"\n已知矩阵 A 和 B:")
print("A = \n", A)
print("B = \n", B)
# 方法:直接计算 X = A^{-1} B
X_solution = np.linalg.solve(A, B) # solve函数专门用于解AX=B
print(f"\n矩阵方程 AX = B 的解 X = A^(-1)B 为:")
print(X_solution)
# 验证:计算 A * X,看是否等于 B
print(f"\n验证 A * X 是否等于 B (误差范数): {np.linalg.norm(np.dot(A, X_solution) - B):.2e}")📝 动手练一练
- 判断可逆性:判断矩阵 是否可逆,并说明理由(至少两种)。
- 求解逆矩阵:已知矩阵 ,请使用初等行变换法或编程计算其逆矩阵 。
参考答案:
- 矩阵 不可逆。
- 理由1(行列式):观察发现第二行是第一行的2倍,故行向量线性相关,行列式 。
- 理由2(秩):行最简形只有两个非零行,秩为 ,不满秩。
- 。可通过
np.linalg.inv(D)验证。
本章小结
本节深入探讨了线性代数的核心概念——可逆矩阵。
要点回顾:
- 定义:存在矩阵 使 ,则 可逆,。
- 判定: 可逆 的行(列)向量组线性无关。
- 性质:逆运算满足 ,;可逆矩阵可分解为初等矩阵的乘积。
- 求法:伴随矩阵法(理论推导)和初等行变换法(实际计算)。
- 应用:求解矩阵方程 的解 。
行动清单:
- 判定练习:遇到方阵时,养成先判断其是否可逆的习惯,尝试从行列式、秩、向量相关性多个角度思考。
- 计算验证:使用 Python 的
numpy.linalg.inv或numpy.linalg.solve函数验证本节的手动计算结果,并理解其背后的数值算法原理。 - 联系前后:思考矩阵可逆性与之前学习的线性方程组解的存在唯一性、向量空间基的选取有何内在联系,为后续学习特征值、矩阵分解等内容打下坚实基础。
— 小象教研组
- 第10章讲义(含板书):线性代数(PDF · 15.5MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问