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 的那個矩陣。