要进行矩阵乘法,第一个矩阵的列数必须等于第二个矩阵的行数。如果这个条件满足,乘积矩阵中的每个元素都由第一个矩阵的一行和第二个矩阵的一列共同决定。
这就给出了学生通常最先需要确认的两点:乘积是否有定义,以及结果矩阵的大小是多少。
3 步学会矩阵乘法
- 检查内维度。如果不相等,乘积就没有定义。
- 用外维度确定结果的大小。
- 对结果中的每个元素,把对应行与列中的元素分别相乘,再把这些乘积相加。
维度规则
如果
A is m×nandB is n×p,
那么 AB 有定义,结果矩阵的大小是
m×p.
内维度必须相同。外维度决定结果矩阵的大小。
例如,一个 2×3 矩阵可以乘一个 3×4 矩阵,结果将是 2×4。但一个 2×3 矩阵不能按这个顺序去乘一个 2×4 矩阵,因为内维度不相等。
“行乘列”到底是什么意思
要求出 AB 中的某一个元素,需要从 A 中取一行,从 B 中取一列。
如果这一行是
[a1a2a3]
而这一列是
b1b2b3,
那么乘积矩阵中对应的元素就是
a1b1+a2b2+a3b3.
所以,标准的矩阵乘法并不是对应位置逐项相乘。它是由一组“行—列”配对形成的乘积之和。
例题演示
计算
A=[1−12304]andB=2051−23.
先检查矩阵大小。A 是 2×3,B 是 3×2,所以乘积 AB 有定义。结果将是一个 2×2 矩阵。
现在来计算每个元素。
左上角元素使用 A 的第 1 行和 B 的第 1 列:
1⋅2+2⋅0+0⋅5=2.
右上角元素使用 A 的第 1 行和 B 的第 2 列:
1⋅1+2⋅(−2)+0⋅3=−3.
左下角元素使用 A 的第 2 行和 B 的第 1 列:
(−1)⋅2+3⋅0+4⋅5=18.
右下角元素使用 A 的第 2 行和 B 的第 2 列:
(−1)⋅1+3⋅(−2)+4⋅3=5.
所以
AB=[218−35].
这一个例子就展示了完整的计算模式。结果矩阵中的每个位置,都来自一次特定的“行—列”配对。
为什么顺序很重要
在普通算术中,ab=ba。但对矩阵来说,一般并不成立。
即使 AB 和 BA 都有定义,它们的结果也可能不同。有些情况下,一个乘积有定义,而另一个没有定义。所以顺序是题目本身的一部分,不是无关紧要的细节。
常见错误
跳过维度检查
很多错误在计算开始前就已经发生了。如果内维度不相等,乘积就没有定义。
直接把对应位置相乘
如果你把左上角元素相乘,再乘下一组对应位置的元素,那你做的是另一种运算。标准矩阵乘法使用的是“行乘列”的求和方式。
把行和列弄混
每个元素都需要用第一个矩阵中的某一行和第二个矩阵中的某一列。误用了错误的列,是非常常见的计算记录错误。
以为反过来乘结果一样
不要默认 AB=BA。矩阵乘法通常不满足交换律。
矩阵乘法用在什么地方
当一个线性过程接着另一个线性过程发生时,就会用到矩阵乘法。在入门课程中,这通常出现在方程组或几何变换里。在实际应用中,同样的思想也会出现在计算机图形学、数据模型和科学计算中。
一个很有用的直觉是:先由一个矩阵作用,再由下一个矩阵作用在结果上。这就是为什么顺序很重要。
自己试一试
试着计算
[2013][45−12].
在计算任何元素之前,先预测结果矩阵的大小。如果你手算完后想检查自己的过程,可以在 GPAI Solver 中试试你自己的版本。