3.5 子空间、基底、维度和秩 (Subspaces, Basis, Dimension, and Rank)

wuhanqing 发布于 8 天前 88 次阅读


## 3.5 子空间、基底、维度和秩 (Subspaces, Basis, Dimension, and Rank)

至此,矩阵的基础代数运算已告一段落。从本节开始,我们将视角从“代数计算”切换到“几何空间”,深入探讨矩阵与向量空间之间的深刻联系。

让我们从一个直观的几何现象出发:在三维空间 $\mathbb{R}^3$ 中,想象一个通过原点的平面。直觉告诉我们这个平面是“二维”的,因为在这个平面内,任意向量的加法和标量乘法结果都会被“锁”在这个面内,形成一个封闭的运算体系。这就引出了一个问题,这个平面上的向量,究竟是二维还是三维物体? 它们身处 $\mathbb{R}^3$ 之中,拥有三个坐标分量;但它们的活动范围却被严格限制在一个二维平面内。

为了在代数上精确刻画这种“身处高维空间,却自成一个低维封闭体系”的现象,我们正式引入本章的核心概念——子空间 $\text{(Subspace)}$。

```ad-definition
title:定义:子空间 $\text{(Subspace)}$
设 $S$ 是 $\mathbb{R}^n$ 中的一个非空集合。如果 $S$ 满足以下三个条件,则称 $S$ 为 $\mathbb{R}^n$ 的一个**子空间**:
1. **包含零向量 $\text{(Zero vector)}$**:零向量 $\vec{0}$ 属于 $S$。
2. **加法封闭性 $\text{(Closed under addition)}$**:如果 $\vec{u}$ 和 $\vec{v}$ 都在 $S$ 中,那么 $\vec{u} + \vec{v}$ 也必定在 $S$ 中。
3. **标量乘法封闭性 $\text{(Closed under scalar multiplication)}$**:如果 $\vec{u}$ 在 $S$ 中,且 $c$ 是任意实数标量,那么 $c\vec{u}$ 也必定在 $S$ 中。
```

我们可以把性质 $\text{(2)}$、$\text{(3)}$ 结合起来,等价于要求 $S$ **对于线性组合封闭** $\text{(Closed under Linear Combinations)}$:

假设 $\vec{u_1}, \vec{u_2}, \dots, \vec{u_k}$ 在 $S$ 中,并且 $c_1, c_2, \dots, c_k$ 为标量,那么 $c_1\vec{u_1}+c_2\vec{u_2}+\dots+c_k\vec{u_k}$ 也在 $S$
中。

```ad-theorem
title:定理3.19 张成空间与子空间
设 $\vec{v}_1, \vec{v}_2, \dots, \vec{v}_k$ 是 $\mathbb{R}^n$ 中的向量,则 $\text{span}(\vec{v}_1, \vec{v}_2, \dots, \vec{v}_k)$ 是 $\mathbb{R}^n$ 的一个子空间。
```

**证明:**

令 $S = \text{span}(\vec{v}_1, \vec{v}_2, \dots, \vec{v}_k)$。为了证明 $S$ 是子空间,我们需要验证其满足定义中的三个性质:

$\text{(1)}$ **包含零向量**:观察到零向量 $\vec{0}$ 可以表示为:
$$\vec{0} = 0\vec{v}_1 + 0\vec{v}_2 + \dots + 0\vec{v}_k$$
由于 $\vec{0}$ 是 $\vec{v}_1, \dots, \vec{v}_k$ 的一个线性组合,因此 $\vec{0} \in S$。这验证了性质 $\text{(1)}$。

$\text{(2)}$ **加法封闭性**:

设 $\vec{u}$ 和 $\vec{v}$ 是 $S$ 中的任意两个向量,则它们可以表示为:
$$\vec{u} = c_1\vec{v}_1 + c_2\vec{v}_2 + \dots + c_k\vec{v}_k$$
$$\vec{v} = d_1\vec{v}_1 + d_2\vec{v}_2 + \dots + d_k\vec{v}_k$$

其中 $c_i, d_i$ 为标量。那么它们的和为:
$$\begin{aligned} \vec{u} + \vec{v} &= (c_1\vec{v}_1 + \dots + c_k\vec{v}_k) + (d_1\vec{v}_1 + \dots + d_k\vec{v}_k) \\ &= (c_1 + d_1)\vec{v}_1 + (c_2 + d_2)\vec{v}_2 + \dots + (c_k + d_k)\vec{v}_k \end{aligned}$$

由于 $\vec{u} + \vec{v}$ 仍然是 $\vec{v}_1, \dots, \vec{v}_k$ 的线性组合,所以 $\vec{u} + \vec{v} \in S$。这验证了性质 $\text{(2)}$。

$\text{(3)}$ **标量乘法封闭性**:

设 $c$ 为任意标量,则:
$$\begin{aligned} c\vec{u} &= c(c_1\vec{v}_1 + c_2\vec{v}_2 + \dots + c_k\vec{v}_k) \\ &= (cc_1)\vec{v}_1 + (cc_2)\vec{v}_2 + \dots + (cc_k)\vec{v}_k \end{aligned}$$

这表明 $c\vec{u}$ 也是 $\vec{v}_1, \dots, \vec{v}_k$ 的线性组合,因此 $c\vec{u} \in S$。这验证了性质 $\text{(3)}$。

**结论:**

由于 $S$ 满足子空间的所有三个定义性质,我们证明了 $\text{span}(\vec{v}_1, \vec{v}_2, \dots, \vec{v}_k)$ 是 $\mathbb{R}^n$ 的一个子空间。我们通常将其称为**由 $\vec{v}_1, \vec{v}_2, \dots, \vec{v}_k$ 张成的子空间 $\text{(The subspace spanned by } \vec{v}_1, \dots, \vec{v}_k)$**。

```ad-example
title: 例题3.38 证明集合构成子空间
证明由所有满足条件 $x = 3y$ 且 $z = -2y$ 的向量 $\begin{bmatrix} x \\ y \\ z \end{bmatrix}$ 组成的集合构成了 $\mathbb{R}^3$ 的一个子空间。

**解:**
将给定的两个条件代入向量形式中:
$$\begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} 3y \\ y \\ -2y \end{bmatrix} = y \begin{bmatrix} 3 \\ 1 \\ -2 \end{bmatrix}$$

由于 $y$ 是任意实数,该向量集合实际上就是由向量 $\begin{bmatrix} 3 \\ 1 \\ -2 \end{bmatrix}$ 张成的空间,即:
$$\text{span} \left( \begin{bmatrix} 3 \\ 1 \\ -2 \end{bmatrix} \right)$$
根据定理 3.19(张成空间必为子空间),该集合是 $\mathbb{R}^3$ 的一个子空间。

从几何上看,这个向量集合代表了 $\mathbb{R}^3$ 中一条经过原点且方向向量为 $\begin{bmatrix} 3 \\ 1 \\ -2 \end{bmatrix}$ 的**直线**。
```

```ad-example
title: 例题3.40 判定非子空间(反例法)
判定所有形式为 $\begin{bmatrix} x \\ y \end{bmatrix}$ 且满足 $y = x^2$ 的向量集合 $S$ 是否为 $\mathbb{R}^2$ 的子空间。

**解:**
该集合中的向量形式为 $\begin{bmatrix} x \\ x^2 \end{bmatrix}$。

1. **验证性质 $\text{(1)}$**:当 $x = 0$ 时,$\vec{0} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}$ 属于 $S$,性质 $\text{(1)}$ 成立。
2. **验证性质 $\text{(2)}$(加法封闭性)**:
设 $\vec{u} = \begin{bmatrix} x_1 \\ x_1^2 \end{bmatrix}$ 和 $\vec{v} = \begin{bmatrix} x_2 \\ x_2^2 \end{bmatrix}$ 是 $S$ 中的两个向量。它们的和为:
$$\vec{u} + \vec{v} = \begin{bmatrix} x_1 + x_2 \\ x_1^2 + x_2^2 \end{bmatrix}$$
通常情况下,$x_1^2 + x_2^2 \neq (x_1 + x_2)^2$。为了具体说明,我们找一个**反例 $\text{(Counterexample)}$**:
令 $\vec{u} = \begin{bmatrix} 1 \\ 1 \end{bmatrix}$,$\vec{v} = \begin{bmatrix} 2 \\ 4 \end{bmatrix}$(均满足 $y=x^2$)。
然而 $\vec{u} + \vec{v} = \begin{bmatrix} 3 \\ 5 \end{bmatrix}$,由于 $5 \neq 3^2$,所以 $\vec{u} + \vec{v} \notin S$。

**结论:**
由于加法封闭性失效,$S$ 不是 $\mathbb{R}^2$ 的子空间。

**注释:**
要证明一个集合 $S$ 是子空间,必须证明性质 $\text{(1)}$ 到 $\text{(3)}$ **普遍成立**;而要证明它**不是**子空间,只需要找到一个反例说明其中任意一个性质失效即可。
```

### 3.5.1 与矩阵关联的子空间 $\text{(Subspaces Associated with Matrices)}$

对于一个 $m \times n$ 矩阵 $A$,我们最关注它所携带的三个子空间:行空间、列空间以及零空间。

```ad-definition
title: 定义:行空间、列空间与零空间
1. **行空间 ($\text{Row Space}$)**:由矩阵 $A$ 的行向量张成的 $\mathbb{R}^n$ 子空间,记为 $\text{row}(A)$。
2. **列空间 ($\text{Column Space}$)**:由矩阵 $A$ 的列向量张成的 $\mathbb{R}^m$ 子空间,记为 $\text{col}(A)$。
3. **零空间 ($\text{Null Space}$)**:齐次方程组 $A\vec{x} = \vec{0}$ 的所有解 $\vec{x}$ 构成的 $\mathbb{R}^n$ 子空间,记为 $\text{null}(A)$。
```

### ⭐矩阵映射与三大子空间的代数推导与几何本质

对于 $m \times n$ 矩阵 $A$,线性变换 $T(\vec{x}) = A\vec{x}$ 是一座连接两个不同维度世界的桥梁:将**输入空间 $\mathbb{R}^n$** 映射到**输出空间 $\mathbb{R}^m$**。在这个映射过程中,三大子空间的代数结构决定了变换的几何本质。

**1. 列空间 $\text{col}(A)$:输出空间的疆界 $\text{(Output Space and Range)}$**

**定义:** 矩阵 $A$ 的所有列向量张成的 $\mathbb{R}^m$ 的子空间,记为 $\text{col}(A) = \text{span}(\vec{a}_1, \vec{a}_2, \dots, \vec{a}_n)$。

**数学推导:**
设 $A = [\vec{a}_1, \vec{a}_2, \dots, \vec{a}_n]$,对于输入空间中的任意向量 $\vec{x} = [x_1, x_2, \dots, x_n]^T \in \mathbb{R}^n$,矩阵乘法可展开为列向量的线性组合:

$$A\vec{x} = x_1\vec{a}_1 + x_2\vec{a}_2 + \dots + x_n\vec{a}_n$$

**结论:** 列空间完全存在于**输出世界 $\mathbb{R}^m$** 中。线性变换 $T(\vec{x}) = A\vec{x}$ 的**值域 $\text{(Range)}$** 精确等于列空间。无论输入向量 $\vec{x}$ 如何取值,映射后的结果向量必然被严格锁死在 $\text{col}(A)$ 内。

**空间包含关系描述:**
在数学语言中,我们将列空间与**目标空间 $\text{(Codomain, 即 } \mathbb{R}^m)$** 的关系写作:
$$\text{col}(A) = T(\mathbb{R}^n) \subseteq \mathbb{R}^m$$

- **当 $\text{rank}(A) < m$ 时**:变换后的结果只能填充 $\mathbb{R}^m$ 中的一个低维片段(如三维空间中的一个二维平面)。此时 $T(\mathbb{R}^n)$ 是 $\mathbb{R}^m$ 的**真子空间**。 - **当 $\text{rank}(A) = m$ 时(行满秩)**:此时变换是**满射 $\text{(Onto / Surjective)}$** 的,意味着输出可以覆盖整个目标空间。只有在这种特殊情况下,才成立: $$T(\mathbb{R}^n) = \mathbb{R}^m$$ **即为:** $\mathbb{R}^m$ 是变换预设的“着陆场”**,而 $\text{col}(A)$ 是变换真正能**“触达的范围”。 除非矩阵的**秩 $\text{(Rank)}$** 足够高,高到能填满整个输出维度的世界,否则这台机器生成的向量永远只能在 $\mathbb{R}^m$ 的某个局部切面(子空间)内活动。 **2. 零空间 $\text{null}(A)$:输入空间中的“黑洞” $\text{(Kernel in Input Space)}$** **定义:** 满足齐次线性方程组 $A\vec{x} = \vec{0}$ 的所有解向量 $\vec{x}$ 构成的 $\mathbb{R}^n$ 的子空间。 **子空间证明:** 设 $\vec{u}, \vec{v} \in \text{null}(A)$,且 $c, d$ 为任意实数标量。根据矩阵乘法的线性性质: $$A(c\vec{u} + d\vec{v}) = c(A\vec{u}) + d(A\vec{v}) = c\vec{0} + d\vec{0} = \vec{0}$$ 因为线性组合向量 $c\vec{u} + d\vec{v}$ 仍满足方程,故 $\text{null}(A)$ 对线性组合封闭,是一个合法的子空间。它完全存在于**输入世界 $\mathbb{R}^n$** 中,代表了那些在变换中丧失所有信息、被不可逆地坍缩至零向量 $\vec{0}$ 的“无效输入”。 **3. 行空间 $\text{row}(A)$:存活的有效输入空间 $\text{(Effective Input Space)}$** **定义:** 矩阵 $A$ 的所有行向量张成的 $\mathbb{R}^n$ 的子空间,记为 $\text{row}(A)$。它等价于转置矩阵的列空间 $\text{col}(A^T)$。 **正交性推导(核心):** 设矩阵 $A$ 的行向量为 $\vec{r}_1^T, \vec{r}_2^T, \dots, \vec{r}_m^T$。考虑 $A\vec{x} = \vec{0}$ 这一方程组,按矩阵分块乘法展开: $$A\vec{x} = \begin{bmatrix} \vec{r}_1^T \\ \vec{r}_2^T \\ \vdots \\ \vec{r}_m^T \end{bmatrix} \vec{x} = \begin{bmatrix} \vec{r}_1 \cdot \vec{x} \\ \vec{r}_2 \cdot \vec{x} \\ \vdots \\ \vec{r}_m \cdot \vec{x} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 0 \end{bmatrix} = \vec{0}$$ 从上式可以清晰看出,如果向量 $\vec{x} \in \text{null}(A)$,则 $\vec{x}$ 必须与 $A$ 的**每一个行向量 $\vec{r}_i$ 的内积(点积)为零**。 推而广之,$\vec{x}$ 必然与行向量的任意线性组合正交。因此,**零空间与行空间在输入空间 $\mathbb{R}^n$ 中互为正交补**,记为: $$\text{null}(A) = \text{row}(A)^\perp$$ **4. 映射的核心逻辑:从输入到输出的正交分解与同构** 根据正交补定理,**输入空间 $\mathbb{R}^n$** 中的任意向量 $\vec{x}$ 都可以被唯一分解为“有效输入(行空间分量)”与“无效输入(零空间分量)”之和: $$\vec{x} = \vec{x}_{\text{row}} + \vec{x}_{\text{null}} \quad (\text{其中 } \vec{x}_{\text{row}} \in \text{row}(A), \vec{x}_{\text{null}} \in \text{null}(A))$$ 当线性变换 $A$ 作用于输入向量 $\vec{x}$ 时: $$A\vec{x} = A(\vec{x}_{\text{row}} + \vec{x}_{\text{null}}) = A\vec{x}_{\text{row}} + A\vec{x}_{\text{null}} = A\vec{x}_{\text{row}} + \vec{0} = A\vec{x}_{\text{row}}$$ 这说明,决定**输出世界**中 $A\vec{x}$ 最终位置的,完全且仅仅是输入向量中的**行空间分量 $\vec{x}_{\text{row}}$**。 ### ⭐实战体会输入空间的正交分解映射 为了直观体会 $\vec{x} = \vec{x}_{\text{row}} + \vec{x}_{\text{null}}$ 的威力,我们来看一个具体的物理映射案例。 ```ad-example title: 例题 三维输入空间的正交剖分与投影 已知线性变换 $T: \mathbb{R}^3 \to \mathbb{R}^2$ 由矩阵 $A$ 定义: $$A = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$$ 设输入向量为 $\vec{x} = \begin{bmatrix} 5 \\ 1 \\ 4 \end{bmatrix}$。请计算其在行空间与零空间上的正交分解,并验证映射结果。 **解:** **1. 确定子空间基底** * **零空间 $\text{null}(A)$**:解 $A\vec{x} = \vec{0}$ 得 $x_1 = -x_2, x_3 = 0$。基底方向向量为 $\vec{v} = \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix}$。这是一条直线。 * **行空间 $\text{row}(A)$**:基底为 $\{[1, 1, 0]^T, [0, 0, 1]^T\}$。这是一个平面。 **2. 进行正交分解** 我们需要将 $\vec{x} = [5, 1, 4]^T$ 拆解为 $\vec{x}_{\text{row}} + \vec{x}_{\text{null}}$。 最简单的方法是:先利用一维投影公式,求出 $\vec{x}$ 在零空间直线上的投影 $\vec{x}_{\text{null}}$。 $$\vec{x}_{\text{null}} = \text{proj}_{\vec{v}}(\vec{x}) = \frac{\vec{x} \cdot \vec{v}}{\vec{v} \cdot \vec{v}} \vec{v}$$ 代入数据计算内积: * $\vec{x} \cdot \vec{v} = (5)(1) + (1)(-1) + (4)(0) = 4$ * $\vec{v} \cdot \vec{v} = (1)^2 + (-1)^2 + 0^2 = 2$ $$\vec{x}_{\text{null}} = \frac{4}{2} \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} = 2 \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix} = \begin{bmatrix} 2 \\ -2 \\ 0 \end{bmatrix}$$ 根据向量减法,剩下的部分必然完全落在行空间中: $$\vec{x}_{\text{row}} = \vec{x} - \vec{x}_{\text{null}} = \begin{bmatrix} 5 \\ 1 \\ 4 \end{bmatrix} - \begin{bmatrix} 2 \\ -2 \\ 0 \end{bmatrix} = \begin{bmatrix} 3 \\ 3 \\ 4 \end{bmatrix}$$ *(验证:$\vec{x}_{\text{row}}$ 确实等于 $3[1, 1, 0]^T + 4[0, 0, 1]^T$,完美存在于行空间内)* **3. 映射验证** 现在让矩阵 $A$ 分别作用于这三个向量: * **原向量映射**:$$A\vec{x} = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 5 \\ 1 \\ 4 \end{bmatrix} = \begin{bmatrix} 6 \\ 4 \end{bmatrix}$$ * **行空间分量映射**:$$A\vec{x}_{\text{row}} = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 3 \\ 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 6 \\ 4 \end{bmatrix}$$ * **零空间分量映射**:$$A\vec{x}_{\text{null}} = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 2 \\ -2 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}$$ **结论:** 计算结果完美证实了同构映射的逻辑:$$A\vec{x} = A\vec{x}_{\text{row}} + A\vec{x}_{\text{null}} = \begin{bmatrix} 6 \\ 4 \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \end{bmatrix}$$ 输入向量中 $\vec{x}_{\text{null}}$ 的部分彻底坍缩,荡然无存;而 $\vec{x}_{\text{row}}$ 的部分则毫无折损地构成了最终的输出结果。 ``` 通过下方的交互式 3D 模型 $\text{(Interactive 3D Model)}$,我们可以直观地观察到矩阵 $A$ 对输入空间的“修剪”过程 $\text{(Pruning Process)}$。该模型演示了当 $\vec{x} = [5, 1, 4]^T$ 作用于秩为 2 的 $2 \times 3$ 矩阵时,几何元素的对应关系: **1. 黑色向量**:输入的原始输入向量 $\vec{x}$ $\text{(Input Signal)}$。 **2. 蓝色向量**:行空间投影分量 $\vec{x}_{\text{row}}$ $\text{(Effective Component)}$,代表输入中能被传递的有效信号。 **3. 红色向量**:零空间投影分量 $\vec{x}_{\text{null}}$ $\text{(Null/Noise Component)}$,代表映射中会被滤除的冗余信息。 **4. 紫色向量**:经过矩阵变换运算后得到的输出向量 $A\vec{x} \space \text{(Mapping Result)}$。 **5. 青色平面**:矩阵的行空间 $\text{row}(A)$,即信息的“通带”。 **6. 粉色直线**:矩阵的零空间 $\text{null}(A)$,即信息的“阻带”。

**简要叙述:**
矩阵 $A$ 的映射本质上是一个**过滤器 $\text{(Filter)}$**。由于粉色直线所在的零空间是矩阵的“盲区”,红色分量 $\vec{x}_{\text{null}}$ 在变换后会彻底“坍缩”归零;而青色平面(行空间)则是通往输出端的唯一通道。最终看到的紫色输出向量 $A\vec{x}$,其数值和方向完全由蓝色分量 $\vec{x}_{\text{row}}$ 决定。这意味着,只要蓝色分量保持不变,无论你如何沿着零空间方向拉长红色向量,紫色输出结果都会稳如泰山、纹丝不动。这种分解揭示了矩阵如何从杂乱的输入中精准提取出核心特征并将其跨空间搬运。

### ⭐正交分解可视化

你可以通过拖动下方 3D 模型,观察向量 $\vec{x}$ 如何被拆解为两个垂直的分量,并理解为什么只有行空间分量能通过“映射大门”。

**即为:**

通过这个例题我们可以发现,矩阵 $A$ 就像是一个具有**方向选择性**的过滤器。

它在输入空间中建立了一套“垂直”的审查机制:凡是落在**零空间 $\text{(Null Space)}$** 里的分量,无论多大,都会被统统抹除;只有落在**行空间 $\text{(Row Space)}$** 里的分量,才能带着它的信息,跨越空间的鸿沟,投射到输出空间的列空间中。

这种**正交分解 $\text{(Orthogonal Decomposition)}$** 的视角,正是我们后续理解“最小二乘法”和“奇异值分解 (SVD)”的几何基石。

**同构映射 $\text{(Isomorphism)}$ 的严格证明:**
我们不仅知道输出由 $\vec{x}_{\text{row}}$ 决定,还能证明矩阵 $A$ 在“行空间(有效输入)”和“列空间(全部输出)”之间建立了一个**完美的 1:1 映射(双射)**。
假设行空间中有两个不同的向量 $\vec{x}_{\text{row}, 1}$ 和 $\vec{x}_{\text{row}, 2}$,经过 $A$ 映射后得到了相同的输出向量,即:
$$A\vec{x}_{\text{row}, 1} = A\vec{x}_{\text{row}, 2}$$

则有:
$$A(\vec{x}_{\text{row}, 1} - \vec{x}_{\text{row}, 2}) = \vec{0}$$

这意味着差向量 $(\vec{x}_{\text{row}, 1} - \vec{x}_{\text{row}, 2})$ 必须属于零空间 $\text{null}(A)$。
但同时,因为 $\vec{x}_{\text{row}, 1}$ 和 $\vec{x}_{\text{row}, 2}$ 都在行空间 $\text{row}(A)$ 中,根据子空间的封闭性,它们的差向量也必须属于行空间。唯一能同时属于两个正交补空间的向量,只有零向量 $\vec{0}$。
因此:
$$\vec{x}_{\text{row}, 1} - \vec{x}_{\text{row}, 2} = \vec{0} \implies \vec{x}_{\text{row}, 1} = \vec{x}_{\text{row}, 2}$$

**深刻结论**:
行空间中的不同向量,绝不可能映射到列空间中的同一点。矩阵 $A$ 的变换过程,本质上是**将输入世界 $\mathbb{R}^n$ 中的零空间分量“无情归零”,并将输入世界中的行空间(有效输入),以极其精确的 1:1 同构映射,完全平移并拉伸成了输出世界 $\mathbb{R}^m$ 中的列空间(全部输出)**。

```ad-example
title: 例题 综合体会矩阵的三大子空间映射

已知 $3 \times 3$ 矩阵 $A = \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 2 & 5 & 7 \end{bmatrix}$,它代表了一个从 $\mathbb{R}^3$ 到 $\mathbb{R}^3$ 的线性变换 $T(\vec{x}) = A\vec{x}$。

**任务:** 计算并描述该矩阵的零空间 $\text{null}(A)$、行空间 $\text{row}(A)$ 和列空间 $\text{col}(A)$ 的基底、维度及几何形态。

---

**第一步:矩阵的行化简 (Row Reduction)**
为了揭示空间结构,我们首先将 $A$ 化简为简化行阶梯形矩阵 $\text{(RREF, Reduced Row Echelon Form)}$:
$$A = \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 2 & 5 & 7 \end{bmatrix} \xrightarrow{R_3 - 2R_1} \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \end{bmatrix} \xrightarrow{R_3 - R_2} \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{bmatrix} \xrightarrow{R_1 - 2R_2} \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{bmatrix} = R$$
观察 $R$ 可知:主元在第 1、2 列,第 3 列对应自由变量。因此,矩阵的秩 $\text{rank}(A) = 2$。

---

**1. 零空间 $\text{null}(A)$:被坍缩的维度**
**计算:** 解齐次方程组 $R\vec{x} = \vec{0}$。
$$\begin{cases} x_1 + x_3 = 0 \implies x_1 = -x_3 \\ x_2 + x_3 = 0 \implies x_2 = -x_3 \end{cases}$$
令自由变量 $x_3 = t$($t$ 为任意实数),则解集为 $\vec{x} = t \begin{bmatrix} -1 \\ -1 \\ 1 \end{bmatrix}$。
**基底:** $\left\{ \begin{bmatrix} -1 \\ -1 \\ 1 \end{bmatrix} \right\}$
**空间表示:** $\text{null}(A) = \text{span}\left\{ \begin{bmatrix} -1 \\ -1 \\ 1 \end{bmatrix} \right\}$
**维度:** $\dim(\text{null}(A)) = 1$(也称为零化度 $\text{nullity} = 1$)。
**几何描述:** 在输入空间 $\mathbb{R}^3$ 中,这是一条穿过原点、方向向量为 $[-1, -1, 1]^T$ 的**直线**。在这条直线上的所有向量,在经过 $A$ 的变换后,都会被“粉碎”成输出空间的原点 $\vec{0}$。

---

**2. 行空间 $\text{row}(A)$:存活的有效输入**
**计算:** 行空间不会因为初等行变换而改变,因此 $\text{RREF}$ 矩阵 $R$ 的非零行就是 $\text{row}(A)$ 的一组最简基底。
**基底:** $\left\{ \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \\ 1 \end{bmatrix} \right\}$
**空间表示:** $\text{row}(A) = \text{span}\left\{ \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \\ 1 \end{bmatrix} \right\}$
**维度:** $\dim(\text{row}(A)) = 2$。
**几何描述:** 在输入空间 $\mathbb{R}^3$ 中,这是由两个基向量张成的一个**二维平面**(其法向量恰好是零空间的基底 $[-1, -1, 1]^T$,这证明了行空间与零空间在输入世界里是互相垂直的“正交补”)。这个平面上的向量是“有效输入”,它们在变换中存活了下来。

---

**3. 列空间 $\text{col}(A)$:变换的值域投影**
**计算:** 根据定理,主元列(第 1、2 列)对应的**原矩阵 $A$** 中的列构成了列空间的基底。(注意:千万不能用 $R$ 的列,行变换破坏了列空间!)
**基底:** $\left\{ \begin{bmatrix} 1 \\ 0 \\ 2 \end{bmatrix}, \begin{bmatrix} 2 \\ 1 \\ 5 \end{bmatrix} \right\}$
**空间表示:** $\text{col}(A) = \text{span}\left\{ \begin{bmatrix} 1 \\ 0 \\ 2 \end{bmatrix}, \begin{bmatrix} 2 \\ 1 \\ 5 \end{bmatrix} \right\}$
**维度:** $\dim(\text{col}(A)) = 2$。
**几何描述:** 在输出空间 $\mathbb{R}^3$ 中,这是一个经过原点的**二维平面**。

---

**结论:几何映射的宏观视角 $T(\vec{x}) = A\vec{x}$**
在这个 $\mathbb{R}^3 \to \mathbb{R}^3$ 的变换中:
输入空间(三维)被矩阵 $A$ 劈成了两半:一条一维的直线(零空间)和一个二维的平面(行空间)。
当变换发生时,那条直线上的所有点都被压缩成了对面世界的一个黑洞(原点 $\vec{0}$);而那个二维平面(行空间)则被矩阵 $A$ 像转动一块纸板一样,以 1:1 的无损比例,精准地贴合到了输出空间的另一个二维平面(列空间)上。

这也完美印证了上一节的**秩定理**:$\text{rank}(A) + \text{nullity}(A) = 2 + 1 = 3$(输入空间的维度)。
```

```ad-example
title:例题3.41 判定向量与子空间的从属关系及空间描述

已知矩阵 $A = \begin{bmatrix} 1 & -1 \\ 0 & 1 \\ 3 & -3 \end{bmatrix}$。

---

**问题 $\text{(a)}$:判断向量 $\vec{b} = [1, 2, 3]^T$ 是否在 $A$ 的列空间 $\text{col}(A)$ 中?**

**解题思路**:根据定义,$\vec{b}$ 在 $\text{col}(A)$ 中当且仅当线性方程组 $A\vec{x} = \vec{b}$ 有解(一致性)。
**计算过程**:构造增广矩阵并进行行化简:
$$[A \mid \vec{b}] = \left[ \begin{array}{cc|c} 1 & -1 & 1 \\ 0 & 1 & 2 \\ 3 & -3 & 3 \end{array} \right] \xrightarrow{R_3 - 3R_1} \left[ \begin{array}{cc|c} 1 & -1 & 1 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{array} \right] \xrightarrow{R_1 + R_2} \left[ \begin{array}{cc|c} 1 & 0 & 3 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{array} \right]$$
**结论**:最后一行全为 0,方程组有解(且有唯一解)。因此,$\vec{b} \in \text{col}(A)$。

---

**问题 $\text{(b)}$:判断向量 $\vec{w} = [4, 5]$ 是否在 $A$ 的行空间 $\text{row}(A)$ 中?**

**解题思路**:若 $\vec{w}$ 是 $A$ 行向量的线性组合,则将 $\vec{w}$ 拼在 $A$ 下方形成增广矩阵 $\begin{bmatrix} A \\ \vec{w} \end{bmatrix}$,利用 $A$ 的行可以将 $\vec{w}$ 完全消元。
**计算过程**:构造上下增广矩阵并进行行消元:
$$\begin{bmatrix} A \\ \hline \vec{w} \end{bmatrix} = \left[ \begin{array}{cc} 1 & -1 \\ 0 & 1 \\ 3 & -3 \\ \hline 4 & 5 \end{array} \right] \xrightarrow{R_3 - 3R_1, R_4 - 4R_1} \left[ \begin{array}{cc} 1 & -1 \\ 0 & 1 \\ 0 & 0 \\ \hline 0 & 9 \end{array} \right] \xrightarrow{R_4 - 9R_2} \left[ \begin{array}{cc} 1 & -1 \\ 0 & 1 \\ 0 & 0 \\ \hline 0 & 0 \end{array} \right]$$
**结论**:$\vec{w}$ 成功化为全 0 行,说明 $\vec{w}$ 是 $A$ 行向量的线性组合。因此,$\vec{w} \in \text{row}(A)$。

---

**问题 $\text{(c)}$:描述 $\text{row}(A)$ 和 $\text{col}(A)$ 的几何形态。**

**对于 $\text{row}(A)$**:
可以验证对于任意向量 $\vec{w} = [x, y]$,增广矩阵 $\begin{bmatrix} A \\ \vec{w} \end{bmatrix}$ 都能被化简为垫底全 0 行的形式。这意味着 $\mathbb{R}^2$ 中的每一个向量都在 $\text{row}(A)$ 中。
**结论**:$\text{row}(A) = \mathbb{R}^2$。

**对于 $\text{col}(A)$**:
$\text{col}(A)$ 是 $\mathbb{R}^3$ 的子空间。通过解方程可知,其列向量张成的空间是 $\mathbb{R}^3$ 中满足方程 $3x - z = 0$ 的一个过原点的平面。

**备注:**
判定行空间隶属关系还有另一种方法:由于 $A$ 的行向量就是 $A^T$ 的列向量,因此“$\vec{w}$ 是否在 $\text{row}(A)$ 中”等价于“$\vec{w}^T$ 是否在 $\text{col}(A^T)$ 中”。这可以将问题 $\text{(b)}$ 转化回问题 $\text{(a)}$ 中的 $A^T\vec{x} = \vec{w}^T$ 方程求解问题。
```

```ad-theorem
title: 定理 3.20:行等价矩阵具有相同的行空间
设 $B$ 是任意一个与矩阵 $A$ 行等价的矩阵。则 $\text{row}(B) = \text{row}(A)$。
```

**证明:**
矩阵 $A$ 可以通过一系列初等行变换转化为 $B$。因此,$B$ 的各个行向量都是 $A$ 的行向量的线性组合;从而,$B$ 的行向量的任何线性组合也必然是 $A$ 的行向量的线性组合。由此可得 $\text{row}(B) \subseteq \text{row}(A)$。

另一方面,由于初等行变换是可逆的,逆转这些行操作即可将 $B$ 转化为 $A$。因此,同样的逻辑表明 $\text{row}(A) \subseteq \text{row}(B)$。

综合这两个包含关系,我们得到结论:$\text{row}(A) = \text{row}(B)$。

**即为:**
对一矩阵只进行若干次**初等行变换 $\text{(Elementary Row Operations)}$**,进行行变换前后的矩阵是**行等价 $\text{(Row Equivalent)}$** 的,变换前后两矩阵对应的**行空间 $\text{(Row Space)}$** 也是相同的。

```ad-theorem
title: 定理 3.21:零空间是一个子空间
设 $A$ 是一个 $m \times n$ 矩阵,令 $N$ 为齐次线性方程组 $A\vec{x} = \vec{0}$ 的解集。则 $N$ 是 $\mathbb{R}^n$ 的一个子空间。
```

**证明:**
*注:为了使矩阵乘法 $A\vec{x}$ 有定义,向量 $\vec{x}$ 必须是 $\mathbb{R}^n$ 中的列向量;且方程右侧的 $\vec{0}$ 代表 $\mathbb{R}^m$ 中的零向量。*

首先,因为 $A\vec{0} = \vec{0}$,所以**零向量 $\vec{0}$ 属于 $N$**。

其次,设 $\vec{u}$ 和 $\vec{v}$ 是 $N$ 中的任意两个向量。根据定义,有 $A\vec{u} = \vec{0}$ 且 $A\vec{v} = \vec{0}$。根据矩阵乘法的分配律,可得:
$$A(\vec{u} + \vec{v}) = A\vec{u} + A\vec{v} = \vec{0} + \vec{0} = \vec{0}$$

因此,向量和 $\vec{u} + \vec{v}$ 也在 $N$ 中,**加法封闭性成立**。

最后,对于任意实数标量 $c$,根据矩阵乘法的齐次性:
$$A(c\vec{u}) = c(A\vec{u}) = c\vec{0} = \vec{0}$$

因此,标量乘积 $c\vec{u}$ 也属于 $N$,**标量乘法封闭性成立**。

由于满足子空间的所有三个判定条件,由此得出 $N$ (即 $\text{null}(A)$)是 $\mathbb{R}^n$ 的一个子空间。

### 线性方程组解的结构分析

线性方程组 $A\vec{x} = \vec{b}$ 的解的数量并非偶然,它深刻地依赖于齐次方程组解空间(即零空间)的性质。根据 **定理 3.21** 证明的零空间子空间属性,我们可以推导出线性方程组解的离散性规律。

```ad-theorem
title: 定理 3.22:线性方程组解的数量法则
对于任意**线性方程组 $\text{(System of Linear Equations)}$** $A\vec{x} = \vec{b}$,其解的状况**必且仅有**以下三种之一:
1. **无解 $\text{(No solution)}$**:向量 $\vec{b}$ 不在矩阵 $A$ 的列空间 $\text{col}(A)$ 内。
2. **唯一解 $\text{(Unique solution)}$**:$\vec{b} \in \text{col}(A)$ 且零空间为平凡子空间(即 $\text{null}(A) = \{\vec{0}\}$)。
3. **无穷多解 $\text{(Infinitely many solutions)}$**:$\vec{b} \in \text{col}(A)$ 且零空间包含非零向量。
```

**证明:**
我们只需证明一个核心命题:**如果方程组有至少两个不同的解,那么它一定有无穷多个解。**

**1. 寻找方向向量**:
假设 $\vec{x}_1$ 和 $\vec{x}_2$ 是 $A\vec{x} = \vec{b}$ 的两个不同解($\vec{x}_1 \neq \vec{x}_2$),则有 $A\vec{x}_1 = \vec{b}$ 和 $A\vec{x}_2 = \vec{b}$。

两式相减:
$$A\vec{x}_1 - A\vec{x}_2 = \vec{b} - \vec{b} = \vec{0}$$

利用矩阵分配律:
$$A(\vec{x}_1 - \vec{x}_2) = \vec{0}$$

这意味着差向量 $\vec{v} = \vec{x}_1 - \vec{x}_2$ 是**零空间 $\text{null}(A)$** 中的一个**非零向量**。

**2. 利用子空间的封闭性推导**:
根据 **定理 3.21**,零空间是一个子空间,因此它对**标量乘法 $\text{(Scalar Multiplication)}$** 封闭。

这意味着对于任何实数标量 $c$,向量 $c\vec{v}$ 仍然在零空间内,即满足 $A(c\vec{v}) = \vec{0}$。

**3. 构造无穷解集**:
构造新的向量序列 $\vec{x}_{new} = \vec{x}_1 + c\vec{v}$。将其代入原方程检验:
$$A(\vec{x}_1 + c\vec{v}) = A\vec{x}_1 + A(c\vec{v}) = \vec{b} + \vec{0} = \vec{b}$$

由于实数 $c$ 具有连续性(无穷多个取值),因此 $A\vec{x} = \vec{b}$ 对应的解集也必然是无穷大的。

**即为:**
线性方程组**不可能只有“两个解”或“三个解”。**

因为一旦你找到了两个不同的解 $\vec{x}_1$ 和 $\vec{x}_2$,它们之间的差值就落在了**零空间 $\text{(Null Space)}$** 里。由于零空间是子空间,它必然包含这个差值向量所延伸出的整条直线(甚至是平面)。

你可以将非齐次方程的解集看作:**一个固定位置(特解)+ 零空间(自由伸缩的方向)**。

如果零空间不为零,它就像一根可以无限拉长的“橡皮筋”,把解的数量直接从“两个点”拉成“一条线”甚至“一个面”,中间没有任何停顿。

### ⭐定理联系总结

**定理 3.20**:**初等行变换 $\text{(Elementary Row Operations)}$** 不改变**行空间 $\text{(Row Space)}$**,这确保了在方程化简过程中,描述系统特性的**自由度 $\text{(Degrees of Freedom)}$** 是守恒的。

**定理 3.21**:**零空间 $\text{(Null Space)}$** 具备**子空间 $\text{(Subspace)}$** 的完备属性,即对加法与标量乘法具有**封闭性 $\text{(Closure)}$**。

**定理 3.22**:正是由于零空间的封闭性,线性方程组解的数量才完成了从“孤立点” $\text{(Isolated Point)}$ 到“连续无穷空间” $\text{(Continuous Infinite Space)}$ 的跃迁。

### 3.5.2 基底 $\text{(Basis)}$

我们可以从几何直觉出发:在 $\mathbb{R}^3$ 中,一个过原点的平面是由任意两个不平行的向量**张成 $\text{(Spanned)}$** 的。在代数语言中,这意味着这两个向量张成了平面,且它们是**线性无关 $\text{(Linearly Independent)}$** 的。

少于两个向量无法张成平面,多于两个向量则会造成冗余。这种“不多不少、恰好能支撑起整个空间”的向量集合,就是子空间的**基底 $\text{(Basis)}$**。

```ad-definition
title: 定义:基底 $\text{(Basis)}$
$\mathbb{R}^n$ 的子空间 $S$ 的一个**基底 $\text{(Basis)}$** 是指 $S$ 中的一个向量集合,它必须同时满足:
1. **张成 $S$**:$\text{span}\{\vec{b}_1, \vec{b}_2, \dots, \vec{b}_k\} = S$。
2. **线性无关**:集合 $\{\vec{b}_1, \vec{b}_2, \dots, \vec{b}_k\}$ 是线性无关的。
```

```ad-example
title: 例题 3.42:$\mathbb{R}^n$ 的标准基底
在 $\mathbb{R}^n$ 中,标准单位向量 $\vec{e}_1, \vec{e}_2, \dots, \vec{e}_n$ 是线性无关的,并且能够张成 $\mathbb{R}^n$。因此,它们构成了 $\mathbb{R}^n$ 的一个基底,称为**标准基底 $\text{(Standard Basis)}$**。
```

```ad-example
title: 例题 3.43:基底的非唯一性
一个子空间可以拥有多组不同的基底。例如 $\mathbb{R}^2$ 既有标准基底 $\left\{ \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}$,也可以由 $\left\{ \begin{bmatrix} 2 \\ -1 \end{bmatrix}, \begin{bmatrix} 1 \\ 3 \end{bmatrix} \right\}$ 作为基底。

虽然基底的形态不同,但同一个子空间的任何基底所包含的**向量个数**永远是相同的。
```

```ad-example
title: 例题 3.44:寻找张成空间的基底(剔除冗余法)
已知子空间 $S = \text{span}(\vec{u}, \vec{v}, \vec{w})$,其中:
$$\vec{u} = \begin{bmatrix} 3 \\ -1 \\ 5 \end{bmatrix}, \vec{v} = \begin{bmatrix} 2 \\ 1 \\ 3 \end{bmatrix}, \vec{w} = \begin{bmatrix} 0 \\ -5 \\ 1 \end{bmatrix}$$
求 $S$ 的一个基底。

**解:**
这三个向量已经张成了 $S$,因此只要它们线性无关,就能成为基底。
经观察(或通过高斯消元法)可以发现 $\vec{w} = 2\vec{u} - 3\vec{v}$。这意味着 $\vec{w}$ 是多余的。
由于 $\vec{w}$ 是 $\vec{u}$ 和 $\vec{v}$ 的线性组合,我们可以将其剔除。
而 $\vec{u}$ 与 $\vec{v}$ 互不为倍数,显然线性无关。

**结论:**
$S$ 的一个基底为 $\{\vec{u}, \vec{v}\}$。在几何上,这意味着 $\vec{u}, \vec{v}, \vec{w}$ 三个向量共面,而 $\vec{u}$ 和 $\vec{v}$ 足以作为这个平面的方向向量。
```

**即为:**
**基底 $\text{(Basis)}$** 就是子空间里一组最精简的“建筑材料”。

它必须足够多,多到能通过**线性组合 $\text{(Linear Combination)}$** 造出空间里的每一个向量,基底中的每一个向量都各自独立地贡献一个**空间维度 $\text{(Spatial Dimension)}$**;它又必须足够少,少到里面没有任何一个向量是可以被别人替代的,即满足**线性无关 $\text{(Linearly Independent)}$**。

### 3.5.3 基底:空间的骨架 (Basis)

子空间通常包含无数个向量,我们需要找到一组最精简的向量来唯一地确定该空间。

```ad-definition
title: 定义:基底 (Basis)
子空间 $S$ 的一个**基底** $\mathcal{B} = \{\vec{b}_1, \vec{b}_2, \dots, \vec{b}_k\}$ 必须满足:
1. $\mathcal{B}$ 线性无关 ($\text{Linearly Independent}$)。
2. $\mathcal{B}$ 张成 $S$ ($\text{Spans } S$)。
```

### ⭐算法实现:如何求取基底?

```ad-theorem
title: 定理:矩阵子空间基底的求法
设矩阵 $A$ 经初等行变换化为行阶梯形矩阵 $R$:
1. **$\text{row}(A)$ 的基底**:$R$ 的所有**非零行**。
2. **$\text{col}(A)$ 的基底**:$R$ 中主元列 ($\text{Pivot Columns}$) 对应的**原矩阵 $A$ 中的列**。
3. **$\text{null}(A)$ 的基底**:解齐次方程 $A\vec{x} = \vec{0}$,提取自由变量对应的特解向量。
```

```ad-warning
title: 核心禁忌
求列空间基底时,**禁止**直接使用行阶梯阵 $R$ 的列。行变换虽然保持了行空间,但极大地改变了列空间的方向。必须映射回原矩阵 $A$ 提取主元位置对应的列。
```

### 3.5.4 维度与秩 (Dimension and Rank)

维度是对子空间“大小”的度量,其本质是基底中向量的个数。

```ad-definition
title: 定义:维度、秩与零化度
1. **维度 ($\text{Dimension}$)**:子空间 $S$ 基底中的向量个数,记作 $\dim(S)$。
2. **秩 ($\text{Rank}$)**:矩阵 $A$ 列空间的维度(等于其行空间的维度),记作 $\text{rank}(A)$。
3. **零化度 ($\text{Nullity}$)**:矩阵 $A$ 零空间的维度,记作 $\text{nullity}(A)$。
```

### 3.5.5 👑 秩定理:空间的守恒律 (The Rank Theorem)

这是线性代数中最具力量的定理之一,它揭示了矩阵变换中“信息丢失与保留”的平衡。

```ad-theorem
title: 秩定理 (Rank-Nullity Theorem)
对于任意 $m \times n$ 矩阵 $A$,始终有:
$$\text{rank}(A) + \text{nullity}(A) = n$$
其中 $n$ 为矩阵的列数(即输入空间的维度)。
```

此作者没有提供个人介绍。
最后更新于 2026-05-01