线性相关与线性变换:从 Bx=0 到标准矩阵(中英对照详解)

本周讲义把 Lay《Linear Algebra and Its Applications》第 1.7–1.9 节压缩成 4 个 Part 加 1 个 Extension。前两节把"线性无关 / 线性相关"的判定说透,并把矩阵视作"变换"——一旦用这套语言,求解方程组就变成"哪些输入映射到给定的输出"。中段是整个专题的卡点:Theorem 4 告诉我们,任意线性变换都对应唯一一个矩阵,第 $j$ 列就是 $T(e_j)$;这就是"标准矩阵"。最后两节把标准矩阵的形状接回几何——主元判据告诉我们 onto 与 one-to-one 各自由什么决定,而 $2 \times 2$ 矩阵做不到的事(平移)把读者送到仿射变换与齐次坐标。

判定线性相关:两两看不够,整体看才够

判定一组向量是否"线性无关"这件事,最自然的起点是看任意两支向量之间的关系。先看一张共线的反例:

左图:两支共线箭头 (1,2) 与 (2,4),位于同一条由原点向右上方延伸的射线上

图注:从原点出发的两支箭头都指向右上方,且落在同一条射线上。两者的关系可以直接写成 $2(1,2) - (2,4) = \mathbf{0}$——一支是另一支的倍数。

把 $(2,4)$ 换成 $(3,5)$,两支箭头就不再共线:

右图:两支不共线箭头 (1,2) 与 (3,5),分别位于射线上的不同点

图注:两支箭头从原点出发都指向右上方,但落在同一条射线的不同位置;它们彼此不成倍数。把"抵消方程" $c_1(1,2) + c_2(3,5) = (0,0)$ 逐分量写下来就是 $c_1 + 3c_2 = 0$、$2c_1 + 5c_2 = 0$。第二式减去两倍第一式得到 $c_2 = 0$,代回去就是 $c_1 = 0$——除全零权重外没有别的组合能把它们一起抵消。

这两张图把讲义 Definition 1(线性无关 linear independence / 线性相关 linear dependence)钉死:一组向量 ${v_1, \dots, v_p}$ 线性无关,当且仅当 $c_1 v_1 + \cdots + c_p v_p = \mathbf{0}$ 只有平凡解(所有权重都是零);若存在不全为零的权重使这个线性组合等于 $\mathbf{0}$,那它就是线性相关的,而这一等式称为一个线性相关关系(linear dependence relation)。一对向量恰好在其中一个是另一个倍数时线性相关;两个不共线向量(互不为倍数)则线性无关。

但只看两两其实不够。下面用讲义 Example 1 走一个反直觉的完整例子。取 $v_1 = (1,2,3)$、$v_2 = (4,5,6)$、$v_3 = (2,1,0)$。没有哪个向量是另一个的倍数,所以任何一对都是线性无关的。三支一起呢?把它们排成矩阵 $B$ 的列,要解的就是 $Bx = \mathbf{0}$:

$$ B = \begin{bmatrix} 1 & 4 & 2 \ 2 & 5 & 1 \ 3 & 6 & 0 \end{bmatrix} ;\xrightarrow{\text{row reduce}}; \begin{bmatrix} 1 & 4 & 2 \ 0 & -3 & -3 \ 0 & 0 & 0 \end{bmatrix}. $$

阶梯形第 3 列无主元,所以 $x_3$ 自由;令 $x_3 = 1$ 回代得 $x_2 = -1$、$x_1 = 2$,于是相关关系就是 $2 v_1 - v_2 + v_3 = \mathbf{0}$,把第三向量解出来 $v_3 = -2 v_1 + v_2$。Strang 在 MIT OCW 18.06 Lecture 9 给出同一观察的等价讲法:列相关 ⇔ 零空间里存在非平凡解 ⇔ 矩阵存在自由变量;这条等价链是讲义"主元列判定"的教科书背书。独立与基的判定依据 row echelon form 中 pivot 与 free column 的关系: MIT

通用 3×4 阶梯形矩阵,主元位置 (1,1) 与 (2,3) 高亮,零行在最末一行

图注:一个 3 行 4 列的矩阵被化简到 row echelon form。两处主元(pivot)以浅绿色背景高亮——位置分别在第一行第一列与第二行第三列;其余位置是 0 或自由变量;第三行是全零行。这张图演示的就是"主元列 ⇔ 线性无关"的几何证据:哪一列没有主元,那一列就贡献了一个自由变量,进而产出非平凡解。图中数字是通用示意图,不绑定讲义 B 矩阵的具体数字。

Theorem 1 把这条直觉形式化:包含两个或两个以上向量的下标集线性相关,当且仅当其中至少有一个向量是其余向量的线性组合;若集合相关且 $v_1 \neq \mathbf{0}$,那必然存在某个 $v_j\ (j > 1)$ 是它前面 $v_1, \dots, v_{j-1}$ 的组合。Strang 18.06 Lecture 7 用更口语的讲法概括同一件事:"the rank of A is equal to the number of pivots"——主元数等于矩阵的秩,也就等于无关列的最大数。

把这两条视角——方程视角($Bx = \mathbf{0}$ 的解)与主元视角(阶梯形哪些列有主元)——摆在一起,就得到讲义的判定算法 Step 1–3:

  1. 向量个数多于分量个数,或含零向量,则不必计算就是线性相关。
  2. 否则把向量排成矩阵 $A$ 的列,对 $A$ 做行化简到阶梯形(row echelon form)。
  3. 每列都有主元 ⇒ 线性无关;有列无主元 ⇒ 线性相关;自由变量给出相关关系的权重。

下一步要问的是:什么时候甚至不用化简就能下结论?

三个"不用算就知道相关"的存在性定理

讲义把三个存在性定理放在一起作为 Part 1 的收束。它们的共同形态是"先给一个必胜的判定条件,再把不必要的计算省掉"。

Theorem 2(向量数 > 分量数 ⇒ 相关):$\mathbb{R}^n$ 中任何 ${v_1, \dots, v_p}$ 在 $p > n$ 时线性相关。证明只走三步:令 $A = [v_1\ \cdots\ v_p]$,则 $Ax = \mathbf{0}$ 是 $n$ 个方程 $p$ 个未知量的齐次组;$p > n$ ⇒ 至少一个自由变量 ⇒ 非平凡解 ⇒ 相关。Strang Lecture 9 把这条路径用更直白的话说成:"more unknowns than equations ⇒ there's something in the null space of A, other than just the zero vector"。

Theorem 3(含零向量 ⇒ 相关):把向量重排使 $v_1 = \mathbf{0}$,则 $1 \cdot v_1 + 0 \cdot v_2 + \cdots + 0 \cdot v_p = \mathbf{0}$,第一个权重非平凡,于是集合线性相关。一行证明。

参数型问题则更容易让人栽跟头。讲义 Example 3 问:对哪些实数 $a$,向量 $u = (1, a)$ 与 $v = (a+2, a+6)$ 线性无关?把两向量排成矩阵的列并化简:

$$ \begin{bmatrix} 1 & a+2 \ a & a+6 \end{bmatrix} ;\xrightarrow{\text{row reduce}}; \begin{bmatrix} 1 & a+2 \ 0 & -a(a+3)(a-2) \end{bmatrix}. $$

第 2 列有主元恰好当 $a \neq -3$ 且 $a \neq 2$。在 $a = -3$ 时 $v = (-1, 3)$,$-u + (-1)v = (0,0)$;在 $a = 2$ 时 $v = (4, 8)$,$v - 4u = (0,0)$。讲义在这里明确给了一个警告:不要把第 2 行除以 $-(a+3)(a-2)$ 把主元归 1——这暗中假设了该表达式非零,恰恰漏掉了这两个值。这是一类典型的"参数化漏解陷阱":化简时若对含参数的分母做了约分,要先把分母等于零的临界值单独拎出来。

到此 Part 1 结束。判定向量组线性无关这件事已经讲完,但讲义的逻辑弧线还没收——它要把矩阵变成"映射",于是下一节把读者从"向量组"带到"变换"。

从矩阵到变换:哪些目标被达到、哪些被漏掉

判定向量无关只能让我们知道一组列"没有冗余"。但真要做题,更多的时候是把矩阵看作一个"映射":给定输入 $x$,问输出 $A x$ 是什么;给定输出 $b$,问是否有输入满足 $A x = b$。这一节把讲义 Part 2 的整套语言——定义域(domain)、陪域(codomain)、像(image)、原像(preimage)、值域(range)——摆在台面上。

先看一张几何图,把"矩阵把整张平面压到一个平行四边形上"这一直觉放进脑中:

单位方块被矩阵 M 映射成蓝色平行四边形,Me₁ 与 Me₂ 分别是两支蓝色粗箭头

图注:图中的淡蓝色平行四边形是一个矩阵 $M$ 把单位方块(隐含的灰色网格)映射到的像;两支蓝色粗箭头 $Me_1$、$Me_2$ 从同一公共起点出发,分别指向右上方不同位置。"列 = $T(e_j)$"的几何含义在这里先以最简形式给出:每一列对应单位基向量的像,列的线性组合决定整张网格的变形方式。

Definition 2 把语言定下来。变换(transformation 或 mapping)$T : \mathbb{R}^n \to \mathbb{R}^m$ 是一个为 $\mathbb{R}^n$ 中每个 $x$ 指派 $\mathbb{R}^m$ 中向量 $T(x)$ 的规则。定义域(domain)是 $\mathbb{R}^n$,陪域(codomain)是 $\mathbb{R}^m$;$T(x)$ 是 $x$ 的像(image);满足 $T(x) = b$ 的输入 $x$ 称为 $b$ 的原像(preimage);$T$ 的值域(range)是所有像的集合。矩阵变换的形式是 $T(x) = Ax$($A$ 是 $m \times n$ 矩阵),它的值域是 $A$ 列向量的所有线性组合——值域是陪域的子集,未必等于陪域。

Definition 3 给出"线性"的两条代数性质:$T$ 线性当且仅当对所有 $u, v$ 与所有标量 $c$ 都有 $T(u + v) = T(u) + T(v)$、$T(cu) = cT(u)$。在第二条里取 $c = 0$ 立得 $T(\mathbf{0}) = \mathbf{0}$;反复使用两条性质给出 $T(\sum c_k v_k) = \sum c_k T(v_k)$——线性把任意线性组合送进对应的像线性组合。这恰好是矩阵乘法天然满足的事:$M(u + v) = Mu + Mv$,$M(cu) = cMu$;所以 $T(x) = Mx$ 自动是线性变换。

讲义给出的几个"一行证明"反例可以印证这一判据。$T(x_1, x_2) = (x_1 + 1, x_2)$(把平面整体右移 1 个单位)不是线性:$T(2 \cdot \mathbf{0}) = (1, 0) \neq (2, 0) = 2T(\mathbf{0})$。$T(x_1, x_2) = (x_1^2, x_2)$ 也不是线性:$T(2, 0) = (4, 0) \neq (2, 0) = 2T(1, 0)$。前者把原点搬走,后者把倍数关系打断;两条性质中任意一条被破坏,就不是线性变换。

接下来是讲义 Part 2 最值得记的读法——消元的最后一行直接给出 Range 的精确刻画。Example 4 复用 $B$:

$$ \begin{bmatrix} 1 & 4 & 2 & b_1 \ 2 & 5 & 1 & b_2 \ 3 & 6 & 0 & b_3 \end{bmatrix} ;\xrightarrow{\text{row reduce}}; \begin{bmatrix} 1 & 4 & 2 & b_1 \ 0 & -3 & -3 & b_2 - 2b_1 \ 0 & 0 & 0 & b_3 - 5b_1 + 2b_2 \end{bmatrix}. $$

最末一行给出值域的精确刻画:

$$ b_3 - 5 b_1 + 2 b_2 = 0 \quad\Longleftrightarrow\quad b \in \mathrm{Range}(T). $$

也就是说 $\mathrm{Range}(T)$ 是 $\mathbb{R}^3$ 中的一个平面。具体验证:$e_1 = (1, 0, 0)$ 不满足该条件 ⇒ $e_1$ 没有原像;$v_1 = (1, 2, 3)$ 满足 ⇒ 原像存在,且形如 $p + t w$(其中 $w = (2, -1, 1)$ 满足 $Bw = \mathbf{0}$)。Chabab 在博客里把同一观察整理为"matrix 是 linear transformation,linear transformation 是 matrix"这一对偶——存在性(每个变换都是一个矩阵)与唯一性(矩阵唯一确定变换)正是讲义 Theorem 4 的内容,下一节展开。

Example 5 把 3×2 矩阵的情形端上来。设 $T(x) = Ax$,其中

$$ A = \begin{bmatrix} 1 & 3 \ -1 & 2 \ 2 & -1 \end{bmatrix}. $$

两列都有主元 ⇒ 无自由变量 ⇒ 原像唯一(若存在)。对 $b = (3, 2, -5)$ 解得 $x = (3/2, -1/2)^\top$。问 $c = (4, 1, 6)$ 是否在值域中?正向消元:

$$ \begin{bmatrix} 1 & 3 & 4 \ -1 & 2 & 1 \ 2 & -1 & 6 \end{bmatrix} ;\xrightarrow{\text{row reduce}}; \begin{bmatrix} 1 & 3 & 4 \ 0 & 5 & 5 \ 0 & 0 & -1 \end{bmatrix}. $$

最后一行 $0 = -1$ ⇒ 不相容 ⇒ $c$ 没有原像,不在 $T$ 的值域中。

讲义末尾点出:Example 4 中有些目标没有原像,每个被到达的目标都有无穷多个原像;Example 5 中也有些目标没有原像,但每个被到达的目标恰好有一个原像。两种情形互补,自然抛出下一节的核心问题:给定一个变换,能不能从一个已经知道的事——标准基向量的像 $T(e_j)$——反推出整个变换的矩阵?

任意线性变换都对应唯一矩阵:从 $T(e_j)$ 反推 $A$(你的卡点)

这一节解决读者明确点名的卡点。讲义 Theorem 4 的陈述简短但反直觉:任意线性变换 $T : \mathbb{R}^n \to \mathbb{R}^m$,不论如何描述,都由某个矩阵算出;更具体地说,存在唯一一个 $m \times n$ 矩阵 $A$ 使 $T(x) = Ax$ 对所有 $x$ 成立,且 $A$ 的第 $j$ 列就是 $T(e_j)$($e_j$ 是 $\mathbb{R}^n$ 中单位矩阵的第 $j$ 列)。这个 $A$ 称为 $T$ 的标准矩阵(standard matrix):

$$ A = \begin{bmatrix} T(e_1) & T(e_2) & \cdots & T(e_n) \end{bmatrix}. $$

先把这条论断的几何含义装进一张图。讲义 Slide 3 的 Figure 1 用旋转这件事把"列 = 基向量像"钉得最具体:

旋转 θ 的 Figure 1:e₁(灰虚线)转到 (cosθ, sinθ)(蓝色右上方),e₂ 转到 (-sinθ, cosθ)(蓝色左上方)

图注:旋转角 $\theta$ 的几何图。水平箭头 $\boldsymbol{e}_1$(灰虚线)从原点出发,与右上方蓝色实心箭头 $(\cos\theta, \sin\theta)^\top$ 之间用一段弧线标出夹角 $\theta$;垂直箭头 $\boldsymbol{e}_2$(灰虚线)被旋转到左上方蓝色实心箭头 $(-\sin\theta, \cos\theta)^\top$。这张图同时给出了两条信息:旋转是线性的(平行四边形的边和对角线一起旋转),以及标准矩阵的两列就是基向量的像。

3Blue1Brown 在 Chapter 3 用一句更直白的话概括这条几何原理:"a two-dimensional linear transformation is completely described by just four numbers: the two coordinates for where î lands, and the two coordinates for where j-hat lands"。看下面这张 3B1B 官方可视化图,它把"列 = 变换后基向量像"这件事在网格变形中完整呈现:

3Blue1Brown 官方图:倾斜的蓝灰网格 + 绿色与粉红色基向量对(原向量与变换后像)+ 白色 v⃗ 与 L(v⃗)

图注:黑底图叠加倾斜的蓝灰色网格;两组彩色基向量箭头从原点出发——绿色对应 $\hat{\imath}$ 及其变换后像 $L(\hat{\imath})$,粉红色对应 $\hat{\jmath}$ 及其变换后像 $L(\hat{\jmath})$;白色箭头对表示原向量 $\vec{v}$ 与变换后的 $L(\vec{v})$。这张图传达的是:任意向量 $\vec{v}$ 的像由 $L(\vec{v}) = x \cdot L(\hat{\imath}) + y \cdot L(\hat{\jmath})$ 给出——线性组合的权重不变,落点跟着基向量像按同比例走。图中没有显示完整的方括号矩阵,列向量也未标注"这两列就是标准矩阵",那是 Theorem 4 文字证明的工作。

把这张图与讲义 Figure 1 并排看,"为什么任意线性变换都对应一个矩阵"这件事就有了双轨:Figure 1 给旋转这一具体几何变换的取值,3B1B 图给一般 2D 线性变换的网格变形直觉。两轨合流,Theorem 4 的代数证明就是要说出这件事的普遍版。

证明拆成两步。第一步是存在性——为什么任意线性变换一定能写成一个矩阵。把输入展成标准向量:

$$ x = x_1 e_1 + x_2 e_2 + \cdots + x_n e_n. $$

由线性,$T(x) = x_1 T(e_1) + x_2 T(e_2) + \cdots + x_n T(e_n)$。把这堆基向量的像按列排成一个 $m \times n$ 矩阵 $A$,最后一行乘出来恰好就是 $A x$。这就是"输入的像"恰好等于"矩阵乘法作用于输入",变换 $T$ 与矩阵 $A$ 是同一件事的两种写法。

第二步是唯一性——为什么这个矩阵是唯一的。假设还有另一个 $m \times n$ 矩阵 $A'$ 也满足 $T(x) = A' x$ 对所有 $x$ 成立。取 $x = e_j$,得 $T(e_j) = A' e_j$,而 $A' e_j$ 恰好是 $A'$ 的第 $j$ 列(矩阵乘 $e_j$ 选出的是第 $j$ 列)。于是 $A$ 与 $A'$ 列相同 ⇒ $A' = A$。

唯一性这步反过来正是反推矩阵的核心操作:只要知道 $T(e_j)$ 的像,就能把第 $j$ 列直接填进矩阵。讲义 Example 8 把这件事做实:已知线性变换 $T : \mathbb{R}^2 \to \mathbb{R}^3$ 满足 $T(e_1) = (1, 3, -1)$、$T(e_2) = (-3, 5, 7)$,把两个像排成列就得到

$$ A = \begin{bmatrix} 1 & -3 \ 3 & 5 \ -1 & 7 \end{bmatrix}. $$

注意 $A$ 是个 $3 \times 2$ 矩阵——它的列是 $T$ 把 $\mathbb{R}^2$ 的基送进 $\mathbb{R}^3$ 的位置。讲义原文写作"recovers the matrix from Example 5"——两例都用 $3 \times 2$ 矩阵做正/反方向演示,但两例给出的具体数字不同(Example 5 的列为 $(1, -1, 2)$ 与 $(3, 2, -1)$,Example 8 的列为 $(1, 3, -1)$ 与 $(-3, 5, 7)$),原文措辞与具体数字之间存在内部不一致。建议读者把两例当作用同一形状($3 \times 2$)但不同数字的对照来读:Example 5 用"已知矩阵求像"演示变换如何把 $x$ 送到 $b$,Example 8 用"已知像反推矩阵"演示变换如何被基的像完全决定——两者是同一思路的两面。

旋转矩阵是 Theorem 4 最常见的具体例(讲义 Example 6)。$T(e_1) = (\cos\theta, \sin\theta)$、$T(e_2) = (-\sin\theta, \cos\theta)$ 直接给出

$$ A = \begin{bmatrix} \cos\theta & -\sin\theta \ \sin\theta & \cos\theta \end{bmatrix}. $$

在 $\theta = 90°$ 时退化为 $A = \begin{bmatrix} 0 & -1 \ 1 & 0 \end{bmatrix}$,3Blue1Brown 在 Chapter 3 用同一矩阵 $\begin{bmatrix} 0 & -1 \ 1 & 0 \end{bmatrix}$ 演示 90° 逆时针旋转:

3Blue1Brown 官方图:90° 逆时针旋转的矩阵公式页,第一列 (0,1) 绿色,第二列 (-1,0) 粉红色

图注:黑底图顶部白字 "90° Counterclockwise Rotation";正中是 $2 \times 2$ 矩阵 $\begin{bmatrix} 0 & -1 \ 1 & 0 \end{bmatrix}$——第一列 $(0, 1)$ 以绿色编码,对应 $\hat{\imath}$ 被旋转到 $(0, 1)$;第二列 $(-1, 0)$ 以粉红色编码,对应 $\hat{\jmath}$ 被旋转到 $(-1, 0)$。右侧紧接一个 $2 \times 1$ 列向量 $[x; y]$,以淡黄色显示输入。颜色编码与讲义 Figure 1 一致:绿色 = $\hat{\imath}$ 的落点,粉红 = $\hat{\jmath}$ 的落点。这张图把"列 = 变换后基向量像"用颜色直接打到读者眼里。

讲义 Example 7 给出 Theorem 4 的一个漂亮副产品:旋转复合直接推出 cos/sin 和角公式。先旋转 $\alpha$ 再旋转 $\beta$ 等价于旋转 $\alpha + \beta$。两条路径必须把 $e_1$ 送到同一点。第一次旋转把 $e_1$ 送到 $(\cos\alpha, \sin\alpha)^\top$;第二次,乘以 $\beta$ 的旋转矩阵:

$$ \begin{bmatrix} \cos\beta & -\sin\beta \ \sin\beta & \cos\beta \end{bmatrix} \begin{pmatrix} \cos\alpha \ \sin\alpha \end{pmatrix} = \begin{pmatrix} \cos\beta \cos\alpha - \sin\beta \sin\alpha \ \sin\beta \cos\alpha + \cos\beta \sin\alpha \end{pmatrix}. $$

直接把 $e_1$ 旋转 $\alpha + \beta$ 得 $(\cos(\alpha+\beta), \sin(\alpha+\beta))^\top$。逐分量匹配立得

$$ \cos(\alpha + \beta) = \cos\alpha \cos\beta - \sin\alpha \sin\beta,\quad \sin(\alpha + \beta) = \sin\alpha \cos\beta + \cos\alpha \sin\beta. $$

用矩阵-向量乘法重新推出三角和角公式,这条路径把"复合的标准矩阵 = 各标准矩阵之积"这一结论具体化了。讲义还给出 Example 9(扩张 $T(x) = 3x$ 的标准矩阵是 $3I$)和 Example 10(坐标操作的标准矩阵:把第 3 个分量乘 2、交换前两个分量、把第 3 个分量换成 $v_3 + 2v_1$ 各对应一个 $3 \times 3$ 矩阵),但核心的卡点解法已经在 Example 8 里完成了。

Chabab 2024 把 Theorem 4 与 Definition 3 之间的桥梁写成一句形式化原则:"Every 2×2 matrix encodes a unique linear transformation of $\mathbb{R}^2$. Every linear transformation of $\mathbb{R}^2$ is encoded by a unique 2×2 matrix"——讲义 Theorem 4 是这条原则的形式化版。再配一张基向量跟踪图:

Chabab 博客 Figure 2:深色背景 + 淡青色方格 + 中心白色发光圆点 + 六向辐射箭头(实心红/绿 = 原 î/ĵ,虚线红/绿 = 变换后像)

图注:深色背景上的示意图,背景有淡青色方格。从中心白色发光圆点向六个方向辐射出箭头:左右是实心红色箭头(对应原 $\hat{\imath}$ 与变换后像),上下是实心绿色箭头(对应原 $\hat{\jmath}$ 与变换后像);右上方与右下方的虚线箭头表示变换后的 $\hat{\imath}$、$\hat{\jmath}$ 落点。注意:博客约定实心 = 变换前基向量,虚线 = 变换后像,颜色编码是博客的约定,与讲义图不同——读者必须借助配文来理解颜色含义。这张图强调的是"基向量的两个落点完全决定了整个变换":所有其它向量的像都按线性组合由这两个落点推算。

到这里读者应该已经能从 $T(e_j)$ 的像直接列出标准矩阵的两列。但一个标准矩阵"长什么样"反过来又决定了哪些目标被达到、哪些不同输入会不会被混在一起——这是下一节 onto 与 one-to-one 的内容。

满射与单射:主元判据 + 几何意义

Definition 4 把 onto 与 one-to-one 这两个概念锁住:映射 $T : \mathbb{R}^n \to \mathbb{R}^m$满射(onto $\mathbb{R}^m$)当且仅当 $\mathbb{R}^m$ 中每个 $b$ 至少有一个原像;单射(one-to-one)当且仅当每个 $b$ 至多有一个原像(单射允许某些 $b$ 没有原像)。旋转是 $\mathbb{R}^2$ 的满射也是单射:再旋转 $-\theta$ 就能撤销 $T$,每个目标都被达到,且两个不同输入永远不共享同一个像。

什么时候两个不同输入会共享同一个像?讲义给了一条等价形式:$T(u) = T(v) \Leftrightarrow T(u - v) = \mathbf{0}$。也就是说,不同输入共享同一个像当且仅当 $T$ 把它们的非零差 $u - v$ 送到 $\mathbf{0}$。这条观察把"单射"问题与"平凡解"问题直接锁在一起——讲义 Theorem 5 给出了正式陈述:$T$ 线性 ⇒ $T$ 单射 $\Leftrightarrow$ $T(x) = \mathbf{0}$ 只有平凡解。

证明走两个方向。(⇒)若 $T$ 单射,则 $\mathbf{0}$ 至多一个原像 ⇒ 只有 $x = \mathbf{0}$。(⇐)反设 $T$ 不单射,存在 $u \neq v$ 使 $T(u) = T(v)$ ⇒ $T(u - v) = T(u) - T(v) = \mathbf{0}$,而 $u - v \neq \mathbf{0}$ 给出非平凡解。Strang Lecture 9 把这条等价链用一句话概括:"the columns will be independent if the null space of $A$ is the zero vector. They are dependent if there's something else in there"。

有了 Theorem 5,标准矩阵把两个问题都化为矩阵方程。满射问 $Ax = b$ 是否对所有 $b$ 相容;单射问 $Ax = \mathbf{0}$ 是否只有平凡解。讲义 Theorem 6 把这条路径形式化:

  1. $T$ 满射 $\Leftrightarrow$ $A$ 的列张成 $\mathbb{R}^m$;
  2. $T$ 单射 $\Leftrightarrow$ $A$ 的列线性无关。

证明要点:(1) $T(x) = b$ 即 $Ax = b$;满射 ⇒ 对所有 $b$ 相容 ⇒ 每个 $b$ 都是 $A$ 列的组合 ⇒ 列张成 $\mathbb{R}^m$。(2) $T(x) = \mathbf{0}$ 即 $Ax = \mathbf{0}$;由 Theorem 5 与"无关 = 只有平凡解"等价。

讲义的总结句:线性映射满射 $\Leftrightarrow$ 标准矩阵每行都有主元;单射 $\Leftrightarrow$ 每列都有主元。这是这一章的核心记忆锚。回到阶梯形图的视觉证据:

复用:通用 3×4 阶梯形矩阵,主元位置 (1,1) 与 (2,3) 高亮,零行在最末一行

图注(复用 stage 1):阶梯形中主元的位置直接决定 onto 与 one-to-one。行主元在 (1,1) 与 (2,3),但第三行全零——这意味着第三行没有主元,矩阵从 $\mathbb{R}^4$ 不能映满到 $\mathbb{R}^3$,因为有一个目标不可达(图中的阶梯形是 3×4,行数少于列数,必然不 onto)。列主元在第 1 列与第 3 列,第 2、4 列是自由列,意味着有两个自由变量 ⇒ 不是 one-to-one。这张图直接演示了"行主元 ⇔ 能否到达 / 列主元 ⇔ 是否重叠"两条主线。

讲义用 Example 11 与 Example 12 做对照,把这两条主线分开。Example 11 复用 $B$ 化简后的阶梯形:

$$ \begin{bmatrix} 1 & 4 & 2 \ 0 & -3 & -3 \ 0 & 0 & 0 \end{bmatrix}. $$

第 3 行无主元 ⇒ $T$ 不映满 $\mathbb{R}^3$(即 $e_1 = (1, 0, 0)$ 没有原像)。第 3 列无主元 ⇒ $T$ 不单射(即 $(2, -1, 1)$ 与 $\mathbf{0}$ 共享像 $\mathbf{0}$)。一个矩阵,既不 onto 也不 one-to-one。

Example 12 给出一个 onto 但非 one-to-one 的情形。$T$ 的标准矩阵是 4 列 3 行的阶梯形:

$$ \begin{bmatrix} \boxed{1} & 2 & 3 & 4 \ 0 & \boxed{2} & 5 & 6 \ 0 & 0 & 0 & \boxed{3} \end{bmatrix}. $$

每行都有主元(圆圈标在 (1,1)、(2,2)、(3,4))⇒ 列张成 $\mathbb{R}^3$ ⇒ $T$ 把 $\mathbb{R}^4$ 映满 $\mathbb{R}^3$。但 4 列只有 3 个主元,第 3 列无主元 ⇒ 列相关 ⇒ $T$ 不单射。onto 但非 one-to-one。

这两个例子互补:Example 11 行有缺 + 列有缺 → 既不 onto 也不 one-to-one;Example 12 行不缺 + 列有缺 → onto 但非 one-to-one。两者把"行主元 ⇒ 能不能到达"与"列主元 ⇒ 会不会重叠"两条主线分开,也告诉读者这两件事是独立的——一个有满射能力未必保证单射,反之亦然。

至此 Part 4 结束。读者已经会用主元判据判断 onto 与 one-to-one,下一步该问的是:这些抽象的几何性质在真实的图像编辑中长什么样?$2 \times 2$ 矩阵到底能做到哪几种几何变换?

用矩阵变换猫照片:为什么 $2 \times 2$ 做不了平移

把猫脸照片看作带位置的彩色点 $p = (x, y)^\top$,原点放在照片中心。每个点被一个 $2 \times 2$ 矩阵送到 $Ap$。讲义 Slide 5 用一张五面板拼图展示四种基本几何变换:

五面板猫照片横向拼图:Original / 30° rotation / Reflection / Unequal stretch / Shear,每面板下方有变换矩阵

图注:从左到右五块面板同一张猫脸图像经历不同线性变换后的效果——Original(单位矩阵 $I$)、30° 旋转($R = \begin{bmatrix} \sqrt{3}/2 & -1/2 \ 1/2 & \sqrt{3}/2 \end{bmatrix}$)、Reflection(关于 $y$ 轴 $F = \begin{bmatrix} -1 & 0 \ 0 & 1 \end{bmatrix}$)、Unequal stretch($D = \begin{bmatrix} 3/2 & 0 \ 0 & 3/4 \end{bmatrix}$)、Shear($S = \begin{bmatrix} 1 & 1/2 \ 0 & 1 \end{bmatrix}$)。每块面板正中央有一对蓝色圆点(猫的两眼之间)作参考标定点。

讲义先用"列"视角解释每个矩阵。以剪切 $S$ 为例:列把 $e_1$ 送到 $(1, 0)$(保持不变),把 $e_2$ 送到 $(1/2, 1)$(向右上方偏移)。这一列意味着每个高度为 $y$ 的点都横向移动 $y/2$——所以每条水平行按其高度的一半横向滑动,整张脸被斜着拉变形,但照片边界仍是直边。

这条"列 = 基向量像"的视角同样适用于旋转和反射。旋转的两列把 $e_1$ 转到 $(\cos\theta, \sin\theta)$、把 $e_2$ 转到 $(-\sin\theta, \cos\theta)$;反射的两列把 $e_1$ 送到 $(-1, 0)$、把 $e_2$ 送到 $(0, 1)$——前者翻 x 方向,后者保留 y 方向。讲义提出一个开放问题:如果图像编辑器先做 $F$(翻转)再做 $R$(旋转),反过来顺序会得到同一幅图吗?跟踪一个偏中心的点在两种顺序中的轨迹,会发现矩阵乘法一般不可交换,$F R \neq R F$。

现在考虑一个更日常的操作:把每个点向右移 2 个单位。任何 $2 \times 2$ 矩阵都做不到——因为 $A \cdot \mathbf{0} = \mathbf{0}$ 对任何矩阵 $A$ 都成立,原点永远被钉在原地,不可能向右挪动。这就是讲义要引入仿射变换(affine transformation)$p \mapsto A p + t$ 的契机:在线性部分之外再加一个平移 $t = (t_x, t_y)^\top$。scikit-image 文档把这条路径变成可调用的 API:Euclidean 类保留距离、Similarity 类保留形状、Affine 类保留平行性、Projective 类仅保留共线性——按"保留的不变量由多到少"形成 4 类 homography 的层级。下面这张 scikit-image 的 Euclidean 示例图演示旋转加平移一并打包在一个 $3 \times 3$ 矩阵里: AffineTransform

scikit-image Euclidean 示例:虎斑猫轻微逆时针旋转 + 平移到画布右上方

图注:黑色画布背景 + 顶部标题 "Euclidean transformation";虎斑猫特写照片相对画布逆时针旋转约 15°,并因 $(t_x, t_y) = (100, -20)$ 平移而偏向画布右上方(具体平移量仅在配套代码中标注,图中不显式显示)。注意讲义五面板是 $30°$ 旋转且没有平移,与这张 $15°$ + 平移的示例角度不同,不应直接等价。

把平移并入矩阵乘法的标准做法是齐次坐标(homogeneous coordinates):给每个点额外一个等于 1 的坐标,升到 $\mathbb{R}^3$:

$$ \begin{bmatrix} x \ y \ 1 \end{bmatrix} ;\longmapsto; \begin{bmatrix} a & b & t_x \ c & d & t_y \ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \ y \ 1 \end{bmatrix} = \begin{bmatrix} a x + b y + t_x \ c x + d y + t_y \ 1 \end{bmatrix}. $$

UW CSE 557 把这个 $3 \times 3$ 矩阵的"解剖"形式写成

$$ M = \begin{bmatrix} A & t \ 0\ 0 & 1 \end{bmatrix} = \begin{bmatrix} a & b & t_x \ c & d & t_y \ 0 & 0 & 1 \end{bmatrix}. $$

下面是这张解剖图:

UW CSE 557 slide 18:3×3 仿射矩阵的解剖 M = [A, t; 0, 0, 1],含红色椭圆/绿色圈批注与右侧手写 M·[x; y; 1] 示例

图注:3×3 仿射矩阵 $M$ 完整可见;分块形式 $M = \begin{bmatrix} A & t \ 0\ 0 & 1 \end{bmatrix}$ 标在主矩阵下方:左上 $2 \times 2$ 子块 $A$ 是线性部分(旋转/缩放/剪切/反射都装在这里),右上 $2 \times 1$ 列 $t$ 是平移列向量,末行 $[0\ 0\ 1]$ 是 affine sentinel——保证任意 $(x, y, 1)$ 输入的第三坐标始终保持为 1。右侧是手写示例 $M \cdot [x; y; 1]$,最右端略裁切。

为什么最后一行必须是 $[0\ 0\ 1]$ 而不是别的?因为如果第三行不是 $[0\ 0\ 1]$,平移列会被乘进第三坐标里,输出点的第三坐标就不再保持为 1,整个仿射结构就崩溃成 projective 变换(不在本专题范围)。换句话说,"加第三坐标 = 1"这条机制要求 $M$ 必须以 $[0\ 0\ 1]$ 收尾,否则平移无法被正确表示。

回到 scikit-image 工程层。下面这张 Affine 示例图把讲义 Slide 5 的剪切面板接到可调用的 AffineTransform(shear=π/6) API 上:

scikit-image Affine 示例:虎斑猫被 shear=π/6 斜切变形,左下与右侧外露黑色填充

图注:标题 "Affine transformation";虎斑猫特写被剪切变形呈平行四边形/斜切状;坐标轴 $x \approx 0$–$460$、$y \approx 0$–$290$;左下与右侧外露纯黑填充。剪切量 $\pi/6$ 仅在配套代码中标注,图中不显式显示。注意讲义 Slide 5 的剪切矩阵是 $\begin{bmatrix} 1 & 1/2 \ 0 & 1 \end{bmatrix}$(水平剪切系数 $1/2$),scikit-image 的 shear=π/6 给出的是同一族变换的另一组参数;两者方向相同,数值不同,不应直接等价。

讲义 Slide 5 的最后一段把仿射模型的边界摆出来,留作开放问题。仿射变换把直线映到直线、把平行线映到平行线、把中点映到中点——但桶形畸变(barrel distortion)让网格向外凸出,任何仿射变换都做不到。在工程层,这意味着 AffineTransform 不能校正广角相机的桶形畸变;要做这件事需要 projective 模型(不在本专题范围)。另一层边界是采样:即便用一个超大画布避开裁剪,旋转 $30°$ 再转回去也不能精确恢复每一个像素,因为旋转后采样的网格与原网格不重合,scikit-image 的 transform.warp 文档明确写出"为了重建图像所以必须用逆"的工程说明——这是讲义"旋转 30° 再转回去不能精确恢复像素"在工程层的对应。

至此讲义 Slide 5 的核心内容走完。读到这里,读者已经把讲义全部 4 个 Part 加 1 个 Extension 串成一条线:从 $Bx = 0$ 出发判定线性无关,到把矩阵视作变换,到理解"任意线性变换都对应唯一一个矩阵",再到用主元判据判断 onto 与 one-to-one,最后看到这套语言在图像编辑中能做什么、做不到什么。后续的 Ch.4 线性变换系统讨论、§1.10 将在这一基础上展开。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. UFUG 2103 Week 3 Learning Sheet: Linear Independence and Linear Transformations — HKUST(GZ) Function Hub(讲义 PDF,作者 Jin-Guo Liu & Huan-Hai Zhou,PDF CreationDate 2026-09-19;引用 Lay《Linear Algebra and Its Applications》6th ed., Sections 1.7–1.9)
  2. MIT OCW 18.06 Lecture 7: Solving Ax=0, Pivot Variables, Special Solutions — MIT OpenCourseWare
  3. MIT OCW 18.06 Lecture 9: Independence, Basis, and Dimension — MIT OpenCourseWare
  4. 3Blue1Brown《Essence of Linear Algebra》Chapter 3: Linear Transformations and Matrices — 3blue1brown.com
  5. Chabab (2024): Linear Transformations and Matrices — Space Itself Is Transformed — chabab.tech
  6. scikit-image Documentation: Geometrical Transformations of Images & Types of Homographies — scikit-image.org
  7. UW CSE 557: Computer Graphics — Affine Transformations (24au, Zoran Popović) — courses.cs.washington.edu
  8. Lay, Lay & McDonald: Linear Algebra and Its Applications, 6th ed. (Global Edition), Sections 1.7–1.9 — Pearson
线性相关与线性变换:从 Bx=0 到标准矩阵(中英对照详解)