矩阵乘法是第一种真正让人感觉“和前面不同”的矩阵运算。上一节的加法、减法与数乘,都是逐格进行。矩阵乘法不是。
它的核心做法是:每个输出元素都由
- 左边矩阵的一行,和
- 右边矩阵的一列
配对而成。
正因为如此,矩阵乘法对大小的要求会比上一节更严格。
先有直觉:中间大小一定要匹配
如果 是 矩阵,而 是 矩阵,那么 AB 有定义,而且结果是 矩阵。
中间那个 n 重复出现,是因为 的一行有 n 个元素,而 的一列也必须刚好有 n 个元素,这样才能逐项配对、逐项相乘、最后相加。
所以初学时最值得记住的一句话是:
内侧大小要一致。
定义
定义
矩阵乘法
设 是 矩阵, 是 矩阵。那么 AB 是一个
矩阵,其 (i, j) 元素定义为
也就是说:取 的第 i 行,取 的第 j 列,逐项相乘,再把结果加起来。
一个输出元素到底代表什么
初学时最容易被符号绕晕,所以最好把规则慢慢拆开。
如果你要算 :
- 先看 的第 2 行;
- 再看 的第 3 列;
- 把对应位置逐项相乘;
- 最后把所有乘积加起来。
所以,一个输出元素其实浓缩了多次乘法和一次总加法。
嵌入式互动时刻
下面的互动工具可以固定观察一个输出位置,然后改动输入矩阵的元素。这是建立“行乘列”习惯最快的方法之一。
边读边试
跟着看一格矩阵乘法
互动工具会在你改变 A 与 B 的元素时,即时更新 AB 的每一格。
结果
| 8 | 9 |
| 3 | 4 |
8 = 1×2 + 2×3
例题
例题
用行乘列规则计算乘积
设
则 AB 是 矩阵。逐个元素计算:
因此
为什么这和线性方程组有关
你早就见过 这个写法。
它不只是节省位置的记号,而是在告诉你:矩阵乘法可以把多条线性方程一次打包。 的每一行与向量 x 配对,就会产生一条方程。
如果
那么
所以 的意思其实就是一个完整方程组,只不过它是用矩阵方式写出来。
定理
乘积的次序有意义
即使 AB 和 BA 都有定义,它们通常也不相等。
这和普通数字乘法很不同。在矩阵乘法里,次序本身就是数学内容的一部分。
常见错误
常见错误
检查错了维度
对 AB 来说,要比较的是 的列数和 的行数,而不是先看外侧的两个数字。
常见错误
把行和行直接相乘
正确规则是 的行对 的列,而不是行对行。
常见错误
以为 AB = BA
矩阵乘法一般并不满足交换律。即使使用同样的两个字母,两个乘积也可能代表完全不同的计算,甚至未必同时有定义。
快速检查
快速检查
如果 是 , 是 ,那么 AB 的大小是多少?
用“内侧匹配,外侧留下”的规则来想。
解答
答案
快速检查
为什么 可以同时代表多条方程?
请在答案中使用“行”这个字。
解答
答案
练习
快速检查
设 是 , 是 。BA 有定义吗?如果有,大小是多少?
不要因为 AB 有定义,就直接猜 BA 也有定义。
解答
引导解答
快速检查
如果 的第一行是 ,而 ,那么 Ax 的第一个元素是什么?
请直接用行乘列规则写出。
解答
引导解答
相关笔记
如果你想把 和方程组的矩阵写法再连起来,请先回看 2.2 增广矩阵与行变换。
下一步可以读 3.3 转置、对称矩阵与反对称矩阵。