第 1 章 线性代数 I:向量空间、矩阵与四个基本子空间

本章要建立的不是"会算矩阵",而是矩阵作为线性映射的思维方式:一个 m×n 矩阵把 n 维空间线性地压到 m 维空间,压掉了什么(零空间)、留下了什么(列空间)、有效维度是多少(秩)。后面所有章节——最小二乘、特征分解、SVD、PCA、注意力机制的维度账本——都是在这一套语言上做加法。

学习目标

读完本章,你应当能够:

  1. 默写向量空间的八条公理,并用"对加法与数乘封闭"判定一个集合是否为子空间;
  2. 推导矩阵乘法两种定义(元素求和式与线性组合式)的等价性,并解释为什么没有交换律;
  3. 画出四个基本子空间的维度与正交关系图,写出秩-零化度定理并说明其证明思路;
  4. 判定可逆性,并能从十个等价条件中任选一条推出另一条;
  5. 辨析协方差矩阵与 Gram 矩阵的维度差异,说清"阶数由谁决定"。

前置知识检查

你需要知道在哪一节补齐
向量、线性组合、方程组解集1.1.1
什么是"运算封闭"1.1.2
矩阵乘法的机械算法(行乘列)1.2.1(并给出为什么这样定义)
行列式怎么算1.4.2(只用到 det = 0 的判定含义)
高斯消元(只会消元、不知含义)1.3.3(重讲为"求秩与找基")
正交、内积、投影本章只给结论,完整推导见第 2 章 2.3、2.4 节

注意

本章出现的"正交"只用到一条事实:xᵀy = 0 表示两个方向垂直。内积的公理化定义、投影矩阵的构造与最小二乘的几何解释放在第 2 章,本章先把"四个子空间互相正交"这张地图画出来,第 2 章再用它做投影。

1.1 从向量到向量空间

1.1.1 先有直觉:向量是"可加、可缩放的东西"

中学阶段我们把向量理解为"带箭头的量",或者干脆是一个坐标数组 x = (x₁, x₂, …, xₙ)。这个理解对计算够用,但对理解机器学习不够用。因为在机器学习里,被当作向量处理的往往是函数、多项式、图像块、词嵌入——它们不是箭头,却同样满足"能相加、能按比例缩放"。

两个向量最基本的操作是:

1
线性组合(linear combination):  y = c₁x₁ + c₂x₂ + … + cₖxₖ

c₁…cₖ 是标量。线性代数的全部内容,本质上都在研究"线性组合能到达哪些点"以及"到达方式是否唯一"——前者是张成与列空间,后者是线性无关与零空间。

1.1.2 向量空间的公理化定义

设 V 是一个非空集合,在 V 上定义了加法 + 和数乘(标量乘法)两种运算。若对任意 u, v, w ∈ V 和任意标量 c, d ∈ R 都满足下列八条,则称 V 是向量空间(vector space),V 中的元素称为向量:

类别公理内容
加法A1 交换律u + v = v + u
加法A2 结合律(u + v) + w = u + (v + w)
加法A3 零元存在 0 ∈ V,使 v + 0 = v
加法A4 负元对每个 v 存在 −v,使 v + (−v) = 0
数乘M1 单位元1·v = v
数乘M2 结合律c(dv) = (cd)v
混合D1 分配律c(u + v) = cu + cv
混合D2 分配律(c + d)v = cv + dv

为什么要费劲列这八条? 因为一旦某个结论只从这八条推出,它就自动对所有满足这八条的对象成立。后面我们会用同样的方式定义内积(第 2 章 2.1 节)、范数(2.2 节)、概率(第 4 章)——这叫"公理化方法",是数学把特例升级为通用工具的标准手段。工程上的收益很直接:Faiss 里能对向量做的操作、NumPy 里能对数组做的操作,只要满足这八条就能共用同一套算法。

需要立刻记住的两个常见向量空间:

  • R^n:所有 n 元实数列向量,加法和数乘按分量做。
  • R^{m×n}:所有 m×n 实矩阵。注意矩阵本身也是向量——R^{m×n} 与 R^{mn} 只是排列方式不同。这一点在理解"梯度是一个向量"时很关键。

警告

以下集合不是向量空间,是高频陷阱:

  • {x ∈ R² : x₁ ≥ 0}:对数乘不封闭,取 c = −1 就跑到集合外。
  • {x ∈ R² : x₁x₂ = 0}:即两条坐标轴之并,对加法不封闭,(1,0) + (0,1) = (1,1) 不在集合里。
  • {x ∈ R^n : ‖x‖ = 1}:单位球面,加法、数乘都不封闭。
  • 关键区分:齐次线性方程组的解集是向量空间,非齐次方程组的解集不是(不含零元,见 1.3.3)。

1.1.3 子空间与判定条件

V 的子集 W 若在继承的加法与数乘下自身也是向量空间,则称 W 是 V 的子空间(subspace)。

逐条验证八条公理是浪费的。因为 W ⊆ V,加法交换律、结合律、分配律等"等式型"公理自动继承。唯一可能失效的是封闭性与零元、负元是否存在。于是得到最常用的判定条件:

1
2
3
4
W 是子空间  ⟺  同时满足以下三条:
(1) 0 ∈ W                       (或:W 非空)
(2) 对任意 u, v ∈ W,u + v ∈ W   (加法封闭)
(3) 对任意 v ∈ W 和标量 c,cv ∈ W(数乘封闭)

(2)(3) 常合并成一句"对线性组合封闭":∀ c₁,c₂ ∈ R, ∀ u,v ∈ W,c₁u + c₂v ∈ W。此时 0 的存在性由 c₁ = c₂ = 0 自动得到,−v 由 c₁ = −1, c₂ = 0 得到。

三类最重要的子空间来源(这三条要背下来,它们把"解方程"与"空间结构"连起来):

  1. n 元齐次线性方程组 Ax = 0 的解集是 R^n 的子空间,即零空间 N(A)。
  2. 一组向量的全部线性组合构成子空间,即张成空间(span)。
  3. 矩阵 A 的各列的全部线性组合构成子空间,即列空间 Col(A)。

1.1.4 张成、基与维数

给定向量组 {v₁, …, vₖ},它的张成空间是

1
span{v₁, …, vₖ} = { c₁v₁ + c₂v₂ + … + cₖvₖ : cᵢ ∈ R }

直觉:span 是这组向量"用有限步线性组合能够到"的全部位置。span{(1,0),(0,1)} = R²;span{(1,0),(2,0)} = x 轴(第二个向量没带来任何新方向)。

如果一组向量 {b₁, …, b_d} 同时满足:

  • 张成 W:span{b₁,…,b_d} = W;
  • 线性无关:没有任何一个向量能由其余向量线性表示;

那么它称为 W 的一组基(basis)。基的两条要求恰好回答了两个问题:够不够用(张成)与有没有多余(无关)。所以基是"恰好够用的最小生成组",也是"最大的无关组"。

维数(dimension) 定义为基中向量的个数。这里有一个必须证过才能安心使用的事实:同一个空间的所有基含有的向量个数相同。证明思路是标准的"替换论证"——若存在一组 d 个无关向量和一组 e 个张成向量,则 d ≤ e(否则方程 Σcᵢvᵢ = 0 的未知数比方程多,必有非零解,破坏无关性)。对两组基互相代入即得 d ≤ e 且 e ≤ d,故 d = e。有了这条,维数才是空间自身的属性,而不是"某个基的属性"。

几个必背维数:

1
2
3
4
dim R^n = n
dim{0} = 0
dim span{v₁,…,vₖ} = 该向量组的极大无关组所含向量个数
dim P_n(次数 ≤ n 的多项式)= n + 1

1.2 矩阵:线性映射的坐标表示

1.2.1 矩阵乘法为什么这样定义

教材给出的是"左行乘右列、逐项相乘再相加"。这个算法本身没有解释力,需要问的是:为什么不是对应元素相乘? 答案要从"矩阵是线性映射"说起。

设 A 是 m×n 矩阵,x ∈ R^n。我们定义 A 作用于 x 的结果为 A 的各列按 x 的分量加权组合:

1
2
Ax = [a₁ a₂ … aₙ] · [x₁, x₂, …, xₙ]ᵀ
   = x₁a₁ + x₂a₂ + … + xₙaₙ        (aⱼ 是 A 的第 j 列,是 R^m 中的向量)

这个定义的含义是:Ax 一定是 A 的列向量的线性组合。于是"Ax = b 有解"与"b ∈ Col(A)“是同一句话,这就把线性方程组问题翻译成了空间问题。这是四个基本子空间的起点。

现在设 B 是 n×p 矩阵,复合映射 x ↦ A(Bx) 也是线性的,它的矩阵表示应该就是 AB。按上面的列组合定义推:

1
AB = A[b₁ b₂ … bₚ] = [Ab₁ Ab₂ … Abₚ]

即 AB 的第 j 列 = A 乘以 B 的第 j 列。再展开 Abⱼ:

1
(AB)_{ij} = Σ_{k=1}^{n} A_{ik} B_{kj}

这就回到了教材的"行乘列"公式。所以矩阵乘法的定义不是约定,是被"复合映射"逼出来的唯一选择:只有这种乘法的第 j 列才等于 A 作用在 B 第 j 列上的结果。如果改用逐元素相乘(Hadamard 积),复合映射就不再被正确表示,反传公式、层叠网络、注意力机制都会崩掉。

为什么没有交换律? 因为映射的复合本身不可交换:先把 R² 沿 x 轴压扁再旋转,与先旋转再压扁,结果不同。另外 AB 要求 A 的列数等于 B 的行数,而 BA 有定义需要另一组条件,很多时候只有一边能乘。代数上,“乘法可交换"是极强约束——能与所有矩阵交换的矩阵只有 cI(标量矩阵)。

1.2.2 运算律与常见错误

表达式是否恒成立正确形式 / 说明
(AB)C = A(BC)是结合律;对应映射复合的结合性
A(B + C) = AB + AC是分配律;线性性
(AB)ᵀ = AᵀBᵀ否(AB)ᵀ = BᵀAᵀ,转置反序,等于逆序复合
(A + B)² = A² + 2AB + B²否展开为 A² + AB + BA + B²;中间两项需 AB = BA 才能合并
(A + B)(A − B) = A² − B²否展开为 A² − AB + BA − B²
(Aᵀ)ᵀ = A、(A+B)ᵀ = Aᵀ + Bᵀ是转置对加法线性
(cA)ᵀ = cAᵀ、(A⁻¹)ᵀ = (Aᵀ)⁻¹是后者要求 A 可逆
(ABC)ᵀ = CᵀBᵀAᵀ是反序规律推广到任意有限个因子

转置的几何含义:(AB)ᵀ = BᵀAᵀ 与 (A⁻¹)ᵀ = (Aᵀ)⁻¹ 都是"反序”。转置的计算规则是主对角线元素不动、其余元素关于主对角线对称交换:(Aᵀ)_{ij} = A_{ji}。

1
2
3
4
5
6
7
A  = [ 1  2 ]        Aᵀ = [ 1  3 ]
     [ 3  4 ]             [ 2  4 ]
       ↑ 主对角线 1、4 位置不变,2 与 3 交换

错误做法:把矩阵旋转 180°  → [ 4  3 ]   (这是另一个矩阵,不是转置)
                              [ 2  1 ]
错误做法:只交换副对角线上的一个元素 → 不是合法的转置

重要

一切"等式恒成立"的判断题,先想三件事:转置有没有反序、可交换性有没有被偷偷使用、维度是否匹配。考场上绝大多数干扰项的病根都是这三条之一。

1.3 四个基本子空间

1.3.1 定义与坐标归属

设 A ∈ R^{m×n},r = r(A)。四个基本子空间(fundamental subspaces)如下。最容易被忽略、也最容易记错的是每个子空间住在哪个空间里,这取决于它是一个"输入侧"还是"输出侧"的概念。

名称记号定义所在空间维数
列空间Col(A){Ax : x ∈ R^n},即 A 各列的所有线性组合R^m(输出侧)r
零空间N(A){x ∈ R^n : Ax = 0}R^n(输入侧)n − r
行空间Col(Aᵀ)A 各行的所有线性组合R^n(输入侧)r
左零空间N(Aᵀ){y ∈ R^m : Aᵀy = 0},等价于 yᵀA = 0R^m(输出侧)m − r

判断象限的方法只有一句:看这个子空间的元素是什么东西。Col(A) 与 N(Aᵀ) 的元素是 m 维向量(它们住在输出空间 R^m);N(A) 与 Col(Aᵀ) 的元素是 n 维向量(住在输入空间 R^n)。

1
2
3
4
5
6
7
8
9
                    输入空间 R^n                         输出空间 R^m
        ┌──────────────────────────────┐   ┌──────────────────────────────┐
        │  dim = r     行空间 Col(Aᵀ)   │   │  dim = r     列空间 Col(A)   │
        │      (A 真正"看得见"的方向)  │ A │      (A 能达到的全部输出)   │
        │                              │──▶│                              │
        │  dim = n−r   零空间 N(A)     │   │  dim = m−r   左零空间 N(Aᵀ)  │
        │      (被 A 压成 0 的方向)    │   │      (A 永远达不到的方向)   │
        └──────────────────────────────┘   └──────────────────────────────┘
              ↑ 两者互相正交(正交补)           ↑ 两者互相正交(正交补)

1.3.2 正交补关系

“正交补"的意思是:两个子空间里任取一个向量都互相垂直,并且两者合起来的维数恰好等于整个空间的维数。

  • N(A) ⊥ Col(Aᵀ),即 R^n = N(A) ⊕ Col(Aᵀ)(⊕ 表示直和,即两者之和覆盖全空间且只交于零向量)。
  • N(Aᵀ) ⊥ Col(A),即 R^m = N(Aᵀ) ⊕ Col(A)。

先看第一条为什么成立。取 x ∈ N(A)、v ∈ Col(Aᵀ),则 v = Aᵀy 对某个 y ∈ R^m 成立。于是

1
xᵀv = xᵀ(Aᵀy) = (Ax)ᵀy = 0ᵀy = 0

关键一步是 xᵀAᵀ = (Ax)ᵀ——这正是转置的定义 (Ax)ᵀ = xᵀAᵀ。所以 N(A) 中每个向量与 Col(Aᵀ) 中每个向量正交。第二条把 A 换成 Aᵀ 即得。

为什么要关心正交补? 因为它给出了"解的分解”。任意 x ∈ R^n 可以唯一写成

1
x = x_row + x_null ,   x_row ∈ Col(Aᵀ),x_null ∈ N(A)

其中 x_row 是 x 里”A 能感知的部分",x_null 是"A 完全看不见的部分"。这正是梯度下降中"平坦方向"的数学刻画:往 x_null 方向走多远,Ax 都不变,所以损失的一阶变化为 0。

1.3.3 秩-零化度定理

定理(rank-nullity theorem):对任意 A ∈ R^{m×n},

1
r(A) + dim N(A) = n        (n 是列数,不是行数)

证明思路(必须能复述):取 N(A) 的一组基 {z₁, …, z_{n−r}}(设 dim N(A) = n − r),把它扩充成 R^n 的一组基

1
{z₁, …, z_{n−r}, x₁, …, x_r}

分两步走。

第一步,证明 {Ax₁, …, Ax_r} 张成 Col(A)。任取 b ∈ Col(A),有 b = Ax。把 x 用上面这组基展开:x = Σaᵢzᵢ + Σbⱼxⱼ。两边左乘 A,由于 Azᵢ = 0,得 Ax = Σbⱼ(Axⱼ)。于是 b 是 {Axⱼ} 的线性组合。

第二步,证明 {Ax₁, …, Ax_r} 线性无关。设 Σcⱼ(Axⱼ) = 0,则 A(Σcⱼxⱼ) = 0,说明 Σcⱼxⱼ ∈ N(A)。但 N(A) 由 {zᵢ} 张成,而 {xⱼ} 与 {zᵢ} 合起来是一组基(无关),所以 Σcⱼxⱼ 只能等于 0;再由 {xⱼ} 无关得所有 cⱼ = 0。

两步合起来说明 {Ax₁, …, Ax_r} 是 Col(A) 的基,故 dim Col(A) = r,即 r(A) + dim N(A) = n。证毕。

证明里唯一容易卡住的地方是第一步的"展开 x 必须用一组扩充后的基"。这里用到线性代数的一条基本引理:无关向量组一定能扩充成空间的基。直觉解释是,若 {xⱼ} 还没张满空间,就一定能找到不在当前张成空间里的向量加进去;由于维数有限,这个过程必然在 n 个向量时停止。

把定理用到行空间上,还能得到两条常考的推论:

1
2
r(Aᵀ) = r(A)           (转置不改变秩)
dim N(Aᵀ) = m − r(A)

再代入 1.3.1 的表,四个维数全部由 m、n、r 三个数决定——这就是"四个基本子空间"这个名字的来历:它们把 R^n 和 R^m 各自完整地劈成了两块,四块拼起来刚好是全部信息。

1.3.4 一个贯穿全书的实例:梯度矩阵的秩与零空间

考虑一个参数量 n = 2000、样本量 m = 1000 的模型,某个参数点处的梯度矩阵为 A ∈ R^{1000×2000},r(A) = 500。代入定理:

1
2
dim N(A)   = n − r = 2000 − 500 = 1500     (输入侧,参数空间里的"无效方向")
dim N(Aᵀ)  = m − r = 1000 − 500 =  500     (输出侧,样本空间里"到不了的残差方向")

由此可以读出三条工程结论:

  1. 可自由漂移的方向有 1500 个。任取 d ∈ N(A),有 Ad = 0,即所有样本的梯度在这个方向上的投影同时为 0,损失沿 d 的一阶变化为 0。参数可以沿着这些方向移动而不改变一阶损失,这正是平坦区域与鞍点的代数刻画。
  2. 有效信息维度只有 500。2000 个参数方向里,只有 500 个能被梯度信号覆盖。这不是"参数量决定容量"的反例,而是提醒:参数量与实际有效维度是两回事,这是低秩微调(LoRA 一类方法)能成立的根本原因(详见第 3 章 3.4 节的低秩近似)。
  3. 增大 batch 不能"直接降低零空间维数"。增大 batch 只增加 m(行数),而 r(A) ≤ min(m, n)。如果新样本的梯度仍落在原有的 500 维行空间内,秩不会增加,dim N(A) 也不变。这是最容易选错的一条——它违反"数据越多信息越多"的直觉,但代数上完全成立:秩的上限由 min(m, n) 和数据的实际张成能力共同决定。

小心

计算 dim N(A) 时用列数减秩。A: R^2000 → R^1000 是从参数空间映到样本空间的映射,零空间是"被压成零的输入",所以它住在 R^2000 里。用行数去减会得到 500,恰好是左零空间 N(Aᵀ) 的维数,两者含义完全不同(一个是无效参数方向,一个是不可达残差方向)。

1.4 可逆性:十个等价条件

1.4.1 为什么这些条件彼此等价

对 n 阶方阵 A,下列十条命题两两等价。等价性不是巧合,而是同一条链条的不同表述:

编号命题它实际上在说什么
1A 可逆,存在 A⁻¹ 使 AA⁻¹ = A⁻¹A = I映射可逆(双向一一)
2A 的列向量线性无关输入方向两两不同,没有信息被合并
3A 的列向量张成 R^n每个输出都可达
4A 的行向量线性无关每条约束都提供新信息
5A 的行向量张成 R^n方程组的约束足以定出唯一解
6Ax = 0 只有零解 x = 0零空间是平凡的
7对任意 b,Ax = b 有唯一解可逆的直接含义
8r(A) = n(满秩)有效维度没有损失
9det(A) ≠ 0体积缩放因子非零,映射不压扁空间
10A 的特征值全非零(见第 3 章 3.1 节)没有方向被压成零

把链条串起来,只需要两个关键环节:

  • 6 ⟺ 8:由秩-零化度定理,r(A) + dim N(A) = n。所以 N(A) = {0} ⟺ dim N(A) = 0 ⟺ r(A) = n。
  • 2 ⟺ 6:列向量线性无关的定义就是"x₁a₁ + … + xₙaₙ = 0 只有零解",而左边恰好是 Ax。
  • 8 ⟺ 3:dim Col(A) = r(A) = n,而 Col(A) ⊆ R^n,维数相同的子空间必等于全空间,故 Col(A) = R^n,即列向量张成 R^n。
  • 7 ⟺ 3:Ax = b 有解对所有 b 成立,等价于 Col(A) = R^n;解的唯一性等价于 N(A) = {0}。
  • 9 与 8 的联系来自行列式的乘性:det(AB) = det(A)det(B),且高斯消元中 det 非零当且仅当无自由变量,即 r(A) = n。
  • 4、5 与 2、3 的联系来自 r(Aᵀ) = r(A):对 A 用 2 ⟺ 8,对 Aᵀ 用同样的推理即得行的版本。

因此这十条不是十个独立知识,而是一条等价链:从"解唯一"出发,无论从哪一条切入都能走到其他九条。做题时只要有任意一条成立,就可宣称其余九条同时成立;反之任意一条不成立,其余九条全部不成立。

提示

考场速判记忆锚点:“方阵 + 满秩” 是四个字的通关密码。看到"矩阵逆运算的前提",答案必是"方阵且满秩";看到选项里出现 det(A) = 0、列向量线性相关、r(A) < n,它们都是"不可逆"的判据,出现即排除。

1.4.2 行列式在其中的角色

det(A) 的几何含义是线性映射对体积的缩放倍数(带符号,符号表示是否翻转手性)。det(A) = 0 意味着映射把 n 维体积压成了低维对象——必然有方向被压成零,于是 N(A) ≠ {0},映射不可逆。这就是"det ≠ 0 等价于可逆"的几何解释。

需要强调的是:det = 0 是不可逆的判据,不是可逆的判据。选项里写"行列式为零则矩阵可逆"或"可逆的前提是行列式为零"都是把结论说反了。

另外,det 只对方阵有定义。长方形矩阵谈不上可逆,它最多有单边的伪逆 A⁺(见第 3 章 3.4.3 节):当 A ∈ R^{m×n} 且列满秩时 A⁺ = (AᵀA)⁻¹Aᵀ 是左逆,满足 A⁺A = I_n 但 AA⁺ ≠ I_m(它是到 Col(A) 上的投影,见第 2 章 2.3.2 节)。

1.4.3 线性相关的定义与两个充分条件

向量组 {α₁, …, αₘ} 线性相关(linearly dependent) 的定义是:

1
存在一组不全为零的标量 k₁, …, kₘ,使得 k₁α₁ + k₂α₂ + … + kₘαₘ = 0

定义的核心是"存在不全为零“这五个字。与它等价的表述是"其中至少有一个向量可由其余向量线性表示”,但注意是至少一个,不是"任意一个"。两个常见误判:

  • “含零向量的向量组必相关”——这是充分条件,不是定义。反例:{(1,0), (2,0)} 不含零向量却相关(2·(1,0) − 1·(2,0) = 0)。
  • “向量个数大于维数则必相关”——这也是充分条件。反例:n 维空间里两个共线向量,个数不超过维数但依然相关。

定义与"至少一个可由其余表示"的等价性证明很短,值得记住:若 Σkᵢαᵢ = 0 且 kⱼ ≠ 0,则 αⱼ = −(1/kⱼ)Σ_{i≠j}kᵢαᵢ,即 αⱼ 由其余向量表示;反之若 αⱼ = Σ_{i≠j}cᵢαᵢ,则移项得到一组系数(第 j 个为 −1 ≠ 0)使组合为零,故相关。

但"任意一个向量都可由其余表示"是错的。反例:{(1,0), (2,0), (0,1)} 线性相关(前两个共线),但 (0,1) 无法由前两个线性表示。所以在相关组里,有些向量是"冗余的",有些不是——这也是"极大无关组"这个概念的动机。

1.5 用秩统一看几个高频场景

1.5.1 协方差矩阵的维度:由谁决定

把 A ∈ R^{n×d} 读作 n 个样本、每个样本 d 维特征。协方差矩阵定义为

1
2
3
Σ = (1/(n−1)) · (A − Ā)ᵀ (A − Ā)

形状检查:(d×n) · (n×d) = d×d

第 (i,j) 个元素是特征 i 与特征 j 的协方差,所以它是 d×d 的对称方阵。判据只有一句:协方差矩阵刻画的是特征与特征的关系,阶数由特征数 d 决定,与样本数 n 无关。

矩阵表达式形状刻画什么
协方差矩阵(A−Ā)ᵀ(A−Ā)d×d特征与特征之间的关系
Gram 矩阵(A−Ā)(A−Ā)ᵀn×n样本与样本之间的关系

两者通过共同的特征值(严格说是非零特征值)联系起来,这是第 3 章 3.5 节 SVD 与 PCA 的核心工具。

1.5.2 用高斯消元求秩与找基

实际计算中不去数线性无关的个数,而是用初等行变换把矩阵化成行阶梯形:

1
2
3
4
5
A = [ 1  2  3 ]    r2−2r1   [ 1  2  3 ]    r3−3r1   [ 1  2  3 ]    r3−2r2   [ 1  2  3 ]
    [ 2  4  7 ]   ───────▶  [ 0  0  1 ]   ───────▶  [ 0  0  1 ]   ───────▶  [ 0  0  1 ]
    [ 3  6  10]             [ 0  0  1 ]             [ 0  0  1 ]             [ 0  0  0 ]
                                                          主元列:第 1 列、第 3 列
                   r(A) = 2(非零行数 = 主元个数 = 主元列数)

三条必须记住的性质:

  • 初等行变换不改变秩,也不改变行空间,但会改变列空间。所以求列空间的基要回到原矩阵去取主元所在的列,而不是取阶梯形的主元列。
  • 主元列在原矩阵中对应的列向量构成 Col(A) 的一组基;非主元列对应的"自由变量"个数就是 dim N(A)。
  • 自由变量个数 = n − r,这正是秩-零化度定理在消元过程中的具体体现。

本章小结

关键结论一句话表述常见错误
向量空间判定只需验三条:含零元、对加法封闭、对数乘封闭去逐条验八条公理;把单位球面当子空间
矩阵乘法定义(AB)_{ij} = Σ_k A_{ik}B_{kj},因为 AB 的第 j 列必须等于 A 作用在 B 第 j 列上把交换律搬过来;以为 (AB)ᵀ = AᵀBᵀ
四个基本子空间Col(A) ⊆ R^m(维 r)、N(A) ⊆ R^n(维 n−r)、Col(Aᵀ) ⊆ R^n(维 r)、N(Aᵀ) ⊆ R^m(维 m−r)把 Col(A) 和 Col(Aᵀ) 都当成 R^m
秩-零化度定理r(A) + dim N(A) = n,减的是列数用行数 m 去减
可逆性十条等价条件;核心是"方阵 + 满秩"认为 det = 0 才可逆;以为长方形矩阵可逆
线性相关存在不全为零的系数使组合为零把"含零向量"“个数 > 维数"当成定义
协方差矩阵d×d,阶数由特征数决定与 n×n 的 Gram 矩阵混淆

自测题

Q1(判断并说明理由)集合 W = {x ∈ R³ : x₁ + x₂ + x₃ = 1} 是 R³ 的子空间吗?把等号右边的 1 换成 0 之后呢?

答案与解析

不是。三条判定中第一条就不满足:0 = (0,0,0) 代入得 0 ≠ 1,零元不在 W 中。也可以看封闭性:取 u = (1,0,0) ∈ W、v = (0,1,0) ∈ W,则 u + v = (1,1,0) 的和为 2 ≠ 1,加法不封闭。

换成 0 后 W = {x : x₁ + x₂ + x₃ = 0} 是子空间:它恰好是矩阵 A = [1 1 1] 的零空间 N(A),而任何齐次方程组的解集都是子空间(因为 Ax = 0、Ay = 0 蕴含 A(cx + dy) = 0)。

这就是"非齐次方程组的解集不是向量空间、齐次方程组的解集是向量空间"的具体例子。 非齐次解集是零空间的一个平移(仿射集),不含零元。

Q2(计算)已知 A = [1 2 3; 2 4 6; 1 1 1](分号换行),求 r(A)、dim N(A)、dim Col(Aᵀ)、dim N(Aᵀ)。

答案与解析

消元:r2 − 2r1 得 [0 0 0];r3 − r1 得 [0 −1 −2]。此时非零行为 [1 2 3] 与 [0 −1 −2],互换后已是阶梯形,主元个数为 2,所以 r(A) = 2。

  • n = 3(列数),由秩-零化度定理 dim N(A) = 3 − 2 = 1。
  • dim Col(Aᵀ) = r(Aᵀ) = r(A) = 2。
  • m = 3(行数),dim N(Aᵀ) = m − r = 3 − 2 = 1。

常见错误是用 m = 3 去算 dim N(A) 得到 1——数值碰巧也是 1,但那是 N(Aᵀ) 的维数,含义完全不同。本题设成方阵正是为了让这个错误"算对了数、答错了概念”,考试中若遇到长方形矩阵就会直接暴露。

Q3(推导)设 A ∈ R^{m×n},B ∈ R^{n×p},证明 Col(AB) ⊆ Col(A),并说明什么时候取等号。

答案与解析

任取 y ∈ Col(AB),则存在 x ∈ R^p 使 y = (AB)x。由矩阵乘法的结合律,y = A(Bx)。令 z = Bx ∈ R^n,则 y = Az ∈ Col(A)。所以 Col(AB) ⊆ Col(A)。

等号成立的条件是 Col(B) 能覆盖到 A 的列空间所需的方向,最常用的充分条件是 B 行满秩(r(B) = n)。此时 Col(B) = R^n,于是 A 能作用到任意输入上,Col(AB) = Col(A)。特别地,若 B 可逆则必有 Col(AB) = Col(A)。

另一侧的结论是 r(AB) ≤ min(r(A), r(B))——这是"矩阵乘积的秩不超过任一因子的秩",来源正是上面的包含关系加上 r(AB) ≤ r(B)(把 AB 的每一列看成 B 的列的线性组合)。

这个结论的工程含义:任何一串线性层叠起来,能表达的函数集合不会超过第一层的列空间;这也是"低秩瓶颈层"(如 LoRA 的 BA 结构,r 远小于 d)能确定性降参的直接依据。

Q4(辨析)下面四条关于可逆性的说法,哪些正确?

A. 若 A 是 n 阶方阵且 Ax = 0 只有零解,则 A 可逆 B. 若 det(A) = 0,则 A 可逆 C. 长方矩阵 A ∈ R^{3×5} 可能有逆矩阵 D. 若 A 的 n 个列向量线性无关,则 A 可逆

答案与解析

A、D 正确。

A:Ax = 0 只有零解等价于 N(A) = {0},即 dim N(A) = 0;由秩-零化度定理得 r(A) = n,即满秩,故可逆。这是等价链条上的一环。

B:说反了。det(A) = 0 是不可逆的判据(映射把体积压成 0,必有非零的零空间)。若改成 det(A) ≠ 0 才正确。

C:错。可逆要求 AA⁻¹ = A⁻¹A = I 左右同时成立,两边维数必须匹配,这强制 A 是方阵。3×5 矩阵若行满秩则存在右逆 A⁻¹_right ∈ R^{5×3} 使 AA⁻¹_right = I₃,但不是双边逆;工程上更常用的是伪逆 A⁺(第 3 章 3.7 节)。

D:列向量线性无关是十条等价条件之一(对 n 阶方阵而言),正确。注意这条只对方阵成立:3×5 矩阵的 5 个列向量不可能在 R³ 中线性无关(n > m 必相关),而 5×3 矩阵的三列可以无关但它不是方阵,仍不可逆。

Q5(计算)某两层线性网络的权重为 W₁ ∈ R^{d×r}、W₂ ∈ R^{r×d},中间维度 r 远小于 d。已知输入 x ∈ R^d,前向为 y = W₁W₂x。若 W₂ 行满秩,问 y 落在什么空间里?参数量是多少?

答案与解析

把 P = W₁W₂ ∈ R^{d×d} 看成一个整体。由 Col(W₁W₂) ⊆ Col(W₁) 知 y ∈ Col(W₁),而 dim Col(W₁) ≤ r(W₁ 只有 r 列)。所以无论 x 取什么,输出都被限制在一个维数不超过 r 的子空间里——这就是低秩结构的本质限制,也是 LoRA 能生效的前提:微调需要的更新量本身就近似低秩(与 1.3.4 节"有效维度远小于参数量"是同一件事)。

参数量:W₁ 有 d·r 个,W₂ 有 r·d 个,合计 2dr,而直接用一个 d×d 矩阵需要 d² 个。当 r ≪ d/2 时 2dr ≪ d²,压缩比约为 2r/d。例如 d = 4096、r = 8 时压缩到约 0.39%。

注意 W₂ 行满秩的条件在这里是用来保证 Col(W₂) = R^r、从而中间层不被进一步压缩的;若 W₂ 也降秩,则秩会进一步下降为 r(W₁W₂) ≤ min(r(W₁), r(W₂))。

与真题的关联

真题考查角度对应本章小节
【08-05 选择 Q18】A ∈ R^{1000×2000}、r(A)=500,判多选秩-零化度定理用列数减;零空间方向对应平坦区域1.3.3、1.3.4
【09-02 选择 Q1】矩阵逆运算的前提方阵 + 满秩;det = 0 与线性相关都是反向判据1.4.1、1.4.2
【09-09 选择 Q1】下列等式恒成立的是只有结合律恒成立;交换律与转置反序是干扰项病根1.2.2
【09-09 选择 Q9】求 A = [1 2; 3 4] 的转置主对角线不动、副对角线交换;区别于旋转 180°1.2.2
【09-09 选择 Q5】向量组线性相关的定义“存在不全为零的系数”;含零向量与个数 > 维数只是充分条件1.4.3
【09-09 选择 Q2】A ∈ R^{n×d} 的协方差矩阵维度d×d,由特征数决定;与 n×n 的 Gram 矩阵对比1.5.1

延伸阅读

  • Gilbert Strang, Introduction to Linear Algebra, 第 5 版:第 2 章(线性组合与子空间)、第 3 章(四个基本子空间与秩-零化度定理)——本章 1.3 节的组织方式基本沿用 Strang 的"四子空间图"。
  • Sheldon Axler, Linear Algebra Done Right, 第 3 版:第 1 章(向量空间公理化)、第 2 章(基与维数)——想看清"哪些结论依赖公理、哪些依赖坐标"时读这本。
  • 3Blue1Brown 的 Essence of Linear Algebra 系列前四集:从几何直觉上把"矩阵是线性变换"这件事看一遍,再回头读本章 1.2 节会顺畅很多。