跳至主要内容

矩陣乘法 (Matrix Multiplication)

備註

本系列文章內容參考自經典教材 Elementary Linear Algebra (Pearson New International Edition)。本文對應章節:Ch2-1 Matrix Multiplication

矩陣乘法的定義 (Definition of Matrix Multiplication)

運算規則

給定一個 m×nm \times n 矩陣 AA 與一個 n×pn \times p 矩陣 BB,其乘積 (Product) ABAB 是一個 m×pm \times p 矩陣,其中第 (i,j)(i, j) 元素由以下公式定義:

(AB)ij=k=1naikbkj=ai1b1j+ai2b2j++ainbnj\colorbox{yellow}{$(AB)_{ij} = \sum_{k=1}^{n} a_{ik} b_{kj} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{in}b_{nj}$}

換言之,ABAB 的第 (i,j)(i, j) 元素,是 AAii 個 rowBBjj 個 column 對應元素相乘後加總的結果。

矩陣乘法元素計算示意圖

上圖展示了矩陣乘法中單一元素 (AB)ij(AB)_{ij} 的計算過程:AA 的第 ii 個 row 與 BB 的第 jj 個 column 進行點積 (Dot Product) 運算,產生結果矩陣中對應位置的元素。

維度要求 (Dimension Requirement)

矩陣乘法 ABAB 只有在 AA 的 column 數等於 BB 的 row 數時才有定義。具體而言:

  • AAm×nm \times n 矩陣,BBn×pn \times p 矩陣
  • ABABm×pm \times p 矩陣
Am×n×Bn×p=ABm×p\underbrace{A}_{m \times \colorbox{yellow}{$n$}} \times \underbrace{B}_{\colorbox{yellow}{$n$} \times p} = \underbrace{AB}_{m \times p}

矩陣乘法維度相容性

上圖以視覺化方式呈現矩陣乘法的維度規則:內部維度必須匹配(圖中以相同顏色標示),結果矩陣的維度取決於外部維度。

範例

AM3×2A \in \mathcal{M}_{3 \times 2}BM2×4B \in \mathcal{M}_{2 \times 4},則 ABM3×4AB \in \mathcal{M}_{3 \times 4}

A=[123456],B=[12345678]A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix}, \quad B = \begin{bmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \end{bmatrix} AB=[11+2512+2613+2714+2831+4532+4633+4734+4851+6552+6653+6754+68]=[111417202330374435465768]AB = \begin{bmatrix} 1 \cdot 1 + 2 \cdot 5 & 1 \cdot 2 + 2 \cdot 6 & 1 \cdot 3 + 2 \cdot 7 & 1 \cdot 4 + 2 \cdot 8 \\ 3 \cdot 1 + 4 \cdot 5 & 3 \cdot 2 + 4 \cdot 6 & 3 \cdot 3 + 4 \cdot 7 & 3 \cdot 4 + 4 \cdot 8 \\ 5 \cdot 1 + 6 \cdot 5 & 5 \cdot 2 + 6 \cdot 6 & 5 \cdot 3 + 6 \cdot 7 & 5 \cdot 4 + 6 \cdot 8 \end{bmatrix} = \begin{bmatrix} 11 & 14 & 17 & 20 \\ 23 & 30 & 37 & 44 \\ 35 & 46 & 57 & 68 \end{bmatrix}

矩陣乘法的列與行觀點 (Row and Column Perspectives)

除了逐元素計算,矩陣乘法還有兩種重要的整體觀點:

Row and Column Perspectives

Column Perspective(行觀點)

ABAB每一個 column 都是 AA 的各 columns 以 BB 的對應 column 元素為係數的線性組合

(AB)column j=Abj=b1ja1+b2ja2++bnjan\colorbox{yellow}{$(AB)_{\text{column } j} = A\mathbf{b}_j = b_{1j}\mathbf{a}_1 + b_{2j}\mathbf{a}_2 + \cdots + b_{nj}\mathbf{a}_n$}

其中 ak\mathbf{a}_kAA 的第 kk 個 column,而 bkjb_{kj}BBjj 個 column 的第 kk 個元素。這意味著:

  • 結果矩陣的第 jj 個 column,只跟 BB 的第 jj 個 column 有關。

範例: 考慮以下矩陣 AABB

A=[1201],B=[1031]A = \begin{bmatrix} \colorbox{cyan}{1} & \colorbox{yellow}{2} \\ \colorbox{cyan}{0} & \colorbox{yellow}{1} \end{bmatrix}, \quad B = \begin{bmatrix} \colorbox{cyan}{1} & 0 \\ \colorbox{yellow}{3} & 1 \end{bmatrix}

計算 ABAB 的第 1 個 column:

(AB)column 1=1[10]+3[21]=[1+60+3]=[73](AB)_{\text{column 1}} = \colorbox{cyan}{1} \begin{bmatrix} 1 \\ 0 \end{bmatrix} + \colorbox{yellow}{3} \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 1+6 \\ 0+3 \end{bmatrix} = \begin{bmatrix} 7 \\ 3 \end{bmatrix}

Row Perspective(列觀點)

ABAB每一個 row 都是 BB 的各 rows 以 AA 的對應 row 元素為係數的線性組合

(AB)row i=aiTB=ai1b1T+ai2b2T++ainbnT\colorbox{yellow}{$(AB)_{\text{row } i} = \mathbf{a}_i^T B = a_{i1}\mathbf{b}_1^T + a_{i2}\mathbf{b}_2^T + \cdots + a_{in}\mathbf{b}_n^T$}

其中 aiT\mathbf{a}_i^TAA 的第 ii 個 row,而 bkT\mathbf{b}_k^TBB 的第 kk 個 row。這意味著:

  • 結果矩陣的第 ii 個 row,只跟 AA 的第 ii 個 row 有關。

範例: 同樣使用以下矩陣 AABB

A=[1201],B=[1031]A = \begin{bmatrix} \colorbox{pink}{1} & \colorbox{orange}{2} \\ 0 & 1 \end{bmatrix}, \quad B = \begin{bmatrix} \colorbox{pink}{1} & \colorbox{pink}{0} \\ \colorbox{orange}{3} & \colorbox{orange}{1} \end{bmatrix}

計算 ABAB 的第 1 個 row:

(AB)row 1=1[10]+2[31]=[1+60+2]=[72](AB)_{\text{row 1}} = \colorbox{pink}{1} \begin{bmatrix} 1 & 0 \end{bmatrix} + \colorbox{orange}{2} \begin{bmatrix} 3 & 1 \end{bmatrix} = \begin{bmatrix} 1+6 & 0+2 \end{bmatrix} = \begin{bmatrix} 7 & 2 \end{bmatrix}

矩陣乘法的性質 (Properties of Matrix Multiplication)

定理 2.1:矩陣乘法的代數性質

AABBCC 為適當大小的矩陣,ss 為純量,則:

性質公式名稱
(a)(AB)C=A(BC)(AB)C = A(BC)結合律 (Associativity)
(b)A(B+C)=AB+ACA(B + C) = AB + AC左分配律 (Left Distributivity)
(c)(A+B)C=AC+BC(A + B)C = AC + BC右分配律 (Right Distributivity)
(d)(sA)B=A(sB)=s(AB)(sA)B = A(sB) = s(AB)純量結合律
(e)ImA=AI_m A = A左單位元素
(f)AIn=AA I_n = A右單位元素

其中,對於性質 (e) 與 (f),AAm×nm \times n 矩陣。

注意:矩陣乘法不滿足交換律

矩陣乘法一般而言不可交換,即:

ABBA\colorbox{yellow}{$AB \neq BA$}

這是矩陣乘法與實數乘法最重要的差異之一。即使 ABABBABA 都有定義,它們的結果通常也不相同。

不可交換性的反例

考慮以下兩個矩陣:

A=[1201],B=[1031]A = \begin{bmatrix} 1 & 2 \\ 0 & 1 \end{bmatrix}, \quad B = \begin{bmatrix} 1 & 0 \\ 3 & 1 \end{bmatrix}

計算 ABABBABA

AB=[1201][1031]=[7231]AB = \begin{bmatrix} 1 & 2 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 3 & 1 \end{bmatrix} = \begin{bmatrix} 7 & 2 \\ 3 & 1 \end{bmatrix} BA=[1031][1201]=[1237]BA = \begin{bmatrix} 1 & 0 \\ 3 & 1 \end{bmatrix} \begin{bmatrix} 1 & 2 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 2 \\ 3 & 7 \end{bmatrix}

顯然 ABBAAB \neq BA,驗證了矩陣乘法的不可交換性。

矩陣乘法不可交換性範例


單位矩陣與矩陣乘法 (Identity Matrix and Matrix Multiplication)

單位矩陣 (Identity Matrix) InI_n 在矩陣乘法中扮演的角色,類似於數字 11 在實數乘法中的角色:

InA=AIn=AI_n A = A I_n = A

(當矩陣維度相容時)

更一般地,若 AAm×nm \times n 矩陣:

ImA=A,AIn=AI_m A = A, \quad A I_n = A

矩陣的冪次 (Powers of a Matrix)

對於方陣 AA,我們可以定義其冪次:

A0=I,A1=A,A2=AA,Ak=AAAk 個A^0 = I, \quad A^1 = A, \quad A^2 = AA, \quad A^k = \underbrace{A \cdot A \cdots A}_{k \text{ 個}}

冪次運算律

ArAs=Ar+s,(Ar)s=ArsA^r A^s = A^{r+s}, \quad (A^r)^s = A^{rs}

其中 r,sr, s 為非負整數。

冪次運算不適用於不同矩陣的乘積

由於 ABBAAB \neq BA,因此:

(AB)2=ABABA2B2=AABB(AB)^2 = ABAB \neq A^2 B^2 = AABB

這與實數中 (ab)2=a2b2(ab)^2 = a^2 b^2 的性質不同。類似地,(A+B)2A2+2AB+B2(A+B)^2 \neq A^2 + 2AB + B^2,因為展開時會出現 ABABBABA 兩項,而它們通常不相等。


轉置與乘積的關係 (Transpose of a Product)

定理 2.2:乘積的轉置

AAm×nm \times n 矩陣,BBn×pn \times p 矩陣,則:

(AB)T=BTAT\colorbox{yellow}{$(AB)^T = B^T A^T$}

注意順序反轉了!這是一個常見的考點。

證明

(AB)T(AB)^T(i,j)(i, j) 元素為第 (j,i)(j, i) 位置的 ABAB 元素:

[(AB)T]ij=(AB)ji=k=1najkbki[(AB)^T]_{ij} = (AB)_{ji} = \sum_{k=1}^{n} a_{jk} b_{ki}

另一方面,(BTAT)(B^T A^T)(i,j)(i, j) 元素為:

(BTAT)ij=k=1n(BT)ik(AT)kj=k=1nbkiajk=k=1najkbki(B^T A^T)_{ij} = \sum_{k=1}^{n} (B^T)_{ik} (A^T)_{kj} = \sum_{k=1}^{n} b_{ki} a_{jk} = \sum_{k=1}^{n} a_{jk} b_{ki}

兩者相等,證明完成。

推廣至多個矩陣的乘積

(ABC)T=CTBTAT(ABC)^T = C^T B^T A^T

一般而言,對於 kk 個矩陣的乘積:

(A1A2Ak)T=AkTAk1TA1T(A_1 A_2 \cdots A_k)^T = A_k^T A_{k-1}^T \cdots A_1^T

可逆矩陣 (Invertible Matrix)

定義

一個 n×nn \times n 方陣 AA 稱為可逆的 (Invertible)(或非奇異的 (Nonsingular)),若存在一個 n×nn \times n 矩陣 A1A^{-1},使得:

AA1=A1A=InAA^{-1} = A^{-1}A = I_n

此時,A1A^{-1} 稱為 AA反矩陣 (Inverse Matrix)

若不存在這樣的矩陣,則稱 AA不可逆的 (Noninvertible)奇異的 (Singular)

反矩陣的唯一性

若反矩陣存在,則必唯一。

證明:假設 BBCC 都是 AA 的反矩陣,則:

B=BI=B(AC)=(BA)C=IC=CB = BI = B(AC) = (BA)C = IC = C

B=CB = C


反矩陣與乘積的關係 (Inverse of a Product)

定理 2.3:乘積的反矩陣

AACC 皆為 n×nn \times n 可逆矩陣,則 ACAC 也可逆,且:

(AC)1=C1A1\colorbox{yellow}{$(AC)^{-1} = C^{-1}A^{-1}$}

注意順序同樣反轉了!這與轉置的規則類似。

證明

(AC)(C1A1)=A(CC1)A1=AIA1=AA1=I(AC)(C^{-1}A^{-1}) = A(CC^{-1})A^{-1} = AIA^{-1} = AA^{-1} = I (C1A1)(AC)=C1(A1A)C=C1IC=C1C=I(C^{-1}A^{-1})(AC) = C^{-1}(A^{-1}A)C = C^{-1}IC = C^{-1}C = I

由反矩陣的定義,(AC)1=C1A1(AC)^{-1} = C^{-1}A^{-1}

順序反轉的直覺記憶法

我覺得記住這個公式的最好方法是用「穿衣服與脫衣服」的比喻:

假設你先穿襪子 (A),再穿鞋子 (C),這對應於矩陣乘積 ACAC

當你要脫掉它們時,必須先脫鞋子 (C⁻¹)再脫襪子 (A⁻¹),這對應於 (AC)1=C1A1(AC)^{-1} = C^{-1}A^{-1}

同樣的道理也適用於轉置:(AB)T=BTAT(AB)^T = B^T A^T。「先做的事」在反向操作時要「後做」。

推廣至多個矩陣的乘積

A1,A2,,AkA_1, A_2, \ldots, A_k 皆為可逆矩陣,則:

(A1A2Ak)1=Ak1Ak11A11(A_1 A_2 \cdots A_k)^{-1} = A_k^{-1} A_{k-1}^{-1} \cdots A_1^{-1}

反矩陣的其他性質

定理 2.4:反矩陣的基本性質

AA 為可逆矩陣,cc 為非零純量,則:

性質公式說明
(a)(A1)1=A(A^{-1})^{-1} = A反矩陣的反矩陣是自己
(b)(AT)1=(A1)T(A^T)^{-1} = (A^{-1})^T轉置與反矩陣可交換順序
(c)(cA)1=1cA1(cA)^{-1} = \frac{1}{c}A^{-1}純量乘法對反矩陣的影響

性質 (b) 的證明

AT(A1)T=(A1A)T=IT=IA^T (A^{-1})^T = (A^{-1}A)^T = I^T = I (A1)TAT=(AA1)T=IT=I(A^{-1})^T A^T = (AA^{-1})^T = I^T = I

(AT)1=(A1)T(A^T)^{-1} = (A^{-1})^T


補充:2 × 2 矩陣的反矩陣公式

對於 2×22 \times 2 矩陣,存在一個簡潔的反矩陣公式。

A=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix},定義 AA行列式 (Determinant) 為:

det(A)=adbc\det(A) = ad - bc

det(A)0\det(A) \neq 0,則 AA 可逆,且:

A1=1adbc[dbca]A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}

記憶技巧

  1. 主對角線元素 aadd 交換位置
  2. 副對角線元素 bbcc 變號
  3. 整體除以行列式

範例

A=[2314],det(A)=2431=5A = \begin{bmatrix} 2 & 3 \\ 1 & 4 \end{bmatrix}, \quad \det(A) = 2 \cdot 4 - 3 \cdot 1 = 5 A1=15[4312]=[0.80.60.20.4]A^{-1} = \frac{1}{5} \begin{bmatrix} 4 & -3 \\ -1 & 2 \end{bmatrix} = \begin{bmatrix} 0.8 & -0.6 \\ -0.2 & 0.4 \end{bmatrix}

驗證:

AA1=[2314][0.80.60.20.4]=[1001]=I2  AA^{-1} = \begin{bmatrix} 2 & 3 \\ 1 & 4 \end{bmatrix} \begin{bmatrix} 0.8 & -0.6 \\ -0.2 & 0.4 \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = I_2 \; \checkmark