线性映射与矩阵表示
第一章把矩阵当作"对平面的操作",第二章说坐标是借来的.这一章把两件事合起来,回答两个一直悬着的问题:
- 矩阵为什么刚好是"一组数"就能描述一个操作?
- 矩阵乘法的规则,为什么长成"一行碰一列"那个样子?
这两个问题的答案都不在数里,在基里.
高中那点工具,够用到哪里
高中的向量坐标运算你已经很熟——必修二 6.3.3–6.3.5 的加、减、数乘、数量积的坐标表示,选必一 1.1 把它们搬进空间. 这些公式里藏着本章的主角:"操作"本身.
一个你更熟的例子:必修一里函数图象的伸缩变换. 把图象上每个点 的横坐标拉成 2 倍,对应点的移动规则是
纵坐标拉 2 倍则是 . 这两种"操作"都满足本章的两条公理(先加后拉与先拉后加结果一样),是线性映射;而图象的平移 不是——它把原点搬走了,而线性映射必须把零送到零. 高中把这两类变换混在一起讲"图象变换",本章的第一件事就是把它们分开.
高中没有问过的问题是:一个"操作"要记录多少信息才能被完整复原?本章的答案是——一组基上的 个像,一个不多一个不少;把这 列像排好,就是矩阵.
定义:线性映射
定义(线性映射) 设 是向量空间之间的映射.若对任意 与 ,
就称 是线性映射.
人话版:加法与伸缩能穿过 ,先算后搬和先搬后算一样.
几个例子,正反都有:
- 是线性的:两条公理逐项拆开就能验证.
- (平移)不是:,而线性映射一定把零送到零——取 代入第二条公理即可.
- 不是:,但 ,伸缩穿不过去.
线性映射由基的像决定
这一节是整章的支点.
命题 设 是 的一组基.若线性映射 与 在基向量上取值相同,即 对每个 成立,则 .
证明只有两行.任意 都能唯一写成 ,于是
第二步用线性,第三步用假设,最后一步再用线性.
反过来也对,而且同样重要:随便指定 个目标向量 ,都存在唯一的线性映射把每个 送到 .构造方法是把公式当定义:让 .这里藏着一个需要检查的点——坐标 唯一,所以这个定义不会自相矛盾.第二章的"坐标存在唯一"在这里第一次真正付工资.
结论:一组基上指定 个像,就唯一确定一个线性映射. 所以描述一个线性映射,只需要写 列数.
定义:矩阵表示
设 的基 、 的基 都固定.
定义(线性映射的矩阵) 对线性映射 ,把 在基 下的坐标写成第 列,得到 矩阵,称为 在给定基下的矩阵.
一句话记忆:矩阵的每一列,是基向量的像的坐标.
到自身的线性映射配标准基,矩阵就是上一章那种熟悉的形式.例如 (交换两个坐标)把 送到 、把 送到 ,所以矩阵是
但如果换个基看同一个 :取 、.交换坐标不改变这两个向量(,),于是新矩阵是单位矩阵
同一个映射,一个矩阵看起来在"翻转",另一个看起来什么都没做.两个都不错,错的是以为矩阵属于映射.矩阵属于"映射 + 一组基".
例题(教材风格). 把函数 的图象上每一点的横坐标缩短为原来的 (纵坐标不变),得到 的图象. 用映射的语言写出这个变换,并说明它是线性映射.
解(高中). 原图象上的点 移动到 (新图象上横坐标为 的点,纵坐标与原图象在 处相同). 写成映射:
线代读法. 验证两条公理:;数乘同理. 所以 是线性映射,在标准基下的矩阵是 . 而平移 不满足——,线性映射必须把零送到零. 高中"图象变换"里,伸缩是线性的,平移不是——本章的两条公理就是把这两类动作分开的那把刀.
复合与矩阵乘法
两个线性映射可以接起来:先做 ,再做 ,得到复合 ,定义为 .复合也是线性的(直接把两条公理代进去).
于是可以问:如果 的矩阵是 、 的矩阵是 (基固定),复合的矩阵是什么?
定义(矩阵乘法) 对 矩阵 与 矩阵 ,定义乘积 为
得到的 是 矩阵.
这个式子就是"一行碰一列": 第 行第 列,是 的第 行与 的第 列逐项相乘再相加.它不是为了好看才这么定的——它是复合的坐标写法,下面这个命题说明为什么.
命题 的矩阵等于 的矩阵乘 的矩阵.
证明的想法: 把基向量 送到 的第 列(在基下的坐标), 再作用一次,用矩阵 把那个列向量搬过去,结果正好是 的第 列.两边都等于复合映射在第 个基向量上的像.
两个 的例子,手算一遍.取
先算 ,即先旋转、再剪切.每个元素是" 的一行点乘 的一列":
比如左上角那一格: 的第一行 与 的第一列 对应相乘再相加,得 .
再算 ,即先剪切、再旋转,交换两边的顺序:
:先旋转再剪切,和先剪切再旋转,结果不同.矩阵乘法不满足交换律,因为"先做哪个操作"本来就影响结果——这一点不是矩阵的怪癖,是复合的真实性质.
两种读法:行的读法是泛函,列的读法是复合
同一个乘法有两副面孔.
列的读法. 的第 列,等于 作用在 的第 列上:
为什么必然如此: 的第 列是 ,也就是基向量的像;复合映射先做 再做 ,把它送到 ;而"矩阵的列 = 基向量的像"是矩阵表示的定义,所以复合矩阵的第 列只能是 .
拿上文那对 (剪切)、(旋转 90°)手算一遍. 先从 的矩阵里把两列读出来:
再逐列作用 . 矩阵乘列向量,就是把 的两列按这个列向量的坐标组合( 的两列是 与 ):
两列拼起来:
和前面逐项计算得到的 一致. 同一件事,列读法按列整体算,行读法按格子逐个算.
行的读法(线性泛函). 的每一行可以看成一个线性泛函:吃进一个列向量,吐出一个数,这个数就是两个向量的点积. 的第 行第 列,就是这个泛函作用在 的第 列上的取值:
这个读法适合手算(一次一个格子),也是"一行碰一列"口诀的来源;但让矩阵乘法与复合真正对上的是列的读法. 两种读法结果一样:列读法展开后,第 个分量就是行读法的那个点积.
(点积就是内积;这里先借用高中熟悉的形式,内积的严格定义与性质在下一章《内积、正交与投影》里讲.)
实验:把复合画出来
下面的实验里有两个固定的映射 (剪切)和 (旋转 90°),就是刚才手算的那对. 拖动画布上的探针 ,它在两跳之后落到哪里,右侧的读数就跟着走.
- 默认是「先剪切、后缩放」:网格一次只显示一层,「第一跳 / 第二跳」按钮切换;虚线箭头、实线箭头分别落在对应层级的网格上.
- 切到「先 A 后 B」:终点的位置与黄色网格一起改变,矩阵卡片里 与 不同.
- 想复现上文的例子:把 选「剪切」、 选「旋转 90°」——注意旋转把正方形网格转回自身,青色的第一层网格会和灰色网格重合;网格上看不出的差别,矩阵会告诉你.
- 点乘积矩阵里的任意格子:下方会展开"左矩阵这一行 · 右矩阵这一列"的算式,逐项相乘再相加,数字怎么来的当场看见.
- 换到「列(左矩阵作用在右列上)」视角,再点任意格子:展开的是"右矩阵的这一列被左矩阵作用"的整列算法. 画布上绿色箭头就是这两列的来历:细虚线是右矩阵的列向量,粗实线是它们被左矩阵作用后的像——后者正是乘积矩阵的两列.
实验 04
复合:两种顺序,两个矩阵
v(1.50, 1.00)
Bv(2.50, 1.00)
ABv(3.75, 0.50)
拖动探针 v,看两跳怎么走
变形网格
算式视角
A(之后做)
B(先做)
AB(先 B 后 A)· 点格子看算式
BA(先 A 后 B)· 点格子看算式
两种顺序给出不同的矩阵:右乘的 B 先动手,所以"先 B 后 A"写成 AB——矩阵乘法的次序与操作次序相反.
灰色是原网格,变形网格一次只显示一层(按钮切换):青色是第一跳之后的形状(Bv 那一跳), 黄色是两跳之后的形状(ABv). 虚线箭头是第一跳,实线箭头是终点; 矩阵卡片里的数是这几次拉扯在坐标里的记账.
逆:把操作倒回去
复合是"接起来做",那能不能"倒着做"?先把"什么都不做"命名:恒等映射 .
定义(逆映射) 设 .若存在映射 ,使
就称 可逆, 是 的逆映射,记作 .
人话版: 把 搬走, 能原路搬回来,两个方向的"来回"都必须是原地不动.
命题 线性映射 可逆,当且仅当它是一一对应(单射且满射);此时 也是线性的.
单射、满射是高中就熟悉的词:单射是"不同输入不给相同输出",满射是"每个目标都被打到过".若 可逆,两个来回条件说明它既不会把两个点并成一个(单射),也没有漏掉目标(满射);反过来,一一对应保证每个 有唯一的原像,逆映射就定义为"取那个原像",而它的线性是这样来的:设 、,则
由原像唯一,.数乘同理.
矩阵版本的逆同样自然:
定义(逆矩阵) 设 是方阵.若存在方阵 使
( 是单位矩阵,对角线上是 1、其余是 0),就称 可逆, 是它的逆,记作 ;不可逆的方阵叫奇异的.
为什么只对方阵谈逆: 的矩阵把 送到 ,维数不同时不可能一一对应—— 时 个基向量在 维空间里必然相关(第二章的定理),有非零向量被压到零,单射就没戏; 时像至多铺满 个方向,遮不住整个 .
的逆有可以直接背的公式.
命题( 逆公式) 设 ,记 .若 ,则
验证就是乘一遍(对角线交换、副对角线变号,再除以行列式):
逆唯一吗?是的,而且证明只有一行.
命题(逆的唯一性) 若方阵 可逆,它的逆是唯一的.
设 、 都满足 与 ,则
的逆公式背起来快,但更高阶需要通用做法. 有两条路,都很具体.
列视角. 的第 列,就是方程 的解:因为 ,比较两边的第 列, 乘上" 的第 列"等于 的第 列,也就是 . 拿 试一遍:
- 解 ,即 、,得 ;
- 解 ,即 、,得 .
两列拼起来:,和 公式给的结果一样. "求逆"于是化归为"解 个方程组"——第一章的老本行,只是这里的右端项恰好是标准基向量.
增广矩阵. 上面两次解方程组的消元步骤几乎一样,只有右端项不同. 把它们并排写、一次消完,就是增广矩阵的做法.
定义(增广矩阵) 把系数矩阵 与右端列 并排成矩阵 ,中间用竖线分隔,称为方程组 的增广矩阵. 对增广矩阵做初等行变换(交换两行、某行乘非零数、某行加另一行的倍数),等价于对方程组做相应的消元:一行里的系数与右端同步变化,方程之间的这三种操作被原样保留.
把 个方程组 的右端并排,右端块正好是单位矩阵 ,于是写成 . 一次消元下来,左半边化成 时,右半边就是 个解拼成的 ——这就是高斯-约当消元.
为什么行变换能这样用. 关键在于:每种初等行变换都能写成"左乘一个固定的矩阵".
交换两行:令 ,直接乘一遍
正好是 的两行互换( 的第一行等于 的第一行 与 的各列点乘,得到 的第二行).
第二行减第一行:令 ,则
第二行恰好变成"原第二行减原第一行".
定义(初等矩阵) 对单位矩阵做一次初等行变换得到的矩阵叫初等矩阵. 用初等矩阵左乘任何矩阵,等于对它做对应的那次行变换.
原理现在可以一行写完:设把 化成 的那串行变换对应初等矩阵 ,则
由逆的定义,累计的左乘乘积 就是 . 同一串操作作用在右半边的 上,得到 :右半边悄悄记下了左乘的累计乘积. 所以 化成 时, 会直接出现在右边.
用 走一遍. 第 1 步,:
第 2 步,:
右边读出来:,和列视角、以及 公式给的结果都一致. 对任意 是同一套操作,只是行数与步骤变多.
什么时候能求逆. 对方阵,下面这些说法是同一件事:
- 可逆;
- ;
- 的列向量线性无关;
- 只有零解;
- 作为映射是一一对应.
的情况上面已经两边都走通了(公式给出逆,压扁论证给出不可逆). 一般的等价性留到《行列式》与《四个基本子空间》两章严格化.
而 时逆不存在,理由用第一章的图景一句话说完:两列成比例(第二章:线性相关),存在不全为零的 使 ,也就是 把非零向量 送到了零.此时不同的点会被压到同一点,倒不回去.所以对 矩阵:
可逆 .
几条用起来顺手的性质,证明都是"乘回去等于 ":
- ;
- :先穿袜再穿鞋,脱的时候反着来;
换基:同一个映射,另一个矩阵
现在把"基"也动起来.设 是线性映射 在旧基下的矩阵, 是一组新基.把新基向量在旧基下的坐标按列排成矩阵 ,称 为过渡矩阵.
在新基下 的矩阵是
先别急着记公式,看它怎么来的. 就是上一节的逆矩阵( 本身叫过渡矩阵), 这个夹心结构的意思是"用 把新坐标翻译成旧坐标,用 做变换,再用 翻译回新坐标".每一步都只是换语言,中间的变换本身没动.
拿上面的交换坐标举例:,新基 、 给出 ,算一下 就是单位矩阵——和前面直接数基向量的像得到的结果一致.同一个事实,两条路.
实验:同一个变换,不同的矩阵
实验里固定一个映射 ,你可以拖动基向量 、 和探针 :
- 默认标准基下,,公式退化成自己.
- 点「斜基」,或手动把 拖到 、 拖到 :青色网格随基一起被拉斜(它就是 ),几何箭头一个没变, 却变了.试试配合「旋转 90°」这个映射,看 会变成什么样.
- 点「共线」:青色网格塌成一条线,两个向量不再是基, 不可逆,换坐标的公式失效——这也说明了公式里 不是摆设.
实验 05
同一个变换,不同的矩阵
det M1.00
det P1.00
基有效
映射 M(标准基)
过渡矩阵 P(新基按列)
同一映射在新基下的矩阵
箭头 v 和 Mv 是几何事实,不会因为换基改变;换基只改变"记账"用的矩阵. 拖动 u₁、u₂ 看 M′ 怎么变.
青色网格随 u₁、u₂ 一起变形,它就是 P 的图像:拖动基向量,网格被拉斜、旋转、压扁; 基退化时网格塌成一条线,P 也就不可逆了.虚线是基向量的像,这两个像在新基下的坐标就是 M′ 的两列.
习题
- 验证 是线性的(按定义逐条检查).
- 判断:线性映射一定把零向量送到零向量吗?把零向量送到零向量的映射一定是线性的吗?分别给出理由或反例.
- 求 在基 、 下的矩阵.
- 计算 与 并比较:,.
- 设 在标准基下的矩阵是 ,取新基 、.求过渡矩阵 ,并计算 在新基下的矩阵.
- 用 逆公式求 的逆,并乘一遍验证.
- 判断 是否可逆,并说明理由(找一个被它压到零的非零向量).
- 证明:若同阶方阵 、 都可逆,则 可逆,且 .
- 用高斯-约当消元求 的逆.
- 用列视角求 的逆:分别解 与 .
- 用列的读法重算 :先写出 的两列,再分别用 作用,拼出结果;同样用列读法算一遍 作对照.
参考答案
1. 设 、、. ; .两条都成立.
2. 前半真:取 ,. 后半假: 把零送到零,但 ,不是线性的.
3. .设 ,解得 、. ,解得 、.矩阵是 .
4. ,,两者不同:先旋转后剪切与先剪切后旋转不是同一个操作.
5. 新基向量按列排:,.
6. ,所以
验证:.
7. 不可逆:.两列成比例, 被压到零:.非零向量被压到零,不是单射,没有逆.
8. 直接乘:
同理 .由逆的定义, 就是 的逆.
9. 增广矩阵与消元:
右边即 .
10. 解 :、,由第一式 ,代入第二式得 ,故 、,第一列 . 解 :、,同理得 、,第二列 . 所以 ,与 公式一致.
11. 的列是 与 :
拼起来 ,与逐项计算一致. 对照: 的列是 与 ,、,拼起来 ,也对.
交叉
- 矩阵分析:相似矩阵 是同一映射的不同写法,SVD 与特征值都在这个框架里说"换到合适的基下看".
- 机器学习:一个线性层就是一个矩阵;"换基"在模型里对应换一组特征表示,而注意力机制则更进一步——基本身随输入实时改变.
- 体系结构:复合对应矩阵乘法,矩阵乘法对应 GEMM,这是体系结构线里第一个真正吃性能的算子.
延伸
下一章《内积、正交与投影》会给向量加上长度的度量,并把线性泛函表示为内积(有限维 Riesz 表示定理),届时"A 的每一行是一个泛函"这句话会得到完整的解释.再往后,特征值那一章会把 用到极致:找一组基,让矩阵变成对角阵.