数学总导航 · 本课程目录 · ← 上一章 · 下一章 →
把照片横向拉宽,会发生什么?#
照片里的一个像素相对中心的位置是 (x,y)。横向拉宽两倍、竖向不变后,它到达 (2x,y);原来在 (3,1) 的小猫耳朵会到 (6,1)。
如果接着逆时针旋转 90 度,位置变成 (−y,2x)。若先旋转再横向拉宽,结果则是 (−2y,x)。同样两步,顺序不同,照片形状就不同。这正是矩阵乘法不能随意交换顺序的原因。
一张照片有上百万像素,但不必逐个发明规则。对线性变换,只要交代“向右一步”和“向上一步”各变成什么方向,整张图的所有点就确定了。矩阵的两列记录的就是这两个回答。
不用背行乘列,自己推出矩阵乘向量#
设图片变换把“向右一步”送到 (2,1),把“向上一步”送到 (−1,1)。像素 (3,2) 原来可分成三步向右、两步向上。
如果机器保持线性组合,输出就必须是
3(2,1)+2(−1,1)=(4,5).把两个基本输出排成列,就得到 A=(21−11)。对任意输入 (x,y),输出为 (2x−y,x+y)。熟悉的行乘列规则正是把这一结果按坐标整理,并不是独立发明的运算法。
为什么两列不够描述任意图片变形#
假设一个变形把 (x,y) 送到 (x,y+x2)。它对两个基向量的输出为 (1,1) 和 (0,1)。如果你错误地用这两列组成矩阵,会预测 (2,0) 到 (2,2);真实输出却是 (2,4)。
原因是这台机器不保持数乘:把输入加倍,输出并不整体加倍。只有先核验线性,两列才足以说明全部行为。照片的透视变换、镜头畸变等也不能随意套用普通二维线性模型。
把矩阵乘法逐列推出来#
令 B 先把 e1,e2 分别送到 b1,b2,再交给 A。整台串联机器的两列自然就是 Ab1,Ab2。这便是 AB。
例如 B 横向放大两倍,A 旋转 90 度,有
B=(2001),A=(01−10),AB=(02−10).把输入 (1,0) 实际走一遍:先到 (2,0),再到 (0,2),正是乘积第一列。做一次这种追踪,比凭符号猜先后顺序更可靠。
非方阵:一台机器也可以改变数据项数#
一张商品表有三种数量,收银员只输出总重量和总价,就需要三维输入、二维输出,矩阵形状为 2×3。列数对应输入项目,行数对应输出读数。
因此矩阵不必方形;方阵只是输入输出使用同样数量坐标时的特殊情形。后面的核与像,就是继续问这台机器保留了哪些信息、丢掉了哪些信息。
带你做:配方输入怎样变成成本与重量#
一种零件每个重 2 千克、成本 5 元,另一种重 3 千克、成本 4 元。输入 x=(a,b) 是数量,输出为总重量与总成本:
T(a,b)=(2a+3b,5a+4b),A=(2534).第一列记录只买第一种一个时的结果,第二列记录只买第二种一个时的结果。买 (2,1) 时,输出为 (7,14),单位分别是千克、元。
如果最后还要加一次性运费 6 元,输出变为 (2a+3b,5a+4b+6),它不再是线性映射,因为零订单也被模型收取 6 元,零向量没有映到零。
这给了一个最容易操作的检查:先问“什么都不输入时,是否真的输出零”。若不是,就需要仿射模型或额外状态,而不是硬把所有常数塞进原来的线性矩阵。
回头整理:定义、工具与练习#
只追踪两个箭头就够了#
若知道线性映射把 e1 送到 (2,1)、把 e2 送到 (1,2),则任意 (x,y)=xe1+ye2 都会被送到
x(2,1)+y(1,2)=(2x+y,x+2y).把两个输出作为列排在一起,就得到
A=(2112).因此“矩阵乘向量”就是“按输入坐标把矩阵的列做线性组合”。不需要先背行乘列,再猜它意味着什么。

精确的线性定义#
T 线性意味着 T(au+bv)=aT(u)+bT(v)。因此 T(0)=0。平移 x↦Ax+b 在 b=0 时不线性,而是仿射。
旋转、缩放、投影是常见线性映射;逐坐标平方 T(x,y)=(x2,y2) 不是,因为一般不保持数乘。
矩阵相乘就是机器串联#
AB 的第 j 列是 A(Bej)。例如先旋转 90 度,再沿水平轴放大两倍,与反过来做结果不同,所以通常 AB=BA。
若 B:Rn→Rm,A:Rm→Rk,则 AB:Rn→Rk。中间维度必须匹配。
非方阵很自然#
A∈Rm×n 代表 n 维输入到 m 维输出。一个 2×3 矩阵能把三维点投到二维图像;一个 3×2 矩阵能把二维坐标嵌入三维空间。输入输出维度不相等时,“逆矩阵”通常不再适用,但左逆、右逆和伪逆仍可能有意义。
例题:求导也是线性映射#
在次数至多 2 的多项式空间中,以 1,t,t2 为基,求导算子的矩阵为
D=000100020.因为三列分别记录 D1=0、Dt=1、Dt2=2t。泛函分析会继续研究:在无限维函数空间中,求导是否仍连续?答案取决于选择什么范数。
练习与解答#
- 写出投影到 x 轴的矩阵。
- 写出 (x,y)↦(x+y,y) 的矩阵。
- 为什么 ATA 一定是方阵?
解答:1. diag(1,0)。2. 两列是 (1,0) 与 (1,1),故为 (1011)。3. 若 A 为 m×n,则 ATA 为 n×n,作用在输入空间上。