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

基与维数

约 35 分钟

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

基与维数

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

在上一节,我们通过“秩”的概念,深入剖析了线性方程组解的结构,并引入了“基础解系”这一工具来描述解空间。本节,我们将为“基础解系”这一特殊概念赋予更一般的数学内涵——,并由此定义线性空间的维数。理解基与维数是掌握线性空间结构、进行坐标变换以及后续学习特征值与奇异值分解(SVD)等高级主题的基石。

💡 核心导读

本节你将掌握:

  • 基的定义:理解“极大线性无关组”如何成为描述空间结构的“基”。
  • 维数的引入:为何基中向量的个数如此重要?它被定义为空间的维数。
  • 坐标的新视角:在给定基下,向量如何与一组有序数(坐标)一一对应。
  • 生成子空间:如何用一组向量“张成”一个子空间,其维数等于该向量组的秩。
  • 秩的几何意义:矩阵的行秩与列秩相等,揭示了行空间与列空间维数相等的奇妙事实。

基的定义与性质

我们从一个核心概念出发。

定义(基):设 UU 是数域 KKnn 维向量空间 KnK^n 的一个非零线性子空间。如果 UU 中的一组向量 α1,α2,,αs\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_s 满足:

  1. 线性无关
  2. UU任一向量 α\boldsymbol{\alpha} 都可由 α1,α2,,αs\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_s 线性表出, 则称 α1,α2,,αs\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_sUU 的一个

简而言之,子空间 UU 的基就是 UU 自身的一个极大线性无关组。它用最“经济”且“完备”的一组向量,刻画了整个空间的结构。

例1(标准基):在 KnK^n 中,向量组 ϵ1,ϵ2,,ϵn\boldsymbol{\epsilon}_1, \boldsymbol{\epsilon}_2, \dots, \boldsymbol{\epsilon}_n 是它的一组基,其中 ϵi\boldsymbol{\epsilon}_i 是第 ii 个分量为 11,其余分量为 00nn 维向量。 ϵ1=(100),ϵ2=(010),,ϵn=(001)\boldsymbol{\epsilon}_1 = \begin{pmatrix}1 \ 0 \ \vdots \ 0\end{pmatrix},\quad \boldsymbol{\epsilon}_2 = \begin{pmatrix}0 \ 1 \ \vdots \ 0\end{pmatrix},\quad \dots,\quad \boldsymbol{\epsilon}_n = \begin{pmatrix}0 \ 0 \ \vdots \ 1\end{pmatrix} 这组基称为 KnK^n标准基。将它们作为列向量拼起来,恰好得到 nn 阶单位矩阵 InI_n

例2(几何直观)

  • 在平面 R2\mathbb{R}^2 中,任意两个不共线的向量构成一组基。例如,(10)\begin{pmatrix}1 \ 0\end{pmatrix}(01)\begin{pmatrix}0 \ 1\end{pmatrix} 是标准基;(10)\begin{pmatrix}1 \ 0\end{pmatrix}(11)\begin{pmatrix}1 \ 1\end{pmatrix} 也是一组基。
  • 在空间 R3\mathbb{R}^3 中,任意三个不共面的向量构成一组基。例如,(100)\begin{pmatrix}1 \ 0 \ 0\end{pmatrix}, (010)\begin{pmatrix}0 \ 1 \ 0\end{pmatrix}, (001)\begin{pmatrix}0 \ 0 \ 1\end{pmatrix} 是标准基;任意三个线性无关(即不共面)的向量也是一组基。

基的存在性与扩充KnK^n 的任何一个非零子空间 UU 都一定存在基。更具体地,可以从 UU 中任意一个非零向量开始,逐步添加新的向量,只要新向量不能被已有向量线性表出(即不“共面”于已有向量张成的子空间),最终就能扩充成 UU 的一组基。

维数:基的度量

一个重要的问题是:一个子空间的不同基,所含向量的个数是否相同?答案是肯定的。

定理:设 UUKnK^n 的一个非零子空间,则 UU 的任意两个基所含向量的个数相等。

证明思路:设 α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_sβ1,,βr\boldsymbol{\beta}_1, \dots, \boldsymbol{\beta}_rUU 的两组基。因为基可以表出 UU 中所有向量,所以这两组向量可以相互线性表出,即它们等价。等价的向量组秩相等。而基本身是线性无关的,故 rank(α1,,αs)=s\mathrm{rank}(\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s) = srank(β1,,βr)=r\mathrm{rank}(\boldsymbol{\beta}_1, \dots, \boldsymbol{\beta}_r) = r。因此 s=rs = r

既然基的向量个数是唯一确定的,我们就可以用这个数来刻画空间的大小。

定义(维数)

  • UUKnK^n 的一个非零子空间,UU 的一个基所含向量的个数称为 UU维数,记作 dimU\dim U
  • 规定只含零向量的子空间 {0}{\boldsymbol{0}} 的维数为 00

  • dimKn=n\dim K^n = n,因为其标准基含有 nn 个向量。
  • 对于齐次线性方程组 Ax=0A\boldsymbol{x}=\boldsymbol{0} 的解空间 WW,我们有 dimW=nrank(A)\dim W = n - \mathrm{rank}(A)。这正是我们之前求基础解系时,得到 nrn-r 个解向量的理论依据。这个公式 dimW=nrank(A)\dim W = n - \mathrm{rank}(A) 非常重要,它用系数矩阵的秩 (r)(r) 和未知量个数 (n)(n) 这两个代数量,精确刻画了解空间的“自由度”(几何维数)。

坐标:向量在基下的表示

基为我们提供了一种“丈量”向量的标尺。

定理(坐标的唯一性):设 α1,,αr\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_r 是子空间 UU 的一组基,则 UU 中任一向量 α\boldsymbol{\alpha} 可被这组基唯一地线性表出。即存在唯一的一组数 a1,a2,,arKa_1, a_2, \dots, a_r \in K,使得 α=a1α1+a2α2++arαr.\boldsymbol{\alpha} = a_1 \boldsymbol{\alpha}_1 + a_2 \boldsymbol{\alpha}_2 + \dots + a_r \boldsymbol{\alpha}_r.

证明:存在性由基的定义保证。假设有两组表示: α=a1α1++arαr=b1α1++brαr\boldsymbol{\alpha} = a_1 \boldsymbol{\alpha}_1 + \dots + a_r \boldsymbol{\alpha}_r = b_1 \boldsymbol{\alpha}_1 + \dots + b_r \boldsymbol{\alpha}_r。 两式相减得:(a1b1)α1++(arbr)αr=0(a_1 - b_1)\boldsymbol{\alpha}_1 + \dots + (a_r - b_r)\boldsymbol{\alpha}_r = \boldsymbol{0}。 由于 α1,,αr\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_r 线性无关,故系数全为零,即 ai=bia_i = b_ii=1,,ri=1,\dots,r 成立。唯一性得证。

基于这种唯一对应关系,我们引入坐标的概念。

定义(坐标):设 α1,,αr\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_r 是子空间 UU 的一组基,向量 αU\boldsymbol{\alpha} \in U 有唯一表示 α=a1α1++arαr\boldsymbol{\alpha} = a_1 \boldsymbol{\alpha}_1 + \dots + a_r \boldsymbol{\alpha}_r,则称有序数组 (a1,a2,,ar)T(a_1, a_2, \dots, a_r)^T 为向量 α\boldsymbol{\alpha} 在基 α1,,αr\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_r 下的坐标

核心思想:一旦选定了一组基,子空间 UU 中的每一个向量 α\boldsymbol{\alpha} 就与其坐标 (a1,,ar)T(a_1, \dots, a_r)^T 建立了一一对应的关系。当我们选取不同的基时,同一个向量会有不同的坐标表示,这正是后续学习线性坐标变换的基础。

:极坐标、球坐标等曲线坐标不属于线性空间基下的坐标范畴,其坐标变换为非线性变换。

生成子空间及其维数

我们常常需要研究由给定向量组“撑起来”的空间。

定义(生成子空间):设 α1,α2,,αs\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_sKnK^n 中的一组向量。由它们的所有线性组合构成的集合 α1,α2,,αs={k1α1+k2α2++ksαsk1,k2,,ksK}\langle \boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_s \rangle = { k_1\boldsymbol{\alpha}_1 + k_2\boldsymbol{\alpha}_2 + \dots + k_s\boldsymbol{\alpha}_s \mid k_1, k_2, \dots, k_s \in K }KnK^n 的一个子空间,称为由 α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s 生成(或张成)的子空间。

:齐次线性方程组 Ax=0A\boldsymbol{x}=\boldsymbol{0} 的解空间 WW,若其基础解系为 ξ1,,ξt\boldsymbol{\xi}_1, \dots, \boldsymbol{\xi}_t,则 WW 可以简洁地表示为: W=ξ1,ξ2,,ξt={k1ξ1++ktξtkiK}.W = \langle \boldsymbol{\xi}_1, \boldsymbol{\xi}_2, \dots, \boldsymbol{\xi}_t \rangle = { k_1\boldsymbol{\xi}_1 + \dots + k_t\boldsymbol{\xi}_t \mid k_i \in K }.

一个自然的问题是:生成子空间的维数是多少?答案与向量组的秩紧密相关。

定理:设向量组 α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s 生成子空间 U=α1,,αsU = \langle \boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s \rangle,则 dimU=rank(α1,,αs).\dim U = \mathrm{rank}(\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s). 即,生成子空间的维数等于生成它的向量组的秩。

证明思路:设向量组 α1,,αs\boldsymbol{\alpha}1, \dots, \boldsymbol{\alpha}s 的秩为 rr,其一个极大线性无关组为 αi1,,αir\boldsymbol{\alpha}{i_1}, \dots, \boldsymbol{\alpha}{i_r}。这个极大线性无关组本身线性无关,并且可以线性表出原向量组中的所有向量,从而可以表出 UU 中所有向量。因此,αi1,,αir\boldsymbol{\alpha}{i_1}, \dots, \boldsymbol{\alpha}{i_r} 就是 UU 的一组基,故 dimU=r\dim U = r

这个定理将向量组的代数性质(秩)与其生成的几何对象(子空间)的维数统一了起来。秩,从某种意义上,反映了这组向量所蕴含信息的“复杂度”或“自由度”。

由此,我们可以重新审视矩阵的行秩与列秩。

推论(行空间与列空间):设 AA 是一个 s×ns \times n 矩阵。

  • AAss 个行向量张成的子空间称为 AA行空间,它是 KnK^n 的子空间。
  • AAnn 个列向量张成的子空间称为 AA列空间,它是 KsK^s 的子空间。
  • 则有:行空间的维数 = 列空间的维数 = rank(A)\mathrm{rank}(A)

这是一个深刻而美妙的结论:尽管行空间和列空间位于不同的向量空间(KnK^nKsK^s)中,但它们的维数(即“大小”)却由同一个数——矩阵的秩——所决定。

import numpy as np
# 示例:验证生成子空间的维数等于向量组的秩
# 定义一组向量 (作为行向量)
v1 = np.array([1, 2, -1, 0])
v2 = np.array([2, 4, 1, 1])
v3 = np.array([0, 0, 3, 1])
v4 = np.array([1, 2, 0, 0])

vectors = np.vstack([v1, v2, v3, v4])  # 构成矩阵
print("向量组矩阵:")
print(vectors)

# 方法1:计算矩阵的秩
rank_A = np.linalg.matrix_rank(vectors)
print(f"\n矩阵的秩 (向量组的秩): {rank_A}")

# 方法2:通过行简化阶梯形(RREF)求秩与极大无关组
# 使用sympy进行精确的符号行化简
# 注意:vectors 的每一行是一个向量。行初等变换保持的是"列向量组"的线性相关性,
# 因此要求"行向量组"的极大无关组,需先转置,让每个原向量成为一列。
import sympy as sp
M = sp.Matrix(vectors.T)
rref_matrix, pivot_cols = M.rref()
print("\n行简化阶梯形(RREF)(列对应原行向量):")
print(rref_matrix)
print(f"极大无关组对应原向量索引: {pivot_cols}")
print(f"RREF主元列数 (即秩): {len(pivot_cols)}")

# 生成子空间的维数即为秩
print(f"\n结论:由这组向量生成的子空间维数为 {rank_A}。")
# 主元列对应的原行向量,即为生成子空间的一组基
basis_vectors = vectors[pivot_cols, :]
print("生成子空间的一组基(对应极大无关组的原向量):")
print(basis_vectors)

📝 动手练一练

  1. 基的判定与坐标计算:考虑 R3\mathbb{R}^3 中的向量组 $\boldsymbol{v}_1 = \begin{pmatrix}1 \ 2 \ 3\end{pmatrix},\quad \boldsymbol{v}_2 = \begin{pmatrix}2 \ 5 \ 7\end{pmatrix},\quad \boldsymbol{v}_3 = \begin{pmatrix}1 \ 3 \ 5\end{pmatrix}$。 a) 判断 {v1,v2,v3}{\boldsymbol{v}_1, \boldsymbol{v}_2, \boldsymbol{v}_3} 是否为 R3\mathbb{R}^3 的一组基?说明理由。 b) 若 b=(3711)\boldsymbol{b} = \begin{pmatrix}3 \ 7 \ 11\end{pmatrix},求 b\boldsymbol{b} 在基 {v1,v2,v3}{\boldsymbol{v}_1, \boldsymbol{v}_2, \boldsymbol{v}_3}(如果是基)下的坐标。

  2. 生成子空间:设 u1=(110),u2=(202),u3=(022)\boldsymbol{u}_1 = \begin{pmatrix}1 \ -1 \ 0\end{pmatrix}, \boldsymbol{u}_2 = \begin{pmatrix}2 \ 0 \ -2\end{pmatrix}, \boldsymbol{u}_3 = \begin{pmatrix}0 \ -2 \ 2\end{pmatrix}。 a) 求由 u1,u2,u3\boldsymbol{u}_1, \boldsymbol{u}_2, \boldsymbol{u}_3 生成的子空间 U=u1,u2,u3U = \langle \boldsymbol{u}_1, \boldsymbol{u}_2, \boldsymbol{u}_3 \rangle 的维数。 b) 给出 UU 的一组基。

参考答案:

  1. a) 是一组基。将三个向量作为列向量构成矩阵 A=[v1,v2,v3]A = [\boldsymbol{v}_1, \boldsymbol{v}_2, \boldsymbol{v}_3],计算其行列式 det(A)=10\det(A)=1 \neq 0(或通过行变换得其秩为3),说明它们线性无关。而 R3\mathbb{R}^3 的维数为3,故这三个线性无关的向量构成 R3\mathbb{R}^3 的一组基。 b) 设坐标为 (k1,k2,k3)T(k_1, k_2, k_3)^T,即解方程 k1v1+k2v2+k3v3=bk_1\boldsymbol{v}_1 + k_2\boldsymbol{v}_2 + k_3\boldsymbol{v}_3 = \boldsymbol{b}。对应线性方程组为: {k1+2k2+k3=32k1+5k2+3k3=73k1+7k2+5k3=11\begin{cases} k_1 + 2k_2 + k_3 = 3 \ 2k_1 + 5k_2 + 3k_3 = 7 \ 3k_1 + 7k_2 + 5k_3 = 11 \end{cases} 消元求解:(2)2×(1)(2) - 2\times(1)k2+k3=1k_2 + k_3 = 1(3)3×(1)(3) - 3\times(1)k2+2k3=2k_2 + 2k_3 = 2,两式相减得 k3=1k_3 = 1,回代得 k2=0k_2 = 0,再由 (1)(1)k1=2k_1 = 2。故 b\boldsymbol{b} 在该基下的坐标为 (2,0,1)T(2, 0, 1)^T。 验证:2v1+0v2+1v3=(2,4,6)+(1,3,5)=(3,7,11)=b2\boldsymbol{v}_1 + 0\boldsymbol{v}_2 + 1\boldsymbol{v}_3 = (2, 4, 6) + (1, 3, 5) = (3, 7, 11) = \boldsymbol{b}

  2. a) 将向量作为列向量构成矩阵 B=[u1,u2,u3]B = [\boldsymbol{u}_1, \boldsymbol{u}_2, \boldsymbol{u}_3],进行行化简: B=(120102022)行变换(120022000)B = \begin{pmatrix} 1 & 2 & 0 \ -1 & 0 & -2 \ 0 & -2 & 2 \end{pmatrix} \xrightarrow{\text{行变换}} \begin{pmatrix} 1 & 2 & 0 \ 0 & 2 & -2 \ 0 & 0 & 0 \end{pmatrix} 矩阵的秩为2,故 dimU=2\dim U = 2。 b) 行化简后的主元列是第1列和第2列,因此原向量组的一个极大线性无关组(即 UU 的一组基)可取为 {u1,u2}{\boldsymbol{u}_1, \boldsymbol{u}_2}。实际上,u3=2u1u2\boldsymbol{u}_3 = 2\boldsymbol{u}_1 - \boldsymbol{u}_2(验证:2(1,1,0)(2,0,2)=(0,2,2)=u32(1, -1, 0) - (2, 0, -2) = (0, -2, 2) = \boldsymbol{u}_3)。

本章小结

本节我们完成了从具体计算到抽象概念的关键跨越:

  • 从基础解系到基:我们认识到,齐次线性方程组的基础解系就是其解空间的一组基。
  • 维数的精确定义:基所含向量的个数被定义为线性空间的维数,它是一个不依赖于基的选择的内在属性。核心公式 dimW=nrank(A)\dim W = n - \mathrm{rank}(A) 连接了代数(秩)与几何(维数)。
  • 坐标的数学本质:在选定基后,向量与其坐标(线性组合系数)一一对应。这为用数组(数字)研究几何对象提供了理论依据。
  • 秩的几何诠释:向量组的秩等于其生成子空间的维数。矩阵的行秩与列秩相等,意味着行空间与列空间虽然身处不同“世界”,却有着相同的“规模”。

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

  1. 判断与求基:给定一个子空间(如解空间),能判断一组向量是否为其基,并能求出一组基。
  2. 计算坐标:给定向量和一组基,能求出该向量在此基下的坐标。
  3. 理解维数:看到 dimV=d\dim V = d,能明确这意味着 VV 中任意 d+1d+1 个向量都线性相关,且存在 dd 个线性无关的向量。

— 小象教研组

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

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

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

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