← 返回《人工智能数学基础》
📑 查看全课大纲(第 67 / 93 节)
  1. 1.概论和集合的定义
  2. 2.逼疯康托的实数集理论
  3. 3.常用不等式与映射
  4. 4.函数及特殊函数
  5. 5.序列极限的定义
  6. 6.序列极限的性质与夹逼定理
  7. 7.重要极限
  8. 8.无穷小量,无穷大量和一组重要的阶的比较关系
  9. 9.聚点原理
  10. 10.函数极限及其性质
  11. 11.重要极限与等价无穷小
  12. 12.连续函数
  13. 13.导数的概念(那些年,扛起牛顿的胡克)
  14. 14.定义法求导
  15. 15.函数四则运算的导数与反函数求导法则
  16. 16.复合函数,隐函数,参数式求导
  17. 17.不定式求导之“洛必达与伯努利的师生情”
  18. 18.一阶微分
  19. 19.高阶导数
  20. 20.高阶微分
  21. 21.罗尔中值定理与拉格朗日中值定理
  22. 22.柯西空降科学院遭排挤
  23. 23.泰勒公式与泰勒的克妻属性
  24. 24.利用泰勒展开唯一性定理计算泰勒展开
  25. 25.泰勒公式的余项估计
  26. 26.极值问题与导数
  27. 27.函数凹凸性
  28. 28.无卵用的渐近线与函数作图
  29. 29.不定积分的定义
  30. 30.第一换元法
  31. 31.第二换元法
  32. 32.分部积分法
  33. 33.有理式积分
  34. 34.三角替换
  35. 35.定积分的概念
  36. 36.定积分的性质与积分中值定理
  37. 37.变上限定积分
  38. 38.微积分基本定理之“高斯教你如何优雅地装逼”
  39. 39.定积分的换元法
  40. 40.奇偶函数与周期函数的定积分
  41. 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
  42. 42.旋转体体积
  43. 43.旋转体侧面积
  44. 44.极坐标下图形的面积(数学系常用表白曲线)
  45. 45.欧式空间
  46. 46.点列极限,开集与闭集
  47. 47.多元函数的定义
  48. 48.多元函数的极限
  49. 49.多元连续函数
  50. 50.一阶偏导数
  51. 51.高阶偏导数
  52. 52.全微分
  53. 53.方向导数与梯度
  54. 54.链式法则
  55. 55.一阶全微分形式的不变性与高阶微分
  56. 56.多元函数的泰勒公式
  57. 57.隐函数存在定理与逆映射存在定理
  58. 58.多元函数的极值
  59. 59.矩阵基础知识
  60. 60.行列式的定义与特殊矩阵的行列式
  61. 61.行列式的性质
  62. 62.行列式按k行展开
  63. 63.线性方程组初步与高斯消元法
  64. 64.齐次线性方程组与Cramer法则
  65. 65.线性空间
  66. 66.线性相关与线性无关
  67. 67.向量组的秩
  68. 68.矩阵的秩与线性方程组有解的充要条件
  69. 69.齐次线性方程组的解集结构
  70. 70.非齐次线性方程组解集结构
  71. 71.基与维数
  72. 72.矩阵的乘法
  73. 73.特殊矩阵
  74. 74.矩阵乘积的秩与行列式
  75. 75.矩阵的逆
  76. 76.正交矩阵
  77. 77.矩阵对角化与特征值特征向量
  78. 78.实对称矩阵对角化
  79. 79.二次型与正定矩阵
  80. 80.LU分解
  81. 81.Cholesky分解
  82. 82.SVD分解
  83. 83.线搜索
  84. 84.步长
  85. 85.最速下降法和牛顿法
  86. 86.共轭梯度法
  87. 87.拟牛顿法
  88. 88.无约束优化
  89. 89.若干知识点补充(一)
  90. 90.若干知识点补充(二)
  91. 91.凸优化问题
  92. 92.对偶问题(一)
  93. 93.对偶问题(二)

向量组的秩

约 30 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

向量组的秩

小象实战讲义 · 人工智能数学基础

在上一节中,我们学习了向量组的线性相关与线性无关,这帮助我们判断一个向量集合中是否存在“多余”的向量。本节我们将在此基础上,引入一个更深刻、更定量的概念——向量组的秩。秩不仅能够精确刻画一个向量组中“独立”向量的最大个数,更是连接向量组理论与矩阵理论的核心桥梁,是线性代数中最重要的概念之一。理解秩,是掌握线性空间结构、分析线性方程组解、乃至后续学习特征值与奇异值分解(SVD)等高级主题的基础。

💡 核心导读

本节将围绕“秩”这一核心概念,为你构建清晰的知识路径:

  1. 从“极大”到“秩”:理解如何从一个线性相关的向量组中,通过剔除“多余”向量,得到一个“极大线性无关组”,并由此引出“秩”的定义。
  2. 等价关系的桥梁:学习向量组等价的概念及其性质,并证明一个关键结论:向量组与其任意一个极大线性无关组等价
  3. 秩的唯一性与定义:证明向量组的任意两个极大线性无关组所含向量个数相等,从而确保“秩”是一个良定义的、刻画向量组本质特征的数值。
  4. 秩的基本性质:掌握秩如何判断线性相关性,以及秩在向量组线性表出关系下的不等式性质。

从线性相关到“极大”无关组

回顾线性相关性的本质:如果一个向量组线性相关,则其中至少有一个向量是“多余”的,它可以由组内其他向量线性表出。一个自然的问题是:我们能否通过不断剔除这些“多余”的向量,最终得到一个“纯粹”的、线性无关的向量组?这个剔除过程何时终止?极大线性无关组的概念正是为了回答这个问题。

定义(极大线性无关组):设 UU 是数域 KKnn 维向量空间 KnK^n 中的一个向量组。UU 的一个部分组 W={α1,α2,,αs}W = {\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_s} 称为 UU 的一个极大线性无关组,如果它满足以下两个条件:

  1. WW 本身是线性无关的。
  2. UU任何一个不属于 WW 的向量添加到 WW 中,得到的新向量组都变成线性相关的。

“极大”的含义是局部最大:在 UU 中,你再也找不到一个比 WW 包含更多向量且仍保持线性无关的部分组了。WW 已经达到了“独立”向量的极限。

:考虑 R2\mathbb{R}^2 中的向量组 U={(1,0),(0,1),(2,3),(1,1)}U = {(1,0), (0,1), (2,3), (-1,1)}

  • {(1,0),(0,1)}{(1,0), (0,1)} 是一个极大线性无关组。因为这两个向量线性无关,且 UU 中任何其他向量(如 (2,3)(2,3))都可以被它们线性表出:(2,3)=2(1,0)+3(0,1)(2,3) = 2(1,0) + 3(0,1)。根据上节的命题,将 (2,3)(2,3) 加入后,新组 {(1,0),(0,1),(2,3)}{(1,0), (0,1), (2,3)} 必然线性相关。
  • {(1,0),(2,3)}{(1,0), (2,3)} 也是一个极大线性无关组吗?是的。首先,(1,0)(1,0)(2,3)(2,3) 不共线,故线性无关。其次,可以验证 UU 中其他向量 (0,1)(0,1)(1,1)(-1,1) 都能由它们线性表出(例如,解方程组求系数),因此加入任意一个都会导致线性相关。
  • 由此可见,一个向量组的极大线性无关组可能不唯一

向量组等价与秩的唯一性

为了研究不同极大线性无关组之间的联系,我们需要向量组等价的概念。

定义(向量组等价):如果向量组 A:α1,,αsA: \boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s 中的每一个向量都能由向量组 B:β1,,βrB: \boldsymbol{\beta}_1, \dots, \boldsymbol{\beta}_r 线性表出,则称向量组 AA 可由向量组 BB 线性表出。如果 AABB 可以互相线性表出,则称这两个向量组等价,记作 ABA \cong B

等价关系满足三个基本性质:

  1. 反身性AAA \cong A
  2. 对称性:若 ABA \cong B,则 BAB \cong A
  3. 传递性:若 ABA \cong BBCB \cong C,则 ACA \cong C

关键命题一个向量组与其任意一个极大线性无关组等价。 证明:设 W={α1,,αm}W = {\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_m} 是向量组 UU 的一个极大线性无关组。显然,WW 作为 UU 的子集,可由 UU 线性表出(每个 αi\boldsymbol{\alpha}_i 就是它自己)。反之,对于 UU 中任意向量 β\boldsymbol{\beta},若 βW\boldsymbol{\beta} \in W,则自然可由 WW 表出;若 βW\boldsymbol{\beta} \notin W,根据极大线性无关组的定义,将 β\boldsymbol{\beta} 加入 WW 后线性相关。由于 WW 本身线性无关,根据上节的命题,β\boldsymbol{\beta} 必然可由 WW 线性表出。因此,UU 也可由 WW 线性表出。故 UWU \cong W

由此立即得到一个推论:向量组的任意两个极大线性无关组等价(因为它们都与原向量组等价,由传递性可得)。

现在,我们面对一个核心问题:既然极大线性无关组可能有很多个,它们之间除了“等价”这个比较抽象的关系,还有什么更具体的共同点吗?答案是:它们所含向量的个数相同。为了证明这一点,我们需要一个引理。

引理:若向量组 B:β1,,βrB: \boldsymbol{\beta}1, \dots, \boldsymbol{\beta}r 可由向量组 A:α1,,αsA: \boldsymbol{\alpha}1, \dots, \boldsymbol{\alpha}s 线性表出,且 r>sr > s,则向量组 BB 必线性相关。 证明思路:设 βj=i=1saijαi\boldsymbol{\beta}j = \sum{i=1}^{s} a{ij} \boldsymbol{\alpha}ij=1,,rj=1,\dots,r。考虑 BB 的一个线性组合 j=1rxjβj=0\sum{j=1}^{r} x_j \boldsymbol{\beta}j = 0。将表出式代入并整理 αi\boldsymbol{\alpha}i 的系数,得到: j=1rxjβj=i=1s(j=1raijxj)αi=0\sum{j=1}^{r} x_j \boldsymbol{\beta}j = \sum{i=1}^{s} \left( \sum{j=1}^{r} a{ij} x_j \right) \boldsymbol{\alpha}i = 0 我们希望找到不全为零的 xjx_j 使上式成立。一个充分条件是让每个 αi\boldsymbol{\alpha}i 的系数为零,即考虑齐次线性方程组: {a11x1+a12x2++a1rxr=0as1x1+as2x2++asrxr=0\begin{cases} a{11}x_1 + a{12}x_2 + \dots + a{1r}x_r = 0 \ \vdots \ a{s1}x_1 + a_{s2}x_2 + \dots + a_{sr}x_r = 0 \end{cases} 这是一个包含 ss 个方程、rr 个未知数的齐次方程组。由于 r>sr > s(方程个数少于未知数个数),根据齐次方程组解的理论,它必有非零解 (x1,,xr)0(x_1, \dots, x_r) \neq \boldsymbol{0}。这组非零解就使得 j=1rxjβj=0\sum_{j=1}^{r} x_j \boldsymbol{\beta}_j = 0 成立,故 BB 线性相关。

由该引理,其逆否命题也成立:若 BB 可由 AA 线性表出,且 BB 线性无关,则必有 rsr \le s

定理(等价无关组维数相同):两个等价的线性无关向量组所含向量的个数相等。 证明:设线性无关组 AA(含 ss 个向量)与线性无关组 BB(含 rr 个向量)等价。因为 AA 可由 BB 线性表出且 AA 线性无关,由上述推论得 srs \le r。同理,因为 BB 可由 AA 线性表出且 BB 线性无关,得 rsr \le s。联立二者,即得 s=rs = r

结合“向量组的任意两个极大线性无关组等价”以及“极大线性无关组本身是线性无关的”,由上述定理立刻得到:

推论(极大无关组维数唯一):向量组的任意两个极大线性无关组所含向量的个数相等。

这个“个数”是如此重要和稳定,它成为了刻画向量组的一个本质特征,我们将其定义为

向量组的秩:定义与基本性质

定义(向量组的秩):向量组 UU 的极大线性无关组所含向量的个数,称为向量组 UU,记作 rank(U)\operatorname{rank}(U)r(U)r(U)。规定全由零向量组成的向量组的秩为 00

秩的定义是良定义的,正是基于我们刚刚证明的“极大无关组维数唯一”这一关键性质。

有了秩,我们可以用非常简洁的方式描述线性相关性:

  • 线性无关 \Longleftrightarrow rank(U)=\operatorname{rank}(U) = 向量组中向量的个数。
  • 线性相关 \Longleftrightarrow rank(U)<\operatorname{rank}(U) < 向量组中向量的个数。

因为如果 UU 线性无关,那么它本身就是自己的一个极大线性无关组,秩就等于其向量个数。反之,若秩等于向量个数,说明存在一个极大无关组包含了所有向量,这意味着所有向量都线性无关。

秩还具有以下重要性质:

性质(秩的不等式):若向量组 AA 可由向量组 BB 线性表出,则 rank(A)rank(B)\operatorname{rank}(A) \le \operatorname{rank}(B)证明:设 A0A_0AA 的一个极大线性无关组(含 rank(A)\operatorname{rank}(A) 个向量),B0B_0BB 的一个极大线性无关组(含 rank(B)\operatorname{rank}(B) 个向量)。由于 AA0A \cong A_0BB0B \cong B_0,且 AA 可由 BB 表出,根据等价的传递性,A0A_0 可由 B0B_0 线性表出。又因为 A0A_0 线性无关,根据引理的推论,有 rank(A)rank(B)\operatorname{rank}(A) \le \operatorname{rank}(B)

推论(等价向量组同秩):等价的向量组具有相同的秩。 证明:若 ABA \cong B,则 AA 可由 BB 表出,故 rank(A)rank(B)\operatorname{rank}(A) \le \operatorname{rank}(B);同时 BB 可由 AA 表出,故 rank(B)rank(A)\operatorname{rank}(B) \le \operatorname{rank}(A)。因此 rank(A)=rank(B)\operatorname{rank}(A) = \operatorname{rank}(B)

下面的 Python 示例演示了如何计算一个行向量组的秩,并找出它的一个极大线性无关组。

import numpy as np
import sympy as sp

# 定义一个行向量组 U (4个向量,每个向量在R^3中)
U = np.array([
    [1, 2, 3],   # 向量1
    [4, 5, 6],   # 向量2
    [7, 8, 9],   # 向量3
    [2, 4, 6]    # 向量4 = 2 * 向量1
], dtype=np.float64)

print("行向量组 U:")
print(U)

# 方法1: 使用numpy.linalg.matrix_rank计算矩阵的秩(矩阵的秩定义下一节介绍,此处先体验)
# 注意:np.linalg.matrix_rank 计算的是将U视为矩阵(每行是一个向量)的秩。
# 对于行向量组,这等价于其张成空间的维数,也就是向量组的秩。
rank_U_np = np.linalg.matrix_rank(U)
print(f"\n使用 numpy.linalg.matrix_rank 计算 U 的秩: {rank_U_np}")

# 方法2: 使用sympy求行简化阶梯形(RREF)来寻找极大无关组
# 正确方法:将行向量组转置为列向量组,对转置矩阵进行行简化。
# 行简化后主元列(pivot columns)的索引,对应原矩阵U的行索引,即构成一个极大无关组。
U_T_sympy = sp.Matrix(U.T)  # U.T的每一列对应原U的一个行向量
rref_U_T, pivot_indices = U_T_sympy.rref()

print(f"\n将U转置为列向量组后的行简化阶梯形(RREF):")
print(rref_U_T)
print(f"主元列的索引(对应原U的行号): {pivot_indices}")

# 根据主元列索引,从U中选取对应的行向量,构成一个极大线性无关组W
W = U[list(pivot_indices), :]
print(f"\n选取的极大线性无关组 W (由向量{pivot_indices[0]}{pivot_indices[1]}构成):")
print(W)

# 验证W的秩
rank_W = np.linalg.matrix_rank(W)
print(f"极大无关组W的秩: {rank_W} (应与U的秩相等: {rank_U_np})")
print(f"W是否线性无关? {rank_W == len(W)}")

# 验证U中其他向量可由W线性表出(以向量U[2]为例)
target_vector = U[2]  # 向量 [7, 8, 9]
# 解线性方程组 W^T * x = target_vector^T
# 即寻找系数x,使得 x[0]*W[0] + x[1]*W[1] = target_vector
coefficients, residuals, rank, s = np.linalg.lstsq(W.T, target_vector, rcond=None)
print(f"\n验证向量 U[2] = {target_vector} 可由W线性表出:")
print(f"  表出系数 (对于W[0], W[1]): {coefficients}")
print(f"  线性组合结果: {coefficients[0]*W[0] + coefficients[1]*W[1]}")
print(f"  与目标向量的误差 (残差范数): {residuals[0] if len(residuals)>0 else 0:.2e}")

📝 动手练一练

  1. 判断与计算:已知向量组 U={(1,1,0),(1,0,1),(0,1,1),(2,1,1)}U = {(1,1,0), (1,0,1), (0,1,1), (2,1,1)}。 a) 判断该向量组是线性相关还是线性无关。 b) 求该向量组的秩 rank(U)\operatorname{rank}(U)。 c) 找出 UU 的一个极大线性无关组。

  2. 性质应用:设向量组 AA 的秩为 3,向量组 BB 的秩为 2。已知 AA 可以由 BB 线性表出。请问,AABB 可能等价吗?为什么?

参考答案:

  1. a) 线性相关。因为向量个数(4)大于向量维数(3),必然线性相关。 b) rank(U)=3\operatorname{rank}(U) = 3。可以验证前三个向量 (1,1,0),(1,0,1),(0,1,1)(1,1,0), (1,0,1), (0,1,1) 线性无关(它们构成的行列式不为零),且第四个向量 (2,1,1)=(1,1,0)+(1,0,1)(2,1,1) = (1,1,0)+(1,0,1) 可由前三个线性表出。 c) {(1,1,0),(1,0,1),(0,1,1)}{(1,1,0), (1,0,1), (0,1,1)}UU 的一个极大线性无关组。
  2. 不可能等价。如果 AABB 等价,则它们的秩必须相等。但已知 rank(A)=3\operatorname{rank}(A)=3rank(B)=2\operatorname{rank}(B)=2323 \neq 2,所以它们不可能等价。这符合“等价向量组同秩”的推论。

本章小结

本节我们深入探讨了线性代数中承上启下的核心概念——向量组的秩

  • 核心定义:向量组的极大线性无关组是“局部最大”的线性无关部分组。向量组的定义为极大线性无关组所含向量的个数,这是一个良定义的、刻画向量组“独立信息量”的数值。
  • 关键桥梁:引入了向量组等价(互相线性表出)的概念,并证明了向量组与其任意极大线性无关组等价。利用等价关系,证明了任意两个极大线性无关组维数相同,从而确保了秩的唯一性。
  • 核心性质
    1. rank(U)=U\operatorname{rank}(U) = |U| 当且仅当 UU 线性无关;rank(U)<U\operatorname{rank}(U) < |U| 当且仅当 UU 线性相关。
    2. 若向量组 AA 可由 BB 线性表出,则 rank(A)rank(B)\operatorname{rank}(A) \le \operatorname{rank}(B)
    3. 等价的向量组有相同的秩。

行动清单 学完本节,你可以立即:

  1. 动手计算:任给一个具体的向量组(例如来自数据特征或几何坐标),尝试用 Python(如示例代码)或手工判断其线性相关性,计算其秩,并找出一个极大线性无关组。
  2. 概念辨析:合上笔记,尝试向自己或他人清晰地解释:“秩”为什么能作为一个向量组的“身份证号码”?它和“线性无关向量的最大个数”是什么关系?
  3. 前瞻思考:秩定义在向量组上。在人工智能中,数据常以矩阵形式存在(如数据集、图像、权重矩阵)。下一节我们将学习矩阵的秩,思考一下:一个矩阵的行向量组的秩、列向量组的秩,以及矩阵本身可能定义的秩,它们之间会有怎样的联系?

— 小象教研组

配套学习资源与课件
  • 第10章讲义(含板书):线性代数(PDF · 15.5MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问