📑 查看全课大纲(第 74 / 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.对偶问题(二)
矩阵乘积的秩与行列式
约 17 分钟
矩阵乘积的秩与行列式
小象实战讲义 · 人工智能数学基础
在人工智能的算法实现中,我们经常需要对多个矩阵进行复合运算,例如在神经网络的前向传播、主成分分析(PCA)的协方差矩阵计算中。这些复合运算结果的“信息容量”和“体积缩放”如何由原始矩阵决定?本节将系统学习矩阵乘积的两个核心性质:秩的不增性和行列式的乘积公式。掌握它们,你就能在不进行复杂数值计算的情况下,预估复合矩阵的秩,并高效计算其行列式。
💡 核心导读
本节你将掌握:
- 秩的不增性:矩阵乘积的秩不超过任一因子矩阵的秩,即 。这揭示了线性变换会压缩信息量。
- 重要恒等式:矩阵 与其转置的乘积 和 的秩,与 本身的秩相等,即 。这是理解协方差矩阵和最小二乘法的关键。
- 行列式的乘积公式:对于同阶方阵 和 ,有 。这意味着复合线性变换对空间的“体积”缩放倍数是各变换缩放倍数的乘积。
- 证明思想:学会从“列向量的线性组合”和“齐次线性方程组同解”的视角理解并证明上述结论。
矩阵乘积的秩:秩的不增性
矩阵的秩度量了其列(或行)向量张成空间的维数,即矩阵所携带的“独立信息”的多少。当我们对矩阵进行乘法运算时,相当于对信息进行了一次处理或过滤。
定理 1(乘积的秩):设 是 矩阵, 是 矩阵,则乘积 的秩满足: 即,乘积矩阵的秩既不超过 的秩,也不超过 的秩。
直观理解:
- 从列空间看:将 右乘 ,即 ,可以看作用 的列对 的列向量进行线性组合,从而得到 的列向量。新的列向量组是 的原始列向量组的线性组合,因此 的列空间是 的列空间的子空间。子空间的维数(即 的列秩)自然不会超过原空间的维数( 的列秩)。由于矩阵的秩等于列秩,故 。
- 从行空间看:将 左乘 ,即 ,可以看作用 的行对 的行向量进行线性组合,从而得到 的行向量。同理, 的行空间是 的行空间的子空间,故 。
这个结论与信息论中的思想一致:对信息(矩阵)进行一次处理(乘法)后,得到的信息量(秩)不会增加,通常只会减少或保持不变。
证明: 我们证明 ,另一个不等式 的证明完全对称。
设 的列向量组为 2, \dots, \boldsymbol{\alpha}n,即 1, \boldsymbol{\alpha}2, \dots, \boldsymbol{\alpha}n]。 设 {ij}){n \times p},则乘积 的第 列为: {:,j} = A \cdot B{:,j} = b{1j}\boldsymbol{\alpha}1 + b{2j}\boldsymbol{\alpha}2 + \dots + b{nj}\boldsymbol{\alpha}_n, \quad j=1,2,\dots,p. 这表明 的每一个列向量都是 的列向量组 的一个线性组合。因此, 的列向量组可由 的列向量组线性表出。根据线性代数基本定理:若向量组 可由向量组 线性表出,则前者的秩不超过后者的秩。所以, 同理,通过分析行向量组,可证 。综上,定理得证。
矩阵 与 的秩
在数据科学中,矩阵 (格拉姆矩阵)和 (协方差矩阵的雏形)扮演着重要角色。一个令人惊奇的结论是,尽管 , , 的维数可能完全不同,但它们的秩却完全一致。
定理 2:对于任意 实矩阵 ,有
证明思路: 首先,根据转置不改变矩阵秩的性质,有 。要证明三者秩相等,我们只需证明 ,同理可得 ,从而可推得三者秩相等。
核心技巧是证明两个齐次线性方程组 同解: 其中 。
- 显然方向:若 ,则两边左乘 得 。所以, 的解一定是 的解。
- 另一方向:若 ,我们想推出 。在等式 两边左乘 : 根据结合律,,即 。一个向量的长度平方为0,当且仅当该向量为零向量。因此,。
既然两个方程组同解,它们的解空间 和 就完全相同,维数自然相等:。 根据线性方程组解空间维数公式:
- 对于 ,有 。
- 对于 ,有 。
因为 ,所以 ,立即得到 。证毕。
这个定理有深远的意义。例如,在求解最小二乘问题 时,正规方程是 。定理2保证了 的可逆性(即满秩)与 的列满秩是等价的,这是最小二乘解存在唯一的理论基础。
矩阵乘积的行列式
行列式描述了方阵对应的线性变换对空间体积的缩放比例。当连续进行两次线性变换时,总缩放比例是多少?
定理 3(乘积的行列式):设 和 都是 阶方阵,则 即,复合变换的缩放比例等于各变换缩放比例的乘积。
这个公式极其强大。它意味着,要计算两个矩阵乘积的行列式,我们无需先做昂贵的矩阵乘法,只需分别计算两个行列式再做乘法即可,计算复杂度大大降低。
证明思路(以 为例,高阶可用数学归纳法): 考虑一个 的分块矩阵,并利用分块三角矩阵的行列式性质: 其中 是 单位阵, 是零矩阵。 接下来,我们通过初等行变换将上述矩阵化为另一个分块上三角矩阵:
- 将第三行乘以 的第一行元素加到第一行。
- 将第四行乘以 的第二行元素加到第二行。 经过一系列精心设计的行变换(不改变行列式的值),我们可以将矩阵化为: 此时,利用拉普拉斯展开定理,按前两行展开。由于前两行只在后两列有非零块 ,所以行列式等于: 由于整个变换过程行列式值不变,所以我们有: 这就证明了 的情况。对于一般的 ,证明思想类似但书写繁琐,通常采用数学归纳法完成。
这个定理有几个直接推论:
- 。
- 若 可逆,则 。
- 对于同阶方阵 和 ,有 (由乘积公式:;注意此等式仅对同阶方阵成立)。
import numpy as np
# 验证矩阵乘积的秩与行列式性质
np.random.seed(42) # 固定随机种子,使结果可复现
# 1. 生成两个矩阵
A = np.random.randn(5, 3) # 5x3矩阵
B = np.random.randn(3, 4) # 3x4矩阵
A_square = np.random.randn(3, 3) # 3x3方阵
B_square = np.random.randn(3, 3) # 3x3方阵
print("矩阵 A (5x3) 的秩:", np.linalg.matrix_rank(A))
print("矩阵 B (3x4) 的秩:", np.linalg.matrix_rank(B))
print("乘积 AB (5x4) 的秩:", np.linalg.matrix_rank(A @ B))
print("定理1验证: rank(AB) <= min(rank(A), rank(B))?",
np.linalg.matrix_rank(A @ B) <= min(np.linalg.matrix_rank(A), np.linalg.matrix_rank(B)))
print("\n" + "="*50 + "\n")
# 2. 验证 A^TA 的秩等于 A 的秩
print("矩阵 A 的秩:", np.linalg.matrix_rank(A))
ATA = A.T @ A
print("矩阵 A^TA (3x3) 的秩:", np.linalg.matrix_rank(ATA))
print("定理2验证: rank(A) == rank(A^TA)?", np.linalg.matrix_rank(A) == np.linalg.matrix_rank(ATA))
print("\n" + "="*50 + "\n")
# 3. 验证方阵乘积的行列式
det_A = np.linalg.det(A_square)
det_B = np.linalg.det(B_square)
det_AB = np.linalg.det(A_square @ B_square)
print("方阵 A 的行列式: {:.6f}".format(det_A))
print("方阵 B 的行列式: {:.6f}".format(det_B))
print("乘积 AB 的行列式: {:.6f}".format(det_AB))
print("乘积 det(A)*det(B): {:.6f}".format(det_A * det_B))
print("定理3验证: det(AB) ≈ det(A)*det(B)?", np.allclose(det_AB, det_A * det_B))📝 动手练一练
秩的估计:已知矩阵 是 矩阵,秩为 ;矩阵 是 矩阵,秩为 。请问矩阵乘积 的秩最大可能是多少?仅根据本节定理1,你能确定其秩的下界吗?
行列式计算:设 , 。 a) 直接计算 和 。 b) 计算矩阵乘积 ,再求 。 c) 验证 是否成立。
参考答案:
- 根据定理 1,,因此 的秩最大为2。仅通过定理1可确定秩的上界,下界需结合更多秩的性质(如后续学习的Sylvester秩不等式)进一步推导,此处需重点掌握秩的上界估计方法。
- a) , 。 b) 。。 c) ,公式成立。
本章小结
本节深入探讨了矩阵乘积的两个核心代数性质,它们是从线性变换角度理解矩阵运算的重要桥梁。
要点回顾:
- 秩的不增性:。乘法作为线性变换会压缩信息,乘积矩阵的秩不会超过任一因子。
- 的秩:。这一结论通过证明齐次方程组 与 同解而得,是后续学习最小二乘、主成分分析等算法的基石。
- 行列式的乘积公式:。复合线性变换对空间的总体积缩放倍数,等于各变换缩放倍数的乘积。这提供了计算大型矩阵乘积行列式的高效方法。
行动清单:
- 理解证明:重新梳理定理1和定理2的证明过程,确保你不仅能记住结论,更能理解“列向量线性组合”和“方程组同解”这两种核心证明思路。
- 代码验证:运行并理解本节提供的Python代码,尝试修改矩阵的维度和数值,观察定理是否始终成立,加深数值直观。
- 联想应用:思考在PCA算法中,为什么要计算数据矩阵 的协方差矩阵 (或 )?定理2保证了协方差矩阵的秩反映了原始数据的真实维度(即主成分的最大可能数量)。
— 小象教研组
- 第10章讲义(含板书):线性代数(PDF · 15.5MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问