何時能相乘,得到什麼形狀
矩陣乘法不是逐元素的——它把左矩陣的每一列與右矩陣的每一行配對。約定是:要計算 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 行的內積:把對應的數字相乘再求和。把每一組(列、行)配對都走一遍,就能填滿整個乘積。
- 選 A 的一列和 B 的一行。
- 把它們的第一個元素相乘、第二個元素相乘,依此類推。
- 把這些乘積加成一個數——這就是答案的一個元素。
- 對每一組列—行配對重複,填滿整個乘積。
[ 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 ]次序重要;單位矩陣不改變任何東西
與數字不同,矩陣乘法不滿足交換律:一般來說 A · B ≠ B · A。有時 B · A 甚至不是一個合法的乘積,因為形狀對不上。所以交換律在這裡失效——次序是含義的一部分。
單位矩陣 I 是乘法的錨點:對任何尺寸吻合的方陣 A,都有 A · I = I · A = A。它在矩陣乘法中扮演的角色,正是數字 1 在普通乘法中扮演的角色,這也是為什麼下一篇可以談反矩陣——把 A 乘回 I 的那個矩陣。