CONCEPT / linear-algebra

线性变换:把矩阵看作空间运动

把矩阵理解为保持线性组合的空间映射,并用基向量、行列式与奇异性解释二维变换的几何行为。

尚未开始仅保存在此浏览器
先修vectorsmatriceslinear-combinations

本页目标

  1. 用可加性和齐次性判断一个映射是否线性。
  2. 从基向量的像构造二维线性变换矩阵。
  3. 解释行列式的面积缩放、方向与奇异性含义。
本页目录

学习目标

矩阵可以看成一条规则:输入一个向量,输出另一个向量。学习完成后,应能从基向量的运动重建矩阵,并用行列式判断面积、方向和降维现象。

先修知识

阅读本章前,应能计算向量的线性组合,理解张成与线性无关,并会用矩阵列表示若干向量。矩阵乘向量的坐标规则会在文中重新推导,但不再逐项解释实数运算。若尚不能判断两支平面向量是否线性相关,可先回到

向量矩阵

本章中的 T:VWT:V\to W 表示从向量空间 VVWW 的映射;在选定基后, [x]B[\mathbf x]_B 表示向量 x\mathbf x 在基 BB 下的坐标。矩阵是映射在某组基下的表示,不能脱离输入、输出空间和基来讨论其全部意义。

为什么需要线性变换

旋转坐标、压缩图像、组合特征和计算神经网络层,看似属于不同任务,却都经常出现 y=Ax\mathbf{y}=A\mathbf{x}。矩阵乘法之所以普遍,不只是因为容易计算,而是因为它精确表达了“线性组合在映射前后保持一致”。

\mathbf{y}=A\mathbf{x}
线性变换

直觉:先看基向量去哪里

在平面标准基 e1=(1,0)T\mathbf{e}_1=(1,0)^\mathsf Te2=(0,1)T\mathbf{e}_2=(0,1)^\mathsf T 下,任意向量都可写成 x=x1e1+x2e2\mathbf{x}=x_1\mathbf{e}_1+x_2\mathbf{e}_2。如果一个映射保持线性组合,那么

T(x)=x1T(e1)+x2T(e2).T(\mathbf{x}) =x_1T(\mathbf{e}_1)+x_2T(\mathbf{e}_2).

因此,只要知道两支基向量被送到哪里,整张无限网格的运动就已经确定。这个直觉只适用于线性映射;平移 T(x)=Ax+bT(\mathbf{x})=A\mathbf{x}+\mathbf{b}b0\mathbf{b}\neq0 时是仿射映射,不再把原点保持在原点。

交互演示

观察前的问题

操作前先作三个预测:若只移动第一支目标基向量,哪些网格线会改变;若两支目标基向量落在同一直线上,平面中的信息会丢失到几维;两个行列式都等于 11 的矩阵是否必然产生相同运动。写下预测后再运行实验,避免把动画结果当成未经思考的答案。

二维线性变换

正在加载交互实验…

操作任务

先选择旋转、缩放、剪切和投影预设,再拖动两支目标基向量。依次完成以下记录:

  • 网格线仍保持直线和平行关系;
  • 单位正方形变为平行四边形;
  • 行列式绝对值等于有向面积的缩放倍数;
  • 行列式为零时,二维区域被压到一条线或一个点。

再把矩阵从单位矩阵连续变到目标矩阵,暂停在中间时刻。比较当前矩阵与目标矩阵的行列式,确认面积变化是随插值过程演化的,而不是只由最终标签决定。最后使用键盘移动基向量端点,核对键盘与指针操作得到相同参数。

可得结论

线性变换保持直线、平行关系和原点,但通常不保持长度、夹角或面积。基向量的像确定整张网格;行列式只概括体积缩放与取向,不能唯一识别变换。实验中的有限网格只是无限空间的取样,结论仍需由线性定义和代数推导支持。

演示提供直觉与可检验样例,但不能代替下面的定义和推导。

严格定义

定义

V,WV,W 是同一标量域上的向量空间。映射 T:VWT:V\to W 是线性的,当且仅当对任意向量 u,v\mathbf{u},\mathbf{v} 和标量 a,ba,b,都有

T(au+bv)=aT(u)+bT(v).T(a\mathbf{u}+b\mathbf{v}) =aT(\mathbf{u})+bT(\mathbf{v}).

这个条件同时包含可加性与齐次性。令 a=b=0a=b=0 可知线性映射必有 T(0)=0T(\mathbf{0})=\mathbf{0}。因此,任何把原点移走的映射都不是线性映射。

在有限维空间选定基后,把 T(ej)T(\mathbf{e}_j) 的坐标放在第 jj 列,就得到矩阵

A=[[T(e1)][T(e2)][T(en)]],A= \begin{bmatrix} \vert & \vert & & \vert\\ [T(\mathbf{e}_1)] & [T(\mathbf{e}_2)] & \cdots & [T(\mathbf{e}_n)]\\ \vert & \vert & & \vert \end{bmatrix},

并且 [T(x)]=A[x][T(\mathbf{x})]=A[\mathbf{x}]。矩阵依赖所选基,线性映射本身不依赖。

核、像与信息损失

线性映射的核和像分别定义为

kerT={vV:T(v)=0},imT={T(v):vV}.\ker T=\{\mathbf v\in V:T(\mathbf v)=\mathbf0\}, \qquad \operatorname{im}T=\{T(\mathbf v):\mathbf v\in V\}.

核记录哪些输入方向被压到零,像记录所有可能输出。若核中存在非零向量 z\mathbf z,则对任意 x\mathbf x 都有 T(x+z)=T(x)T(\mathbf x+\mathbf z)=T(\mathbf x),两个不同输入产生相同输出,所以映射不是一一对应。反过来,若 T(x)=T(y)T(\mathbf x)=T(\mathbf y),线性性给出 T(xy)=0T(\mathbf x-\mathbf y)=\mathbf0;当核只有零向量时,必有 x=y\mathbf x=\mathbf y。因此线性映射单射当且仅当核为 {0}\{\mathbf0\}

有限维情形满足秩—零化度定理

dimV=dim(kerT)+dim(imT).\dim V=\dim(\ker T)+\dim(\operatorname{im}T).

它把“丢失了多少独立方向”和“保留了多少输出方向”精确配平。二维投影到一条直线时,核和像各为一维;零映射的核是整个输入空间,像只有零向量。

示例一:由核判断信息损失

由核判断投影的信息损失

T(x,y,z)=(x,y,0)T(x,y,z)=(x,y,0)。它保留前两个坐标并删除第三个坐标。核由所有 (0,0,z)(0,0,z) 组成,是一条一维直线;像由所有 (x,y,0)(x,y,0) 组成,是二维平面。根据秩—零化度定理, 3=1+23=1+2。向量 (1,2,3)(1,2,3)(1,2,4)(1,2,-4) 的输出相同,说明删除的方向无法从结果恢复。

复合、逆映射与换基

T:UVT:U\to V 的矩阵为 AAS:VWS:V\to W 的矩阵为 BB,则先做 TT 再做 SS 的矩阵为 BABA。对任意坐标列 x\mathbf x

[S(T(x))]=B(Ax)=(BA)x.[S(T(\mathbf x))]=B(A\mathbf x)=(BA)\mathbf x.

乘法顺序从右向左读取,通常 BAABBA\neq AB;交换顺序等于交换操作过程,结果没有理由相同。若方阵表示的映射可逆,存在矩阵 A1A^{-1} 使 A1A=AA1=IA^{-1}A=AA^{-1}=I。可逆意味着核只有零向量且像覆盖整个空间。

同一个线性算子在两组基下会有不同矩阵。设基 BB 的坐标转为标准坐标的矩阵是 PP,即 [x]std=P[x]B[\mathbf x]_{\mathrm{std}}=P[\mathbf x]_B。若标准基下算子矩阵为 AA,那么

[T(x)]B=P1AP[x]B.[T(\mathbf x)]_B=P^{-1}AP[\mathbf x]_B.

所以基 BB 下的矩阵为 P1APP^{-1}AP。这种相似变换改变坐标外观,却保留行列式、迹和特征值等与线性算子本身有关的量。

行列式为何描述面积

对二维矩阵

A=[abcd],A=\begin{bmatrix}a&b\\c&d\end{bmatrix},

两列正是单位正方形两条边的像。它们张成的平行四边形有向面积为

detA=adbc.\det A=ad-bc.

绝对值 detA|\det A| 给出面积缩放;符号表示取向是否翻转。若 detA=0\det A=0,两列线性相关,平行四边形面积为零。此时至少有一个非零方向被压到零,映射不可逆。

这段解释在二维使用面积,在三维使用体积;一般 nn 维中,行列式给出有向体积缩放。它不意味着高维行列式可以简单“看见”,而是相同的交替多线性结构继续成立。

示例二:剪切、面积与方向

剪切、面积与方向

考虑

A=[1201].A=\begin{bmatrix}1&2\\0&1\end{bmatrix}.

Ae1=(1,0)TA\mathbf{e}_1=(1,0)^\mathsf TAe2=(2,1)TA\mathbf{e}_2=(2,1)^\mathsf T。竖直方向向右倾斜,水平方向不变,这是水平剪切。

detA=1\det A=1,所以所有平面区域的面积保持不变,方向也不翻转。但长度和角度通常改变,因此“面积保持”不等于“刚体运动”。

x=(1,2)T\mathbf{x}=(-1,2)^\mathsf T

Ax=1(1,0)T+2(2,1)T=(3,2)T.A\mathbf{x} =-1(1,0)^\mathsf T+2(2,1)^\mathsf T =(3,2)^\mathsf T.

这也直接验证了“矩阵列向量按输入坐标作线性组合”的计算规则。

复合旋转与投影

R=[0110]R=\begin{bmatrix}0&-1\\1&0\end{bmatrix} 表示逆时针旋转 9090^\circP=[1000]P=\begin{bmatrix}1&0\\0&0\end{bmatrix} 表示投影到横轴。先旋转再投影得到

PR=[0100],PR=\begin{bmatrix}0&-1\\0&0\end{bmatrix},

它把 (x,y)T(x,y)^\mathsf T 送到 (y,0)T(-y,0)^\mathsf T。先投影再旋转则

RP=[0010],RP=\begin{bmatrix}0&0\\1&0\end{bmatrix},

输出为 (0,x)T(0,x)^\mathsf T。两者都把二维空间压到一条轴上,行列式都为零,但像空间不同,说明行列式不能记录完整的映射结构。

常见误区

常见误区

“只要公式里有矩阵就是线性变换。”若输出为 Ax+bA\mathbf{x}+\mathbf{b}b0\mathbf{b}\neq0,它是仿射变换;若矩阵本身依赖输入,如 A(x)xA(\mathbf{x})\mathbf{x},也不能仅凭外形判断线性。

常见误区

“行列式为负表示面积为负。”普通面积仍是 detA|\det A| 倍;负号记录有向基的顺序翻转。它是方向信息,不是物理面积小于零。

常见误区

“奇异矩阵只是数值计算不方便。”奇异性首先是几何信息:不同输入可能得到同一输出,部分方向的信息永久丢失,所以不存在双向逆映射。

代码:矩阵作用与行列式

type Vector2 = readonly [number, number];
type Matrix2 = readonly [readonly [number, number], readonly [number, number]];

export function apply2(matrix: Matrix2, vector: Vector2): Vector2 {
  const [[a, b], [c, d]] = matrix;
  const [x, y] = vector;
  return [a * x + b * y, c * x + d * y];
}

export function determinant2(matrix: Matrix2): number {
  const [[a, b], [c, d]] = matrix;
  return a * d - b * c;
}

这段代码只处理 2×22\times2 实矩阵。生产级数值库还应考虑维数、浮点误差、批量计算和奇异值,而不能只用“行列式是否严格等于零”判断近似奇异。

参数实验

在交互图中依次输入以下矩阵,并记录基向量、行列式和单位正方形的变化:

R=[0110],S=[20012],P=[1000].R=\begin{bmatrix}0&-1\\1&0\end{bmatrix}, \quad S=\begin{bmatrix}2&0\\0&\tfrac12\end{bmatrix}, \quad P=\begin{bmatrix}1&0\\0&0\end{bmatrix}.
  1. RR 是逆时针 9090^\circ 旋转,detR=1\det R=1
  2. SS 在两个方向做相反缩放,detS=1\det S=1
  3. PP 把平面投影到横轴,detP=0\det P=0

比较前两者可见,相同行列式并不意味着变换相同;行列式只浓缩了整体体积与取向信息。

练习

练习

概念检查:证明线性映射一定把零向量映到零向量。

查看解答

由线性性, T(0)=T(0+0)=T(0)+T(0)T(\mathbf0)=T(\mathbf0+\mathbf0)=T(\mathbf0)+T(\mathbf0)。 两边减去 T(0)T(\mathbf0),得到 T(0)=0T(\mathbf0)=\mathbf0

练习

计算:矩阵 A=[0230]A=\begin{bmatrix}0&2\\3&0\end{bmatrix} 如何移动两支标准基?面积缩放和方向怎样变化?

查看解答

e1(0,3)T\mathbf e_1\mapsto(0,3)^\mathsf Te2(2,0)T\mathbf e_2\mapsto(2,0)^\mathsf TdetA=6\det A=-6,面积放大为 6 倍,并发生取向翻转。

练习

迁移应用:若神经网络层写成 y=Ax+b\mathbf y=A\mathbf x+\mathbf b,指出其中线性部分与仿射部分,并说明为什么偏置使该层不再是严格线性映射。

查看解答

AxA\mathbf x 是线性部分,b\mathbf b 是平移。输入零向量时输出为 b\mathbf b,只要 b0\mathbf b\neq0 就违反线性映射保持零向量的必要条件。

与其他知识的关系

  • 本文建立在 向量 的线性组合之上。
  • 矩阵 提供线性映射在选定基下的有限坐标表示。
  • 行列式 判断方阵表示是否可逆并记录有向体积缩放。
  • 特征值与特征向量 寻找变换中方向保持不变的特殊向量。
  • 注意力机制 使用多个可学习矩阵生成 query、key 和 value。
  • 反向传播 中,矩阵乘法的局部导数会沿计算图反向传播。

资源

lecture · 2011

MIT 18.06SC Linear Algebra

Gilbert Strang

提供线性代数核心概念的完整课程顺序、例题、习题和考试材料。

打开官方来源

MIT OpenCourseWare 18.06SC 从列空间、零空间、基、线性映射和矩阵分解组织线性代数,适合继续验证本章关于核、像、可逆性与换基的论证。

lecture · 2010

MIT 18.02SC Multivariable Calculus

Denis Auroux

把线性代数对象用于几何与多变量问题,并提供例题、习题和解答。

打开官方来源

MIT OpenCourseWare 18.02SC 在三维坐标、向量函数和多变量映射中大量使用矩阵与线性近似,可作为几何应用的补充。抽象的核、像与换基仍应以线性代数课程为主要依据。

后续学习

下一步阅读 行列式,把可逆性与体积缩放写成可计算标量;随后学习 特征值与特征向量,寻找在线性变换下方向不变的坐标轴。若关注非线性函数,可转到 梯度,理解局部线性近似如何随位置改变。

作者one-forth-core
最近修订2026-07-11
审阅状态待独立人工审阅