← 返回《人工智能数学基础》
📑 查看全课大纲(第 68 / 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.对偶问题(二)

矩阵的秩与线性方程组有解的充要条件

约 37 分钟

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

矩阵的秩与线性方程组有解的充要条件

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

本节我们将深入探讨矩阵秩的核心理论及其在线性方程组求解中的决定性作用。矩阵的秩是线性代数中衡量矩阵“信息含量”或“有效维度”的关键指标。理解秩的定义、性质及其与线性方程组解的关系,是掌握线性代数基础、理解后续特征值、奇异值分解(SVD)以及最优化问题中约束条件的基石。学完本节,你将能准确判断任意线性方程组是否有解、解是否唯一,并能运用秩的理论解决相关问题。

💡 核心导读

  • 秩的良定义:证明矩阵的行秩与列秩相等,从而矩阵的秩是唯一确定的。
  • 秩的性质:掌握矩阵秩的基本性质,包括与转置、初等变换、子式的关系,以及满秩矩阵的等价刻画。
  • 秩的计算:理解通过初等变换化为阶梯形矩阵是求秩的通用方法。
  • 解的存在性:掌握线性方程组(包括齐次与非齐次)有解、有唯一解、有无穷多解的秩判别准则。
  • 应用实例:通过范德蒙矩阵等经典例子,学习如何综合运用秩的性质解决问题。

矩阵秩的定义:行秩等于列秩

我们已知向量组有“秩”的概念,即其极大线性无关组所含向量的个数。对于一个 m×nm \times n 矩阵 AA,我们可以按行分块得到行向量组,按列分块得到列向量组。自然地,我们可以定义:

  • 行秩:矩阵 AA 的行向量组的秩。
  • 列秩:矩阵 AA 的列向量组的秩。

一个根本性的问题是:行秩和列秩是否相等?答案是肯定的。我们将通过以下三个步骤证明这一点,从而确保矩阵的 秩 (rank),记作 rank(A)\text{rank}(A),是一个良定义的概念,即 rank(A)=行秩=列秩\text{rank}(A) = \text{行秩} = \text{列秩}

证明思路

  1. 证明对于特殊的阶梯形矩阵,行秩等于列秩。
  2. 证明初等行变换不改变矩阵的行秩,也不改变其列向量组的线性相关性(从而不改变列秩)。
  3. 结合1和2:任何矩阵 AA 可通过初等行变换化为阶梯形矩阵 JJ。由于初等行变换不改变行秩和列秩,而 JJ 的行秩等于列秩,因此 AA 的行秩也等于列秩。

命题一:阶梯形矩阵的行秩等于列秩

JJ 是一个 m×nm \times n 的阶梯形矩阵,其非零行个数为 rr

  • 行秩:阶梯形矩阵的非零行是线性无关的(因为每个非零行都有唯一的主元,其位置逐行右移)。因此,行秩等于非零行个数 rr
  • 列秩:主元所在的 rr 个列向量构成一个线性无关组。同时,其他任何列向量均可由这 rr 个列向量线性表示(因为其他列在主元位置的分量为0,其结构由这 rr 列决定)。因此,这 rr 个列是列向量组的一个极大线性无关组,故列秩也等于 rr

综上,对阶梯形矩阵 JJ,有 行秩(J)=列秩(J)=r\text{行秩}(J) = \text{列秩}(J) = r

命题二:初等行变换不改变行秩

初等行变换有三种:

  1. 交换两行。
  2. 以非零常数 kk 乘某一行。
  3. 将某一行的 kk 倍加到另一行。

变换1和2显然不改变行向量组的线性关系。对于变换3,设矩阵 AA 的行向量组为 γ1,,γm\boldsymbol{\gamma}_1, \dots, \boldsymbol{\gamma}_m。将第 ii 行的 kk 倍加到第 jj 行得到矩阵 BB,其行向量组为 γ1,,γi,,γj+kγi,,γm\boldsymbol{\gamma}_1, \dots, \boldsymbol{\gamma}_i, \dots, \boldsymbol{\gamma}_j+k\boldsymbol{\gamma}_i, \dots, \boldsymbol{\gamma}_m

  • BB 的行向量可由 AA 的行向量线性表出。
  • 反之,由于 k0k \neq 0,将 BB 的第 ii 行的 (k)(-k) 倍加到第 jj 行即可得到 AA,故 AA 的行向量也可由 BB 的行向量线性表出。 因此,AABB 的行向量组等价,等价的向量组秩相等,故初等行变换不改变行秩。

命题三:初等行变换不改变列秩(即不改变列向量组的线性相关性)

设矩阵 CC 经过初等行变换变为 DD,其列向量组分别为 η1,,ηn\boldsymbol{\eta}_1, \dots, \boldsymbol{\eta}_nδ1,,δn\boldsymbol{\delta}_1, \dots, \boldsymbol{\delta}_n。 考虑齐次线性方程组 Cx=0C\boldsymbol{x} = \boldsymbol{0}Dx=0D\boldsymbol{x} = \boldsymbol{0}。由于初等行变换是求解线性方程组的同解变换,故这两个方程组同解。

  • CC 的列向量组线性相关,则存在非零解 x0\boldsymbol{x}_0 使得 Cx0=0C\boldsymbol{x}_0 = \boldsymbol{0}。由同解性,Dx0=0D\boldsymbol{x}_0 = \boldsymbol{0},故 DD 的列向量组也线性相关。
  • 反之亦然。

因此,初等行变换不改变列向量组的线性相关性。由于向量组的秩就是其极大线性无关组所含向量的个数,这等价于初等行变换不改变列秩。

综合证明:对任意矩阵 AA,施以初等行变换化为阶梯形矩阵 JJ。由命题二,行秩(A)=行秩(J)\text{行秩}(A) = \text{行秩}(J)。由命题三,列秩(A)=列秩(J)\text{列秩}(A) = \text{列秩}(J)。又由命题一,行秩(J)=列秩(J)\text{行秩}(J) = \text{列秩}(J)。故 行秩(A)=列秩(A)\text{行秩}(A) = \text{列秩}(A)。证毕。

至此,我们可以统一定义矩阵 AA 的秩 rank(A)\text{rank}(A) 为其行秩(或列秩)。

矩阵秩的性质

矩阵的秩具有一系列重要性质,这些性质是分析和计算的基础。

  1. 秩与阶梯形矩阵:矩阵 AA 的秩等于其经初等行变换化得的行简化阶梯形矩阵 JJ 中非零行的个数。JJ 中主元所在的列,对应于原矩阵 AA 的列向量组的一个极大线性无关组。

  2. 转置不改变秩rank(A)=rank(AT)\text{rank}(A) = \text{rank}(A^T)证明rank(A)\text{rank}(A)AA 的列秩,而 ATA^T 的行秩就是 AA 的列秩。又因为 ATA^T 的行秩等于其秩,故得证。

  3. 初等变换不改变秩:矩阵的初等行变换或初等列变换均不改变其秩。 证明:初等行变换不改变秩已证。对于初等列变换,注意到对 AA 做初等列变换等价于对 ATA^T 做初等行变换,再由性质2可知其秩不变。

  4. 秩等于非零子式的最高阶数:设 AAm×nm \times n 矩阵,且 rank(A)=r\text{rank}(A)=r,则:

    • AA 至少存在一个 rr 阶子式不为零。
    • AA 的所有 r+1r+1 阶子式(如果存在)都为零。 证明思路:因为秩为 rr,存在 rr 个线性无关的行向量和 rr 个线性无关的列向量。由这些行和列交叉点构成的 rr 阶子矩阵是满秩方阵,其行列式(即 rr 阶子式)不为零。任何 r+1r+1 阶子式对应的行/列向量组必然线性相关(因为极大无关组只有 rr 个向量),故其行列式为零。
  5. 满秩矩阵:对于 nn 阶方阵 AA,以下条件等价:

    • rank(A)=n\text{rank}(A) = n(称 AA满秩矩阵)。
    • A0|A| \neq 0
    • AA 的行(列)向量组线性无关。
    • 齐次方程组 Ax=0A\boldsymbol{x}=\boldsymbol{0} 只有零解。
    • AA 可逆。 这个性质将秩、行列式、可逆性、方程组解的特性完美地联系在了一起。

线性方程组解的判别定理

设非齐次线性方程组为 Ax=βA\boldsymbol{x} = \boldsymbol{\beta},其中 AAm×nm \times n 系数矩阵,β\boldsymbol{\beta}mm 维常数向量。记增广矩阵为 A=(Aβ)\tilde{A} = (A \mid \boldsymbol{\beta})

有解判别定理

线性方程组 Ax=βA\boldsymbol{x} = \boldsymbol{\beta} 有解的充分必要条件是系数矩阵的秩等于增广矩阵的秩,即 rank(A)=rank(A)\text{rank}(A) = \text{rank}(\tilde{A})

证明

  • 必要性:若有解 x0\boldsymbol{x}_0,则 β=x1α1++xnαn\boldsymbol{\beta} = x_1\boldsymbol{\alpha}_1 + \dots + x_n\boldsymbol{\alpha}_n,其中 αi\boldsymbol{\alpha}_iAA 的列向量。这意味着 β\boldsymbol{\beta} 可由 AA 的列向量组线性表出,因此加入 β\boldsymbol{\beta} 不改变向量组的秩,故 rank(A)=rank(A)\text{rank}(A) = \text{rank}(\tilde{A})
  • 充分性:若 rank(A)=rank(A)\text{rank}(A) = \text{rank}(\tilde{A}),说明 β\boldsymbol{\beta} 加入后未增加列向量组的秩,即 β\boldsymbol{\beta} 可由 AA 的列向量组线性表出,这正好对应方程组有解。

解的数量定理

当线性方程组 Ax=βA\boldsymbol{x} = \boldsymbol{\beta} 有解(即 rank(A)=rank(A)\text{rank}(A) = \text{rank}(\tilde{A}))时:

  • 唯一解的充分必要条件是 rank(A)=n\text{rank}(A) = n(未知量个数)。
  • 有无穷多解的充分必要条件是 rank(A)<n\text{rank}(A) < n

解释rank(A)\text{rank}(A) 即阶梯形矩阵中非零行个数(约束方程的有效个数)。当有效约束数等于未知量数时,每个未知量都被唯一确定;当有效约束数小于未知量数时,存在自由未知量,故有无穷多解。

齐次方程组有非零解的条件

对于齐次线性方程组 Ax=0A\boldsymbol{x} = \boldsymbol{0},它总有零解。其有非零解的充分必要条件是: rank(A)<n\text{rank}(A) < n 这是因为齐次方程组必有解,根据上面的解的数量定理,有非零解(即解不唯一)等价于 rank(A)<n\text{rank}(A) < n

这些定理用“秩”的语言,统一而简洁地刻画了线性方程组解的所有情况。

import numpy as np

# 示例:利用秩判断线性方程组的解
# 考虑方程组:
# x + 2y + 3z = 6
# 2x + 4y + 6z = 12
# 3x + 6y + 9z = 18

A = np.array([[1, 2, 3],
              [2, 4, 6],
              [3, 6, 9]], dtype=float)
beta = np.array([6, 12, 18], dtype=float)
A_tilde = np.column_stack((A, beta)) # 构造增广矩阵

rank_A = np.linalg.matrix_rank(A)
rank_A_tilde = np.linalg.matrix_rank(A_tilde)
n = A.shape[1] # 未知量个数

print(f"系数矩阵 A 的秩: {rank_A}")
print(f"增广矩阵 (A|β) 的秩: {rank_A_tilde}")
print(f"未知量个数 n: {n}\n")

# 判断解的情况
if rank_A != rank_A_tilde:
    print("结论:方程组无解。")
elif rank_A == n:
    print("结论:方程组有唯一解。")
    # 当有唯一解时,可以用np.linalg.solve求解
    # x = np.linalg.solve(A, beta)
    # print(f"唯一解为: {x}")
else: # rank_A == rank_A_tilde and rank_A < n
    print("结论:方程组有无穷多解。")
    # 对于无穷多解的情况,可以求一个特解和基础解系
    # 这里仅作示意,实际求解需更完整的步骤(如化为行最简形)
    print("提示:系数矩阵行向量线性相关,方程组存在自由变量。")

# 验证:计算系数矩阵的行列式(对于方阵)
if A.shape[0] == A.shape[1]:
    det_A = np.linalg.det(A)
    print(f"\n系数矩阵的行列式 |A| = {det_A:.2f}")
    if abs(det_A) < 1e-10: # 考虑浮点误差
        print("|A| ≈ 0,矩阵不满秩,与秩的计算结果一致。")

📝 动手练一练

  1. 判断题:一个 5×35 \times 3 的矩阵(5行3列),其秩可能等于4吗?为什么? 参考答案:不可能。矩阵的秩既不能超过行数,也不能超过列数,即 rank(A)min(m,n)\text{rank}(A) \le \min(m, n)。对于 5×35 \times 3 矩阵,min(5,3)=3\min(5, 3)=3,因此秩的最大值为3,不可能等于4。

  2. 计算与证明题:已知矩阵 A=[1aa21bb21cc2]A = \begin{bmatrix} 1 & a & a^2 \ 1 & b & b^2 \ 1 & c & c^2 \end{bmatrix},其中 a,b,ca, b, c 互不相等。 (1) 求矩阵 AA 的秩。 (2) 判断齐次线性方程组 Ax=0A\boldsymbol{x} = \boldsymbol{0} 是否有非零解。 参考答案: (1) 矩阵 AA 是一个范德蒙矩阵。当 a,b,ca, b, c 互不相等时,其行列式 A=(ba)(ca)(cb)0|A| = (b-a)(c-a)(c-b) \neq 0。根据满秩矩阵的性质,33 阶方阵行列式不为零意味着其秩为 33,即 rank(A)=3\text{rank}(A)=3。 (2) 齐次方程组 Ax=0A\boldsymbol{x}=\boldsymbol{0} 有非零解的充要条件是 rank(A)<n\text{rank}(A) < n(这里 n=3n=3)。由于 rank(A)=3=n\text{rank}(A)=3 = n,因此该齐次方程组只有零解,没有非零解。

本章小结

本节我们建立了矩阵秩的完整理论框架,并将其应用于线性方程组的求解分析。

要点回顾

  1. 秩的良定义性:矩阵的行秩恒等于列秩,这个共同值定义为矩阵的秩 rank(A)\text{rank}(A)。证明的关键在于初等变换不改变秩,并将任意矩阵化为阶梯形矩阵进行分析。
  2. 秩的核心性质
    • 初等变换不改变秩,这提供了计算秩的通用方法(化为阶梯形)。
    • rank(A)=rank(AT)\text{rank}(A) = \text{rank}(A^T)
    • 矩阵的秩等于其非零子式的最高阶数。
    • 对方阵 AArank(A)=n    A0    A\text{rank}(A)=n \iff |A| \neq 0 \iff A 可逆。
  3. 秩与线性方程组
    • Ax=βA\boldsymbol{x}=\boldsymbol{\beta} 有解     rank(A)=rank(A)\iff \text{rank}(A) = \text{rank}(\tilde{A})
    • 有解时,唯一解     rank(A)=n\iff \text{rank}(A) = n无穷多解     rank(A)<n\iff \text{rank}(A) < n
    • Ax=0A\boldsymbol{x}=\boldsymbol{0} 有非零解     rank(A)<n\iff \text{rank}(A) < n

行动清单

  • 动手算:任给一个矩阵,尝试用 Python 的 np.linalg.matrix_rank 计算其秩,并手动通过初等行变换验证。
  • 判断练习:遇到一个线性方程组,养成先判断 rank(A)\text{rank}(A)rank(A)\text{rank}(\tilde{A}) 关系的习惯,再决定是要求解还是直接下结论。
  • 概念串联:画一张思维导图,将“矩阵的秩”与“向量组线性相关性”、“行列式”、“矩阵可逆性”、“方程组解的结构”这几个核心概念连接起来,理解它们之间的等价与推导关系。

掌握矩阵的秩,就如同掌握了线性代数知识网络的一个关键枢纽。它将之前分散的概念凝聚成一个有力的工具,为后续学习特征值、二次型、奇异值分解以及机器学习中的降维算法(如PCA)奠定了坚实的理论基础。

— 小象教研组

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

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

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

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