矩陣乘法是驅動線性代數、電腦圖學、機器學習和物理模擬的運算。然而大多數學生只是把它當作一套機械的演算法來學,從未看到它為什麼要這樣定義。本指南同時給你演算法和直覺。
先看維度規則
在計算任何東西之前,先檢查維度。要做 A⋅B:
- A 的形狀必須是 m×n
- B 的形狀必須是 n×p
- 結果 AB 的形狀為 m×p
內側維度必須相符(n=n);外側維度成為結果的形狀。
如果你試圖用一個 3×4 乘以一個 5×2,這個運算就是未定義的——再多的算術也救不了你。
列乘行的演算法
AB 的 (i,j) 元素是 A 的第 i 列與 B 的第 j 行的點積:
(AB)ij=∑k=1nAikBkj
解題範例
A=(1324),B=(5768)
計算 AB:
- (AB)11=1⋅5+2⋅7=19
- (AB)12=1⋅6+2⋅8=22
- (AB)21=3⋅5+4⋅7=43
- (AB)22=3⋅6+4⋅8=50
所以 AB=(19432250)。
為什麼乘法這樣定義?
矩陣表示向量空間之間的線性映射。如果 A 把 Rn 映到 Rm,B 把 Rp 映到 Rn,那麼 AB 應當是這些映射的合成。列乘行規則恰恰就是產生合成的方式。這個演算法並非任意——它是由「先施加 B,再施加 A」必須被 AB 編碼這一要求推導出來的。
性質(以及非性質!)
| 性質 | 是否成立? |
|---|
| A(BC)=(AB)C 結合律 | 是 |
| A(B+C)=AB+AC 分配律 | 是 |
| AB=BA 交換律 | 一般不成立 |
| AB=0⇒A=0 或 B=0 | 否 |
不可交換性是相對於純量算術需要做的最大思維調整。
常見錯誤
- 把列、行乘積相加而不是相乘(你兩者都要做——先逐對相乘再求和)。
- 顛倒維度檢查的順序——必須是 (m×n)(n×p),而不是 (n×m)(n×p)。
- 假定可交換性——即使 BA 有定義,AB 也可能根本沒有定義。
用 AI 矩陣求解器試一試
把任意一對矩陣輸入矩陣計算器,即可看到完整的逐列演算過程。
相關參考:
- 行列式計算器 —— 與 2×2 乘積天然搭配
- 反矩陣計算器 —— 以 AB=I 作為定義關係
- 向量計算器 —— 點積是每個元素的基礎