矩阵运算与逆矩阵
上一章用高斯消元把线性方程组化成阶梯形。本章换一个角度看矩阵:矩阵不只是记录方程系数的表格,它还可以参与运算,表示线性变换,并把一个向量或一组向量送到新的位置。
这一章的重点有三个。第一,矩阵加法和数乘确实是逐项做的;第二,矩阵乘法不是逐项相乘,它的每个元素来自“行与列”的点积;第三,可逆矩阵对应一种可以倒回去的线性变换,所以它和方程 Ax=b 的唯一解紧密相连。
从元素到矩阵
矩阵加法要求两个矩阵形状相同。如果 A 和 B 都是 m×n 矩阵,就可以把它们对应位置的元素相加。
A+B=a11+b11a21+b21⋮am1+bm1a12+b12a22+b22⋮am2+bm2⋯⋯⋱⋯a1n+b1na2n+b2n⋮amn+bmn
数乘更直接。一个数 c 乘矩阵 A,就是把 A 中每个元素都乘以 c。
cA=ca11ca21⋮cam1ca12ca22⋮cam2⋯⋯⋱⋯ca1nca2n⋮camn

同形矩阵才能逐项相加;数乘会把矩阵中的每个元素按同一倍数缩放。
矩阵加法和数乘继承了向量运算的直觉:形状相同才能相加,整体缩放就是每个坐标一起缩放。真正需要重新建立直觉的是矩阵乘法。
加法和数乘的性质
只要矩阵形状允许,加法和数乘满足熟悉的代数规则。例如:
A+B=B+A
(A+B)+C=A+(B+C)
c(A+B)=cA+cB
这些性质让我们可以像处理向量一样整理矩阵表达式。比如 2A−3B 的意思不是新规则,而是 2A+(−3)B。
矩阵乘法
矩阵乘法的尺寸规则先看中间维度。若 A 是 m×n 矩阵,B 是 n×p 矩阵,那么 AB 有意义,并且结果是 m×p 矩阵。
(m×n)(n×p)=m×p
中间的 n 必须相同,因为 AB 的每个元素都要用 A 的一行与 B 的一列做点积。一行有 n 个数,一列也必须有 n 个数,才能一一相乘再相加。
若 C=AB,那么 C 中第 i 行第 j 列的元素是:
cij=ai1b1j+ai2b2j+⋯+ainbnj
这句话比口诀更重要:结果的一个位置,来自左矩阵的一整行和右矩阵的一整列。

矩阵乘法要用“行 · 列”计算每个位置,而不是把两个矩阵对应位置逐项相乘。
矩阵乘法不是逐项相乘。逐项相乘确实有自己的名字,常叫 Hadamard 乘积,但它不是线性代数中默认说的矩阵乘法。默认的矩阵乘法服务于方程组和线性变换的复合,所以规则必须是“行乘列”。
行乘列互动
下面的互动把每个位置的计算拆开。选中结果矩阵中的一个格子,可以看到对应的行、列和点积展开式。
一个完整计算
计算:
A=[20−1431],B=15−2203
因为 A 是 2×3,B 是 3×2,所以 AB 是 2×2。
先算结果第 1 行第 1 列。取 A 的第 1 行 (2,−1,3) 和 B 的第 1 列 (1,5,−2) 做点积。
2⋅1+(−1)⋅5+3⋅(−2)=−9再算第 1 行第 2 列。取 A 的第 1 行和 B 的第 2 列 (2,0,3) 做点积。
2⋅2+(−1)⋅0+3⋅3=13接着算第 2 行的两个位置。第 2 行是 (0,4,1),分别与 B 的两列做点积。
0⋅1+4⋅5+1⋅(−2)=180⋅2+4⋅0+1⋅3=3把四个位置放回结果矩阵。
AB=[−918133]
列视角与复合变换
矩阵乘法还有一种很有用的看法:一列一列看。假设 B 的列向量是 b1,b2,…,bp,那么:
B=∣b1∣∣b2∣⋯∣bp∣
左乘 A 后,结果 AB 的每一列就是 A 乘以 B 的对应列。
AB=∣Ab1∣∣Ab2∣⋯∣Abp∣

一列一列看矩阵乘法:A 把 B 的每一列送到新位置,得到 AB 中对应的列。
列视角互动
拖动或调整右侧矩阵的列向量,观察 A 怎样把每一列送到新位置。结果矩阵 AB 不是凭空出现的,它就是这些新列拼在一起。
为什么是先右后左
如果矩阵表示线性变换,ABx 的执行顺序是:
ABx=A(Bx)
这表示先用 B 作用在 x 上,再用 A 作用在结果上。所以乘积 AB 代表“先 B,后 A”的复合变换。

先 B 后 A:矩阵乘法 AB 表示先做 B,再做 A,变换顺序会影响结果。
矩阵乘法通常不满足交换律。AB 和 BA 不只可能算出不同结果,甚至可能一个有意义、另一个没有意义。判断矩阵乘法时,先看尺寸,再看顺序。
一个不交换的例子
令:
A=[1011],B=[2001]
直接计算可得:
AB=[2011]
BA=[2021]
它们不相等。几何上可以把 B 看成横向拉伸,把 A 看成剪切;先拉伸再剪切,与先剪切再拉伸,最后的网格位置不同。
转置
转置把矩阵的行和列互换。若 A 是 m×n 矩阵,那么 AT 是 n×m 矩阵。
(AT)ij=Aji
例如:
A=[142536]
那么:
AT=123456

转置把矩阵的第 i 行变成转置矩阵的第 i 列。
转置有几条常用规则:
(AT)T=A
(A+B)T=AT+BT
(cA)T=cAT
乘积的转置要反过来:
(AB)T=BTAT
这条规则和复合变换的顺序有关。AB 表示先 B 后 A,转置后顺序会倒过来。
逆矩阵
数的倒数满足 a⋅a−1=1。矩阵的逆也有类似形式,但只对方阵谈得上。若 A 是 n×n 矩阵,并且存在一个矩阵 A−1 使得:
A−1A=I
并且:
AA−1=I
那么 A 是可逆矩阵,A−1 是 A 的逆矩阵。这里的 I 是单位矩阵,它在矩阵乘法中扮演数字 1 的角色。
I3=100010001
可逆与唯一解
如果 A 可逆,方程:
Ax=b
两边左乘 A−1,得到:
A−1Ax=A−1b
因为 A−1A=I,所以:
x=A−1b
这说明可逆矩阵对应的方程 Ax=b 对每个 b 都有唯一解。
反过来,如果一个方阵 A 不可逆,它表示的变换会把某些不同输入挤到同一个输出,或者把整个平面、空间压到更低维的地方。此时 Ax=b 不可能对每个 b 都有唯一解。

可逆矩阵下,每个 b 只对应一个 x,因此方程 Ax=b 有唯一解 x=A^-1b。
可逆性可以从三个角度同时理解:代数上有 A−1,方程上 Ax=b 对每个 b 有唯一解,几何上变换没有把空间压扁。这三句话说的是同一件事。
逆矩阵互动
选择不同的 2×2 矩阵,观察单位方格如何变成平行四边形。面积被压成 0 时,变换失去可逆性,方程的解也会变得不稳定。
二阶逆矩阵公式
对二阶矩阵:
A=[acbd]
如果 ad−bc=0,那么:
A−1=ad−bc1[d−c−ba]
如果 ad−bc=0,这个公式不能用,因为分母为 0。几何上,这时单位正方形被压成面积为 0 的图形。
用增广矩阵求逆
更通用的方法是把 A 和单位矩阵拼在一起,对左半边做行变换,直到左半边变成 I。
[AI]⟶[IA−1]
如果左半边无法化成单位矩阵,说明 A 不可逆。
例题
例题:用逆矩阵解方程组
解方程组:
{2x+y=5x+3y=7
写成矩阵形式:
[2113][xy]=[57]
设系数矩阵为 A,右端向量为 b。先计算二阶矩阵中分母对应的数。
ad−bc=2⋅3−1⋅1=5因为 5=0,所以 A 可逆。由二阶逆矩阵公式得到:
A−1=51[3−1−12]用 x=A−1b 求未知向量。这里的 x 表示未知向量,不是单个未知数。
[xy]=51[3−1−12][57]完成乘法。
[xy]=51[15−7−5+14]=[5859]
所以:
x=58,y=59
例题:判断乘法顺序
设 A 是 2×3 矩阵,B 是 3×4 矩阵,C 是 4×2 矩阵。判断 AB、BA、(AB)C 是否有意义。
AB 的尺寸是 (2×3)(3×4),中间的 3 相同,所以有意义,结果是 2×4。
BA 的尺寸是 (3×4)(2×3),中间的 4 和 2 不同,所以没有意义。
先看 AB,它是 2×4。再乘 C,尺寸是 (2×4)(4×2),中间的 4 相同,所以 (AB)C 有意义,结果是 2×2。
练习
练习:基础运算
已知:
A=[13−20],B=[4−112]
计算 A+B、2A−B 和 AB。
先算加法:
A+B=[52−12]再算 2A−B:
2A−B=[26−40]−[4−112]=[−27−5−2]最后算矩阵乘法:
AB=[1⋅4+(−2)⋅(−1)3⋅4+0⋅(−1)1⋅1+(−2)⋅23⋅1+0⋅2]=[612−33]
练习:列视角
设:
A=[2103],B=[14−20]
不用先完整展开四个元素,先分别计算 A 乘以 B 的两列,再写出 AB。
B 的第一列是 (1,4)T,第二列是 (−2,0)T。
A[14]=[213]A[−20]=[−4−2]所以:
AB=[213−4−2]
练习:转置与乘积
令:
A=[102−1],B=[3214]
先计算 AB,再验证 (AB)T=BTAT。
先算:
AB=[7−29−4]因此:
(AB)T=[79−2−4]另一方面:
BT=[3124],AT=[120−1]所以:
BTAT=[79−2−4]两边相同。
练习:可逆性与唯一解
判断下面两个矩阵是否可逆,并说明对应的 Ax=b 是否对每个 b 都有唯一解。
M=[1326],N=[2513]
对 M:
1⋅6−2⋅3=0所以 M 不可逆。对应的变换把平面压扁,Mx=b 不会对每个 b 都有唯一解。
对 N:
2⋅3−1⋅5=1所以 N 可逆。对每个 b,方程 Nx=b 都有唯一解。
本章小结
矩阵加法和数乘按元素进行,但矩阵乘法不是逐项相乘。AB 的每个位置来自 A 的一行与 B 的一列的点积;从列视角看,AB 的每一列是 A 作用在 B 的对应列上;从变换视角看,AB 表示先做 B,再做 A。
转置把行列互换,乘积转置会反转顺序。逆矩阵把一个可逆变换倒回去,因此它和方程 Ax=b 的唯一解是一回事:如果 A 可逆,那么对每个 b,都有唯一解 x=A−1b。下一章会把这些运算背后的“空间”说清楚:哪些向量能被张成,哪些方向彼此独立,以及基和维数为什么是线性代数的骨架。