JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

矩阵乘法与单位矩阵

矩阵乘法是唯一让所有人都吃惊的运算:它是“行乘列”,内侧尺寸必须吻合,而且次序重要。这里把配方慢慢做一遍,再讲为什么单位矩阵不会改变任何东西。

何时能相乘,得到什么形状

矩阵乘法不是逐元素的——它把左矩阵的每一与右矩阵的每一配对。约定是:要计算 A · B,A 的列数必须等于 B 的行数。这两个是“内侧”数字;“外侧”数字给出结果的尺寸。

A is (2 x 3),  B is (3 x 2)
        inner: 3 = 3  -> OK to multiply
        outer: 2   2  -> product is (2 x 2)

( m x n ) * ( n x p ) = ( m x p )
The inner n's must match and then vanish.
形状规则:内侧维数必须吻合;外侧维数给出结果的尺寸。

行乘列的配方

乘积中第 i 行第 j 列的元素,是 A 的第 i 行与 B 的第 j 列的点积:把对应的数字相乘再求和。把每一组(行、列)配对都走一遍,就能填满整个乘积。

  1. 选 A 的一行和 B 的一列。
  2. 把它们的第一个元素相乘、第二个元素相乘,依此类推。
  3. 把这些乘积加成一个数——这就是答案的一个元素。
  4. 对每一组行—列配对重复,填满整个乘积。
[ 1  2 ]   [ 5  6 ]
[ 3  4 ] * [ 7  8 ]

row1 . col1 = 1*5 + 2*7 = 5 + 14 = 19
row1 . col2 = 1*6 + 2*8 = 6 + 16 = 22
row2 . col1 = 3*5 + 4*7 = 15 + 28 = 43
row2 . col2 = 3*6 + 4*8 = 18 + 32 = 50

Result = [ 19  22 ]
         [ 43  50 ]
把两个 2×2 矩阵相乘,一次算一个元素。

次序重要;单位矩阵不改变任何东西

与数字不同,矩阵乘法满足交换律:一般来说 A · B ≠ B · A。有时 B · A 甚至不是一个合法的乘积,因为形状对不上。所以交换律在这里失效——次序是含义的一部分。

单位矩阵 I 是乘法的锚点:对任何尺寸吻合的方阵 A,都有 A · I = I · A = A。它在矩阵乘法中扮演的角色,正是数字 1 在普通乘法中扮演的角色,这也是为什么下一篇可以谈逆矩阵——把 A 乘回 I 的那个矩阵。