轉置把關於行的行列式恆等式轉為關於列的恆等式。利用對一列的線性性,可以分離線性組合中的一個係數:替換一列後,其餘各項都因出現重複列而消失。這個消去關係給出克萊瑪法則,並把它與伴隨矩陣恆等式聯繫起來。
本節的矩陣與純量均取實數;凡寫出行列式,所涉及的矩陣均為方陣。
轉置不會改變行列式
對每個方陣 A,
det(AT)=det(A).
雖然遞迴定義採用第一行展開,轉置仍然保持行列式的值不變。
若 A 奇異,AT 也奇異:把任何一條逆矩陣等式轉置,就會把 AT
的逆矩陣變成 A 的逆矩陣,因此兩邊的行列式都為零。若 A 可逆,寫成
A=E1E2⋯Ek交換行或把一行乘以非零純量的基本矩陣轉置後不變;加法基本矩陣
I+cEij 轉置為 I+cEji,仍是加法基本矩陣,行列式為一。因此
det(ErT)=det(Er),而
AT=EkT⋯E2TE1T使用行列式乘積公式便得到 det(AT)=det(A)。矩陣因子次序雖然反轉,但行列式值是可以交換次序相乘的純量。這個證明使用 7.2 的分解與行運算結果,為 7.1 已陳述的列展開提供推導,而沒有在證明中使用列展開。
設 A=[aij] 是 n≥2 階方陣,固定列指標 j。記 Mij 為子式,Cij=(−1)i+jMij 為餘因子,則
det(A)=a1jC1j+a2jC2j+⋯+anjCnj.等價地,
det(A)=i=1∑n(−1)i+jaijMij.
因此,你可以沿行展開,也可以沿列展開。真正重要的不是方向,而是你選中的那條行或列是否能令子式最容易計。
為了看清列公式從何而來,固定第 j 列。記 A(i∣j) 為刪去第 i 行與第 j 列後得到的矩陣。元素 aij 在 AT 中位於第 j 行;刪去該行與第 i 列後得到
(AT)(j∣i)=(A(i∣j))T
根據轉置不變性,這兩個子矩陣的行列式相同。因此沿 AT 的第 j 行展開,就是
det(AT)=i=1∑n(−1)j+iaijdet((AT)(j∣i))=i=1∑n(−1)i+jaijdet(A(i∣j))
而這等於 det(A),正是 A 沿第 j 列的展開。
令
A=160791085.第三列有一個零,所以沿第三列展開:
det(A)=0⋅C13+8C23+5C33.因此
det(A)=−81071+51679=−8(1)+5(9−42)=−173.同一個答案當然也可以用行展開得到,但挑對列會令算式短很多。
列運算遵守同一套模式
由於轉置不改變行列式,每一條關於行運算的規則,都有一條完全對應的列運算版本。
設 B 是由方陣 A 做一次基本列運算得到。
- 交換兩個不同的列 p 與 q,行列式乘上 −1。
- 把第 p 列乘上 β,行列式也乘上 β;若變換要可逆,要求
β=0。
- 若 p=q,把第 q 列改成 Cq+cCp,行列式不變。
這些規則就是把行規則應用到 AT,再使用轉置不變性。第三條必須區分來源列與目標列。固定其他列時,行列式對一列是線性的;有兩列相同的矩陣行列式為零。這兩點正是克萊瑪替換中多餘項消失的原因。
只有 p=q 時,Cq←Cq+cCp 才是保持行列式的列加法。如果
p=q,新列是 (1+c)Cq,行列式會乘以 1+c,不會自動保持不變。
考慮
C=34−321−1−162.按時間次序做列運算 C1←C1−C2,再做
C1←C1+C3;每一步都使用更新後的第一列:
34−321−1−162⟶13−221−1−162.第一步之後,第二步給出
13−221−1−162⟶09021−1−162這兩步都只是「某列加上另一列倍數」,所以行列式沒有改變。現在沿第一列展開:
det(C)=9(−1)2+12−1−12=−9(4−1)=−27位置 (2,1) 的負號不能遺漏。根據哪些操作能夠產生有用的零,選擇行運算或列運算,並在每一步使用更新後的矩陣。
伴隨矩陣把所有餘因子一次過收集起來
單一個餘因子可以處理一次展開;伴隨矩陣則把所有餘因子集中到同一個矩陣內。
對 n×n 且 n≥2 的矩陣 A=[aij],用 Cij 表示 aij 的餘因子,先寫出餘因子矩陣:
C11C21⋮Cn1C12C22⋮Cn2⋯⋯⋱⋯C1nC2n⋮Cnn.把這個餘因子矩陣轉置,便得到 伴隨矩陣
adj(A)=C11C12⋮C1nC21C22⋮C2n⋯⋯⋱⋯Cn1Cn2⋮Cnn.對於 1×1 的基例,定義 det([a])=a 與 adj([a])=[1]。於是 [a][1]=[a]=det([a])I1。下面的餘因子恆等式證明處理 n≥2。
對每個方陣 A,包括奇異矩陣,
Aadj(A)=det(A)I.若 det(A)=0,則 A 可逆,而且
A−1=det(A)1adj(A).
下面的證明假設 n≥2;1×1 基例已在上面定義。
乘積 Aadj(A) 的 (i,j) 元素是
(Aadj(A))ij=k=1∑naikCjk當 i=j 時,這是沿第 i 行的餘因子展開,所以等於 det(A)。當
i=j 時,用第 i 行替換 A 的第 j 行,得到 B。B 有兩行相同,所以 det(B)=0。沿被替換的第 j 行展開時,刪去第 j 行也刪去了替換內容;因此使用的餘因子正好是 A 中的 Cjk。於是
0=det(B)=k=1∑naikCjk所以對角元是 det(A),非對角元是零。只有在 det(A)=0 時才可以除以這個純量並得到逆矩陣;奇異時恆等式仍然成立,但不能除以行列式。
例題 7.3.8
(由伴隨矩陣重建 2×2 逆矩陣公式)
令
A=[acbd],det(A)=ad−bc=0.其餘因子矩陣是
[d−b−ca],所以
adj(A)=[d−c−ba].因此
A−1=ad−bc1[d−c−ba].熟悉的 2×2 逆矩陣公式,就是伴隨矩陣恆等式在二階情況下的寫法。直接相乘可見:
Aadj(A)=[ad−bc00ad−bc]=(ad−bc)I2伴隨矩陣必須取餘因子矩陣的轉置。若直接使用未轉置的餘因子矩陣
[d−b−ca],乘積一般會出現 ad−b2、ab−ac、cd−bd 與
ad−c2,既不是對角線上同一個純量,也不會令非對角元為零。
克萊瑪法則是逐個座標求解
令 A∈Mn(R) 滿足 det(A)=0,並令
b∈Rn。對每個 j,只把 A 的第 j 列改成 b,得到矩陣 Mj。
若 x 是系統
Ax=b的唯一解,則
xj=det(A)det(Mj).
每個座標都由一個行列式比值表示,明確顯示它對係數矩陣與右端向量的依賴。
把 A 的列寫成 a1,…,an。由於 det(A)=0,系統有唯一解,且
b=x1a1+⋯+xnan在 Mj 中固定第 j 列以外的所有列,只在第 j 列代入這個和。由列的線性性,
det(Mj)=k=1∑nxkdet(a1,…,aj−1,ak,aj+1,…,an)當 k=j 時,行列式中有兩列相同,所以該項為零;剩下的 k=j 項是
xjdet(A)。因此
det(Mj)=xjdet(A),xj=det(A)det(Mj)替換過程中列的次序從未改變,所以沒有額外符號。
替換一列為何能隔離一個未知量
下面的視覺說明會追蹤克萊瑪法則背後的行列式邏輯:把其中一列換成右邊向量,使用列線性,再看重複列如何令多餘項消失。
克萊瑪法則中的列替換觀看把其中一列換成右邊向量後,克萊瑪法則如何隔離單一座標。
用列去讀
系統 Ax=b 表示右邊向量是 b=x1 a1+x2 a2+x3 a3,也就是 A 各列的加權組合。
替換一列
要求 x1,就把 A 的第一列換成 b,其他列保持不變,得到 M1。
代入 b
代入 b=x1 a1+x2 a2+x3 a3 後,被替換的那一列就是三個欄向量的和。
使用列線性
列線性把 det(M1) 拆成 x1 det(A),再加上兩個含有重複列的行列式。
重複列消失
有重複列的行列式為零,所以 det(M1)=x1 det(A),並得到 x1=det(M1)/det(A)。
示範例子
在此方程組中,det(A)=6,三個替換行列式是 15、-6、3,所以 x=(5/2,-1,1/2)。
克萊瑪法則成立,是因為把第 j 列換成 b 後,det(M_j) 會變成 x_j det(A);可逆性保證我們可以除以 det(A)。
對於 n≥2,已建立的逆矩陣公式給出了同一個座標公式的另一種讀法。因為 det(A)=0,有 adj(A)=det(A)A−1。先用 A−1 左乘 Ax=b,再代入這個恆等式,得到
det(A)x=adj(A)bxj=det(A)∑i=1nCijbi
這個分子正好是 det(Mj):沿替換後的第 j 列展開 Mj。刪去該列後,向量 b 被刪去,留下的子式與 A 中相同,因此附在 bi 上的餘因子就是 Cij。所以伴隨矩陣路線與固定一列的線性性路線最終給出相同的帶符號和。對於 n=1,寫 A=[a]、b=[b1] 且 a=0;此時直接得到 x1=b1/a。
例題 7.3.10
(3×3 伴隨矩陣與三個替換行列式)
令
A=11120131−1b=231沿第一行展開:
det(A)=1(−1)−2(−2)+3(1)=6餘因子矩陣為
−1522−4211−2轉置後得到
adj(A)=−1215−4122−2把第一、第二、第三列分別替換成 b:
M1=23120131−1,M2=11123131−1,M3=111201231沿第一行計算:
det(M1)=−2+8+9=15det(M2)=−4+4−6=−6det(M3)=−3+4+2=3所以
(x1,x2,x3)=(615,6−6,63)=(25,−1,21)代回三行分別得到 5/2−2+3/2=2、5/2+1/2=3、
5/2−1−1/2=1,與 b 一致。
這些數值還提供了對符號與伴隨矩陣路線的獨立檢查。把上面列出的伴隨矩陣乘以 b,得到
adj(A)b=15−63
因此伴隨矩陣恆等式給出 x=adj(A)b/det(A),恰好是三個替換行列式所得的向量。例如第一個分量是 −1(2)+5(3)+2(1)=15;餘因子矩陣中的符號在相乘前已經包含。
例題 7.3.11
(用克萊瑪法則解一個 2×2 系統)
求解
{2x1+x2=5,x1+3x2=7.寫成
A=[2113],b=[57].先算
det(A)=2⋅3−1⋅1=5.把第一列換成 b:
M1=[5713],det(M1)=15−7=8.把第二列換成 b:
M2=[2157],det(M2)=14−5=9.因此
x1=58,x2=59.代回可檢查結果:2(8/5)+9/5=5,以及 8/5+3(9/5)=7。
常見錯誤
克萊瑪法則要求係數矩陣必須是方陣,而且其行列式非零。若係數矩陣不是方陣,或者係數矩陣本身奇異,克萊瑪法則便不能使用。即使條件滿足,對大系統來說,它通常亦比高斯消去法慢。
反例模式
替換行列式全為零不能判定奇異系統
令 A=diag(1,0,0),這是一個非零奇異矩陣。若
b=e1=(1,0,0)T,方程為 x1=1、0=0、0=0,解為 (1,s,t)。若
b=e2=(0,1,0)T,第二個方程為 0=1,因此系統無解。
明確寫出替換後的列三元組。對 b=e1,(M1)=(e1,0,0)、
(M2)=(e1,e1,0)、(M3)=(e1,0,e1);每個行列式都因含零列或重複列而為零。對 b=e2,(M1)=(e2,0,0)、(M2)=(e1,e2,0)、
(M3)=(e1,0,e2);每個三元組都含零列而使行列式為零,其中 M1
含有兩列零向量。因此六個形式比值全都是未定義的 0/0。使用克萊瑪法則前必須要求 det(A)=0。奇異系統應對增廣矩陣行化簡,檢查相容性與自由變數。
快速檢查
解答 · 答案
不會。det(AT)=det(A)。
解答 · 答案
把某一列改成「原本那一列加上另一條不同列的倍數」,會保留行列式。
解答 · 答案
當係數矩陣是方陣而且可逆,也就是說它的行列式非零時,才可使用克萊瑪法則。
練習
快速檢查
(用列展開計算 det130040256。)
解答 · 引導解答
沿第二列展開:
det=4(−1)2+21026=4(6)=24.
快速檢查
(對 A=[1324],寫出 adj(A)。)
解答 · 引導解答
餘因子是 C11=4、C12=−3、C21=−2、C22=1,因此
adj(A)=[4−3−21].
快速檢查
(用克萊瑪法則求系統 x1+x2=3、2x1−x2=0 的 x1。)
只需要 det(A) 與 det(M1)。
解答 · 引導解答
此時
A=[121−1],b=[30].所以
det(A)=−1−2=−3,M1=[301−1],det(M1)=−3.因此
x1=det(A)det(M1)=1.
相關筆記
若你對行運算的記帳仍未穩固,可先回看
7.2 行運算、乘積與可逆性。
同時亦應保留
3.3 轉置、對稱矩陣與反對稱矩陣
在旁,因為本節把那一章的轉置觀點推到行列式。
若要回到線性系統語言,可連回
1.1 方程與解集
與 2.3 高斯消去法與 RREF。