跳至主要内容

餘因子展開 (Cofactor Expansion)

備註

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

行列式的定義與符號 (Definition and Notation of Determinant)​

行列式 (Determinant) 是一個將方陣映射到純量的函數,在線性代數中扮演著舉足輕重的角色。它不僅可以用來判斷矩陣是否可逆,還具有深刻的幾何意義。

符號表示​

對於一個 n×nn \times n 的方陣 AA,其行列式可以用以下兩種符號表示:

det⁡(A)=∣A∣\det(A) = |A|

若 A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann]A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix},也可寫成:

det⁡(A)=∣a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann∣\det(A) = \begin{vmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{vmatrix}
注意

行列式只對方陣 (Square Matrix) 有定義!非方陣沒有行列式。

2×2 矩陣的行列式​

最簡單的非平凡情況是 2×2 矩陣。對於 A=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix},其行列式定義為:

det⁡(A)=ad−bc\colorbox{yellow}{$\det(A) = ad - bc$}

子式與餘因子 (Minor and Cofactor)​

要理解高階矩陣的行列式計算,首先需要認識「子式」與「餘因子」這兩個關鍵概念。

子式的定義 (Minor)​

設 AA 是一個 n×nn \times n 矩陣,子式 (Minor) MijM_{ij} 定義為:

定義

MijM_{ij} = 刪除 AA 的第 ii 個 Row 與第 jj 個 Column 後,所得到的 (n−1)×(n−1)(n-1) \times (n-1) 子矩陣的行列式。

下圖展示了如何從 3×3 矩陣中獲取子式 M12M_{12}:

子式 M12 的示意圖

上圖說明,計算 M12M_{12} 時,我們刪除第 1 個 Row(橫向灰色區域)和第 2 個 Column(縱向灰色區域),然後計算剩餘 2×2 子矩陣的行列式。

餘因子的定義 (Cofactor)​

餘因子 (Cofactor) CijC_{ij} 是子式加上適當的正負號:

Cij=(−1)i+j⋅Mij\colorbox{yellow}{$C_{ij} = (-1)^{i+j} \cdot M_{ij}$}

其中 (−1)i+j(-1)^{i+j} 決定了正負號,形成一個「棋盤格」模式:

[+−+−⋯−+−+⋯+−+−⋯−+−+⋯⋮⋮⋮⋮⋱]\begin{bmatrix} + & - & + & - & \cdots \\ - & + & - & + & \cdots \\ + & - & + & - & \cdots \\ - & + & - & + & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix}

餘因子展開公式 (Cofactor Expansion Formula)​

有了子式與餘因子的概念,就可以定義任意 n×nn \times n 矩陣的行列式。

定理:沿任意 Row 或 Column 展開​

對於 n×nn \times n 矩陣 AA,其行列式可以沿著任意一個 Row 或 Column 展開:

沿第 ii 個 Row 展開:

det⁡(A)=ai1Ci1+ai2Ci2+⋯+ainCin=∑j=1naijCij\det(A) = a_{i1}C_{i1} + a_{i2}C_{i2} + \cdots + a_{in}C_{in} = \sum_{j=1}^{n} a_{ij}C_{ij}

沿第 jj 個 Column 展開:

det⁡(A)=a1jC1j+a2jC2j+⋯+anjCnj=∑i=1naijCij\det(A) = a_{1j}C_{1j} + a_{2j}C_{2j} + \cdots + a_{nj}C_{nj} = \sum_{i=1}^{n} a_{ij}C_{ij}

無論選擇哪一個 Row 或 Column 展開,計算結果都相同

策略提示

實際計算時,應選擇含有最多零元素的 Row 或 Column 進行展開,這樣可以減少需要計算的子式數量。

餘因子展開的遞迴本質​

餘因子展開將 n×nn \times n 行列式轉化為 nn 個 (n−1)×(n−1)(n-1) \times (n-1) 行列式的計算問題。這是一個遞迴定義 (Recursive Definition):

  • 1×11 \times 1 矩陣:det⁡([a])=a\det([a]) = a
  • n×nn \times n 矩陣:利用餘因子展開,拆解成 (n−1)×(n−1)(n-1) \times (n-1) 的子問題

餘因子展開遞迴示意圖


3×3 行列式的計算 (Computing 3×3 Determinants)​

對於 3×3 矩陣,餘因子展開提供了系統化的計算方法。

沿第一個 Row 展開​

設 A=[a11a12a13a21a22a23a31a32a33]A = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix},沿第一個 Row 展開:

det⁡(A)=a11C11+a12C12+a13C13\det(A) = a_{11}C_{11} + a_{12}C_{12} + a_{13}C_{13}

展開各項:

det⁡(A)=a11⋅(+1)∣a22a23a32a33∣+a12⋅(−1)∣a21a23a31a33∣+a13⋅(+1)∣a21a22a31a32∣=a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)\begin{aligned} \det(A) &= a_{11} \cdot (+1) \begin{vmatrix} a_{22} & a_{23} \\ a_{32} & a_{33} \end{vmatrix} + a_{12} \cdot (-1) \begin{vmatrix} a_{21} & a_{23} \\ a_{31} & a_{33} \end{vmatrix} + a_{13} \cdot (+1) \begin{vmatrix} a_{21} & a_{22} \\ a_{31} & a_{32} \end{vmatrix} \\[1em] &= a_{11}(a_{22}a_{33} - a_{23}a_{32}) - a_{12}(a_{21}a_{33} - a_{23}a_{31}) + a_{13}(a_{21}a_{32} - a_{22}a_{31}) \end{aligned}

範例計算​

計算 det⁡[123456789]\det\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}。

解:沿第一個 Row 展開:

det⁡(A)=1⋅∣5689∣−2⋅∣4679∣+3⋅∣4578∣=1(45−48)−2(36−42)+3(32−35)=1(−3)−2(−6)+3(−3)=−3+12−9=0\begin{aligned} \det(A) &= 1 \cdot \begin{vmatrix} 5 & 6 \\ 8 & 9 \end{vmatrix} - 2 \cdot \begin{vmatrix} 4 & 6 \\ 7 & 9 \end{vmatrix} + 3 \cdot \begin{vmatrix} 4 & 5 \\ 7 & 8 \end{vmatrix} \\[0.5em] &= 1(45 - 48) - 2(36 - 42) + 3(32 - 35) \\[0.5em] &= 1(-3) - 2(-6) + 3(-3) \\[0.5em] &= -3 + 12 - 9 \\[0.5em] &= 0 \end{aligned}

補充:Sarrus 法則 (Sarrus' Rule)​

對於 3×3 矩陣,存在一個快速的記憶法則——Sarrus 法則,但請注意這個方法僅適用於 3×3 矩陣。

Sarrus 法則示意圖

計算方式如下:

  1. 將前兩個 Column 複製到矩陣右側
  2. 計算三條向右下斜線的乘積,全部相加(正號項)
  3. 計算三條向左下斜線的乘積,全部相減(負號項)
det⁡(A)=(a11a22a33+a12a23a31+a13a21a32)−(a13a22a31+a11a23a32+a12a21a33)\det(A) = (a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32}) - (a_{13}a_{22}a_{31} + a_{11}a_{23}a_{32} + a_{12}a_{21}a_{33})
重要提醒

Sarrus 法則不能推廣到 4×4 或更高階矩陣!對於高階矩陣,必須使用餘因子展開或其他方法。


行列式的幾何意義 (Geometric Interpretation of Determinants)​

行列式不僅是一個代數工具,更有著深刻的幾何意義。這正是理解線性變換「縮放效果」的關鍵。

二維空間:平行四邊形的有向面積​

考慮二維向量 u=[ac]\mathbf{u} = \begin{bmatrix} a \\ c \end{bmatrix} 和 v=[bd]\mathbf{v} = \begin{bmatrix} b \\ d \end{bmatrix},它們張成一個平行四邊形。

平行四邊形面積與行列式

上圖展示了由向量 u\mathbf{u}(紅色)和 v\mathbf{v}(藍色)構成的平行四邊形,其面積的絕對值即為 ∣det⁡(A)∣|\det(A)|,其中 A=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}。

面積公式​

將矩陣 AA 的兩個 Column 視為構成平行四邊形的兩個邊向量,則:

平行四邊形面積=∣ad−bc∣=∣det⁡(A)∣\colorbox{yellow}{$\text{平行四邊形面積} = |ad - bc| = |\det(A)|$}

有向面積的概念與意義​

實際上,行列式計算的是有向面積 (Signed Area),而非普通面積。「有向」的意思是:結果帶有正負號,而這個正負號編碼了向量的相對方向資訊。

  • det⁡(A)>0\det(A) > 0:從 u\mathbf{u} 轉到 v\mathbf{v} 是逆時針旋轉
  • det⁡(A)<0\det(A) < 0:從 u\mathbf{u} 轉到 v\mathbf{v} 是順時針旋轉
  • det⁡(A)=0\det(A) = 0:u\mathbf{u} 和 v\mathbf{v} 共線,沒有張成平面

有向面積示意圖

上圖對比了正向與負向行列式對應的向量相對位置關係:左側的 v\mathbf{v} 在 u\mathbf{u} 的逆時針方向,右側則相反。

三維空間:平行六面體的有向體積​

考慮三個向量 u,v,w∈R3\mathbf{u}, \mathbf{v}, \mathbf{w} \in \mathbb{R}^3,設矩陣 AA 的三個 Column 分別為這三個向量:

A=[∣∣∣uvw∣∣∣]A = \begin{bmatrix} | & | & | \\ \mathbf{u} & \mathbf{v} & \mathbf{w} \\ | & | & | \end{bmatrix}

則:

平行六面體體積=∣det⁡(A)∣\colorbox{yellow}{$\text{平行六面體體積} = |\det(A)|$}

平行六面體與行列式

上圖展示了由三個向量 u\mathbf{u}、v\mathbf{v}、w\mathbf{w} 構成的平行六面體,其體積的絕對值等於 ∣det⁡(A)∣|\det(A)|。

體積公式的直覺解釋​

回顧體積公式:V=底面積×高V = \text{底面積} \times \text{高}。

  1. 底面積:由 u\mathbf{u} 和 v\mathbf{v} 張成的平行四邊形面積,可用叉積 (Cross Product) 表示為 ∥u×v∥\|\mathbf{u} \times \mathbf{v}\|
  2. 高:w\mathbf{w} 在法向量 u×v\mathbf{u} \times \mathbf{v} 方向上的投影長度

將這兩者結合,體積 = ∣(u×v)⋅w∣|(\mathbf{u} \times \mathbf{v}) \cdot \mathbf{w}|,這正是三重純量積 (Scalar Triple Product),其值恰好等於 ∣det⁡(A)∣|\det(A)|。

有向體積的意義​

與二維類似,三維行列式給出的是有向體積:

  • det⁡(A)>0\det(A) > 0:三向量依 u→v→w\mathbf{u} \to \mathbf{v} \to \mathbf{w} 順序符合右手定則
  • det⁡(A)<0\det(A) < 0:三向量依相反順序排列(等效於左手系統)
  • det⁡(A)=0\det(A) = 0:三向量共面,無法張成三維體積

一般化:n 維的超體積​

這個幾何解釋可以推廣到任意維度:

對於 nn 個 nn 維向量 v1,v2,…,vn\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_n,它們張成的 nn 維平行多面體 (Parallelotope) 的有向「超體積」為:

有向超體積=det⁡[∣∣∣v1v2⋯vn∣∣∣]\text{有向超體積} = \det\begin{bmatrix} | & | & & | \\ \mathbf{v}_1 & \mathbf{v}_2 & \cdots & \mathbf{v}_n \\ | & | & & | \end{bmatrix}
線性變換的縮放因子

從另一個角度理解:若線性變換 T:Rn→RnT: \mathbb{R}^n \to \mathbb{R}^n 的標準矩陣為 AA,則 TT 對任意區域的「體積縮放因子」為 ∣det⁡(A)∣|\det(A)|。

例如,若 det⁡(A)=3\det(A) = 3,則經過變換 TT 後,所有區域的「體積」都變成原來的 3 倍。


行列式與可逆性 (Determinants and Invertibility)​

行列式與矩陣可逆性之間存在著優雅的等價關係。

定理:可逆性的行列式判別​

方陣 AA 可逆 ⟺\Longleftrightarrow det⁡(A)≠0\det(A) \neq 0

等價地:AA 不可逆(奇異)⟺\Longleftrightarrow det⁡(A)=0\det(A) = 0

幾何解釋​

這個定理的幾何意義非常直觀:

  • det⁡(A)≠0\det(A) \neq 0:AA 的各 Column 向量線性獨立,能張成完整的 nn 維空間
  • det⁡(A)=0\det(A) = 0:AA 的各 Column 向量線性相依,「坍縮」到更低維度的空間中,導致資訊遺失而不可逆
統一觀點

回顧先前學過的「矩陣可逆的等價條件」,現在我們又多了一個新的判別方式:只需檢查行列式是否為零!這在理論推導中非常實用。


三角矩陣的行列式 (Determinants of Triangular Matrices)​

對於特殊形式的矩陣,行列式計算可以大幅簡化。

定理:三角矩陣的行列式​

若 AA 是三角矩陣 (Triangular Matrix)——包括上三角、下三角或對角矩陣,則:

det⁡(A)=a11⋅a22⋅a33⋯ann=∏i=1naii\colorbox{yellow}{$\det(A) = a_{11} \cdot a_{22} \cdot a_{33} \cdots a_{nn} = \prod_{i=1}^{n} a_{ii}$}

行列式等於主對角線元素的乘積!

直覺理解​

對於上三角矩陣,沿第一個 Column 展開:

A=[a11∗∗⋯∗0a22∗⋯∗00a33⋯∗⋮⋮⋮⋱⋮000⋯ann]A = \begin{bmatrix} a_{11} & * & * & \cdots & * \\ 0 & a_{22} & * & \cdots & * \\ 0 & 0 & a_{33} & \cdots & * \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & a_{nn} \end{bmatrix}

第一個 Column 只有 a11a_{11} 非零,所以展開後只有一項。遞迴下去,每次展開都只有一項存活,最終結果就是所有對角線元素相乘。

推論:單位矩陣的行列式​

det⁡(In)=1\det(I_n) = 1

因為單位矩陣是對角矩陣,對角線元素全為 1,乘積自然為 1。