行列式會為一個方陣配上一個數。這個數並不是裝飾。之後它會告訴你矩
陣是否可逆、行與列變換怎樣影響矩陣,以及某些方形線性系統如何用公
式解出。
代價是,行列式的定義比矩陣加法或數乘細緻得多。行列式只對方陣定
義,而且它是由較小尺寸的行列式遞迴建出來的。
為甚麼這一節重要
如果你只背
det[acbd]=ad−bc,
你就會錯過真正的結構。這一節要做的,是說明這個公式從何而來、為甚
麼符號會交替,以及為甚麼沿着一條選得好的行或列展開,可以把一個困
難計算變得可控制。
定義
子矩陣、子式與餘因子
設 A=[aij] 是一個 n×n 矩陣。
固定 i 與 j,刪去第 i 行與第 j 列,得到的
(n−1)×(n−1) 矩陣記作 A(i∣j)。
項 aij 的 子式 定義為
Mij=det(A(i∣j)).項 aij 的 餘因子 定義為
Aij=(−1)i+jMij.因子 (−1)i+j 產生棋盤式的正負號:
+−+⋮−+−⋮+−+⋮⋯⋯⋯⋱.
定義
用餘因子展開定義行列式
若 A=[a11] 是 1×1 矩陣,就定義
det(A)=a11.若 A=[aij] 是 n×n 矩陣且 n>1,就沿第一行作展開:
det(A)=a11A11+a12A12+⋯+a1nA1n.等價地,
det(A)=a11M11−a12M12+⋯+(−1)1+na1nM1n.
這個定義是遞迴的。4×4 行列式會被拆成幾個 3×3 行列
式,而每個 3×3 行列式又會被拆成 2×2 行列式,最後再
回到 1×1 的基本情況。
第一批例子
例題
熟悉的 2×2 公式其實來自定義
設
A=[a11a21a12a22].第一行的餘因子是
A11=(−1)1+1a22=a22,A12=(−1)1+2a21=−a21.所以
det(A)=a11A11+a12A12=a11a22−a12a21.因此常見的 ad−bc 公式並不是另一條獨立定理,而是遞迴定義在
2×2 情況下的具體寫法。
例題
用餘因子展開計算一個 3×3 行列式
令
B=34−321−1−162.沿第一行展開:
det(B)=31−162−24−362(−1)4−31−1.先算三個 2×2 行列式:
1−162=1⋅2−6(−1)=8,4−362=4⋅2−6(−3)=26,4−31−1=4(−1)−1(−3)=−1.因此
det(B)=3(8)−2(26)+(−1)(−1)=24−52+1=−27.
沿着零較多的行去展開
直接展開通常很貴。餘因子展開真正有用之處,在於你可以挑選一條最省
工的行或列。
定理
可沿任意一行作餘因子展開
對任意固定的第 i 行,若 A=[aij] 是 n×n 矩陣,則
det(A)=ai1Ai1+ai2Ai2+⋯+ainAin.等價地,
det(A)=j=1∑n(−1)i+jaijMij.所以雖然定義是沿第一行寫出的,但同一個行列式其實可以沿任何一行展
開。
例題
選一條可以消掉最多工作的行
令
C=1011959972887503.沿第二行展開比沿第一行展開更好,因為第二行第一項本身已經是 0:
det(C)=0⋅A21+5A22+2A23+5A24.這樣只剩三個 3×3 行列式,而不是四個。實際計算時,最好的那
條行或列通常就是零最多、或者數字最簡單的那一條。
從定義直接得到的快結論
只要容許你沿適當的行或列展開,不少實用定理都會立即出現。
定理
有零行或零列,行列式就是 0
若一個方陣有一整行都是 0,則其行列式等於 0。同樣地,若它有一
整列都是 0,行列式亦等於 0。
零行的說法是立刻可見的:直接沿那一行展開即可。零列的說法則是同一
個結構從列的角度再看一次。
定理
某行或某列只有一個非零項時,可以立刻縮小尺寸
若方陣 C 的第 k 行最多只有一個非零項,而該項位於 (k,ℓ),
則
det(C)=ckℓ(−1)k+ℓdet(C(k∣ℓ)).若第 ℓ 列最多只有一個非零項,而且該非零項位於第 k 行,也有
同樣的結論。
這條定理正式表達了初學者常用的直覺:若某行或某列幾乎全是零,就應
該立即利用它。
定理
三角矩陣的行列式很容易讀
若 T 是上三角或下三角矩陣,則
det(T)=t11t22⋯tnn,也就是對角線各項的乘積。
這就是之後我們如此重視行化簡的原因。若你能把矩陣化到三角形,同時
又準確記錄行列式怎樣改變,那最終的值就會很容易讀出。
例題
三角矩陣只需看對角線
對
T=20035047−1,不需要做完整展開。因為 T 是上三角矩陣,
det(T)=2⋅5⋅(−1)=−10.對角線以上的數字對矩陣本身當然重要,但在這種三角情況下,它們不會
影響行列式公式。
多重線性與交替性
行列式並不是對整個矩陣一次過線性的,但若把其他各行固定,它對其中
一行是線性的。
定理
固定其他各行後,行列式對某一行是線性的
固定某個方陣除了第 p 行以外的所有行。若新的第 p 行是
αu+βv,那麼行列式便會拆成
det(同樣其他各行,但第 p 行是 αu+βv)=αdet(同樣其他各行,但第 p 行是 u)+βdet(同樣其他各行,但第 p 行是 v).所以行列式是對每一行分別線性的。
這件事揭示了行列式衡量的是獨立性,而不只是大小。若你重複了一行,
矩陣便沒有提供新的方向,帶符號面積或帶符號體積就會塌縮。
常見錯誤
常見錯誤
行列式只屬於方陣
很多人會不自覺地問一個 2×3 或 3×2 矩陣的行列式是甚
麼。不要這樣做。行列式只對方陣定義,因為遞迴的子式構造必須每次都
從一個方陣刪去一行一列,並且仍然保持是方陣。
快速檢查
快速檢查
det[4] 是多少?
快速檢查
若一個對角矩陣的對角線項是 2、−1、5,它的行列式是多少?
練習
快速檢查
用餘因子定義計算 det[1324]。
快速檢查
用最合適的行或列展開,求 det204030105。
相關筆記
可先回到 2.1 矩陣基礎
複習方陣與索引記號。
接着讀
7.2 行變換、乘積與可逆性,
看看行列式如何與消元法接上。
亦可把
5.1 可逆矩陣
一併放在旁邊,因為之後行列式會成為另一個可逆性判準。