有限實矩陣乘法法則的證明
設 m , n , p , q m,n,p,q m , n , p , q 為正整數,A ∈ R m × n A\in\mathbb R^{m\times n} A ∈ R m × n 、B ∈ R n × p B\in\mathbb R^{n\times p} B ∈ R n × p 、C ∈ R p × q C\in\mathbb R^{p\times q} C ∈ R p × q 。以下只用行乘欄定義與實數的有限求和。對任意輸出位置 ( i , ℓ ) (i,\ell) ( i , ℓ ) ,
( ( A B ) C ) i ℓ = ∑ k = 1 p ( ∑ j = 1 n a i j b j k ) c k ℓ = ∑ j = 1 n a i j ( ∑ k = 1 p b j k c k ℓ ) = ( A ( B C ) ) i ℓ . \begin{aligned}
((AB)C)_{i\ell}
&=\sum_{k=1}^{p}\left(\sum_{j=1}^{n}a_{ij}b_{jk}\right)c_{k\ell}\\
&=\sum_{j=1}^{n}a_{ij}\left(\sum_{k=1}^{p}b_{jk}c_{k\ell}\right)
=(A(BC))_{i\ell}.
\end{aligned} (( A B ) C ) i ℓ = k = 1 ∑ p ( j = 1 ∑ n a ij b jk ) c k ℓ = j = 1 ∑ n a ij ( k = 1 ∑ p b jk c k ℓ ) = ( A ( BC ) ) i ℓ .
中間等號只交換兩個有限和的求和次序,並使用實數分配律。兩邊同為 m × q m\times q m × q 矩陣,每個位置相等,便證明結合律;沒有調換矩陣因子的次序。
對 D ∈ R n × p D\in\mathbb R^{n\times p} D ∈ R n × p ,同一定義給出
[ A ( B + D ) ] i k = ∑ j = 1 n a i j ( b j k + d j k ) = ( A B ) i k + ( A D ) i k . [A(B+D)]_{ik}=\sum_{j=1}^{n}a_{ij}(b_{jk}+d_{jk})
=(AB)_{ik}+(AD)_{ik}. [ A ( B + D ) ] ik = j = 1 ∑ n a ij ( b jk + d jk ) = ( A B ) ik + ( A D ) ik .
對 E ∈ R m × n E\in\mathbb R^{m\times n} E ∈ R m × n ,則有
[ ( A + E ) B ] i k = ∑ j = 1 n ( a i j + e i j ) b j k = ( A B ) i k + ( E B ) i k . [(A+E)B]_{ik}=\sum_{j=1}^{n}(a_{ij}+e_{ij})b_{jk}
=(AB)_{ik}+(EB)_{ik}. [( A + E ) B ] ik = j = 1 ∑ n ( a ij + e ij ) b jk = ( A B ) ik + ( EB ) ik .
所以在所寫的相容大小下,兩條分配律均成立。對任意實純量 c c c ,
[ ( c A ) B ] i k = ∑ j ( c a i j ) b j k = c ∑ j a i j b j k = ∑ j a i j ( c b j k ) = [ A ( c B ) ] i k , [(cA)B]_{ik}=\sum_j(ca_{ij})b_{jk}
=c\sum_j a_{ij}b_{jk}
=\sum_j a_{ij}(cb_{jk})=[A(cB)]_{ik}, [( c A ) B ] ik = j ∑ ( c a ij ) b jk = c j ∑ a ij b jk = j ∑ a ij ( c b jk ) = [ A ( c B ) ] ik ,
逐項相等便證明 ( c A ) B = c ( A B ) = A ( c B ) (cA)B=c(AB)=A(cB) ( c A ) B = c ( A B ) = A ( c B ) 。特別地,對 x , y ∈ R n x,y\in\mathbb R^n x , y ∈ R n 與實數 s , t s,t s , t ,
[ A ( s x + t y ) ] i = ∑ j a i j ( s x j + t y j ) = s ( A x ) i + t ( A y ) i . [A(sx+ty)]_i=\sum_j a_{ij}(sx_j+ty_j)
=s(Ax)_i+t(Ay)_i. [ A ( s x + t y ) ] i = j ∑ a ij ( s x j + t y j ) = s ( A x ) i + t ( A y ) i .
這證明了比較同一線性系統的解時所用的矩陣乘向量線性性質。所有恆等式都只針對大小相容的有限實矩陣,不聲稱任意矩陣因子可交換或可消去。
由單位矩陣建立初等矩陣
假設一個初等 行變換 ρ \rho ρ 作用於有 p p p 行的矩陣。先從單位矩陣 I p I_p I p
開始,對 I p I_p I p 做同一個初等行變換,所得矩陣記作 E ρ E_\rho E ρ 。
所有純量都屬於矩陣所採用的底域;特別地,每個非零倍數 c c c 在該域中都有倒數
1 / c 1/c 1/ c 。
定義
初等行變換矩陣 與 p p p 行矩陣上的初等行變換 ρ \rho ρ 對應的初等行變換矩陣 ,就是把
ρ \rho ρ 作用在 I p I_p I p 上所得的 p × p p \times p p × p 矩陣。
這種矩陣亦簡稱初等矩陣 ;較長的名稱可以明確指出它與指定行變換的關係。
換句話說,
E ρ = ρ ( I p ) . E_\rho = \rho(I_p). E ρ = ρ ( I p ) .
這個定義有用,是因為以下定理。
定理
初等行變換等同於左乘矩陣 設 A A A 是任何有 p p p 行的矩陣,ρ \rho ρ 是一個初等行變換,並以
ρ ( A ) \rho(A) ρ ( A ) 表示把它作用於 A A A 後得到的矩陣。則
ρ ( A ) = E ρ A . \rho(A) = E_\rho A. ρ ( A ) = E ρ A . 所以,對 A A A 做這個初等行變換,等同於用同一個操作在 I p I_p I p 上得到的
初等行變換矩陣左乘 A A A 。
這裏必須是左乘。初等行變換改變的是行,會把新行寫成舊行的線性組合;左乘正是把
A A A 的新行寫成舊行的線性組合。右乘則會混合欄,不是同一件事。
維數亦說明了同一點。若 A A A 是 p × n p \times n p × n 矩陣,則 E ρ E_\rho E ρ 是
p × p p \times p p × p 矩陣,所以 E ρ A E_\rho A E ρ A 有定義,而且仍是 p × n p \times n p × n 。
這裏完全不要求 A A A 是方陣。相反,對這 n n n 欄進行欄變換的矩陣大小為 n × n n \times n n × n ,並從右邊相乘。
為甚麼左乘會執行指定行變換
證明
對三類初等行變換逐行驗證 把任意 p × n p \times n p × n 矩陣 A A A 的各行記作
a 1 , a 2 , … , a p a_1,a_2,\ldots,a_p a 1 , a 2 , … , a p ,並以 e k T e_k^{\mathsf T} e k T 表示 I p I_p I p 的第 k k k 行。
基本等式
e k T A = a k e_k^{\mathsf T}A=a_k e k T A = a k 表示左乘矩陣的一行會選取 A A A 的相應行。現在逐類檢查。
對 R i ↔ R j R_i\leftrightarrow R_j R i ↔ R j ,E ρ E_\rho E ρ 的第 i i i 行是
e j T e_j^{\mathsf T} e j T ,第 j j j 行是 e i T e_i^{\mathsf T} e i T ,其餘第 k k k 行仍是
e k T e_k^{\mathsf T} e k T 。因此 E ρ A E_\rho A E ρ A 恰好交換 A A A 的第 i , j i,j i , j 行。
對 R i ← c R i R_i\leftarrow cR_i R i ← c R i (c ≠ 0 c\ne0 c = 0 ),E ρ E_\rho E ρ 的第 i i i 行是
c e i T c e_i^{\mathsf T} c e i T ,其餘行不變。因此乘積的第 i i i 行為
( c e i T ) A = c a i , (c e_i^{\mathsf T})A=c a_i, ( c e i T ) A = c a i ,
而每個 k ≠ i k\ne i k = i 的第 k k k 行仍為 a k a_k a k 。
對 R j ← R j + c R i R_j\leftarrow R_j+cR_i R j ← R j + c R i (i ≠ j i\ne j i = j ),E ρ E_\rho E ρ 的第 j j j 行是
e j T + c e i T e_j^{\mathsf T}+c e_i^{\mathsf T} e j T + c e i T ,其餘行不變,所以新的第 j j j 行為
( e j T + c e i T ) A = a j + c a i , (e_j^{\mathsf T}+c e_i^{\mathsf T})A=a_j+c a_i, ( e j T + c e i T ) A = a j + c a i ,
正是指定的行加法。
三類情形窮盡了初等行變換,因此對每個相容矩陣 A A A 都有
E ρ A = ρ ( A ) E_\rho A=\rho(A) E ρ A = ρ ( A ) 。這個證明沒有聲稱任意改動行的方式都對應一個初等矩陣;
ρ \rho ρ 必須是剛才檢查的三類操作之一。
作用於增廣矩陣
假設 A x = b Ax=b A x = b 由增廣矩陣 [ A ∣ b ] [A\mid b] [ A ∣ b ] 表示。初等行變換必須作用於整個增廣
矩陣,不能只改其中一邊。相應的乘法等式是
E ρ [ A ∣ b ] = [ E ρ A ∣ E ρ b ] . E_\rho[A\mid b]=[E_\rho A\mid E_\rho b]. E ρ [ A ∣ b ] = [ E ρ A ∣ E ρ b ] .
因此,係數和右端常數會接受完全相同的行組合。向量 x x x 滿足 A x = b Ax=b A x = b ,若且唯若
它滿足 E ρ A x = E ρ b E_\rho Ax=E_\rho b E ρ A x = E ρ b :正向可把原等式左乘 E ρ E_\rho E ρ ,反向則施加逆向
初等行變換。這才是解集保持不變的嚴格理由。
若只改 A A A 而固定 b b b ,或只改 b b b ,一般會得到另一個方程組。增廣線只是視覺
上的分隔,不是行變換可以中途停止的邊界。
一串初等行變換就是一個矩陣乘積
真正的用途不只是表示一個初等步驟,而是把整串初等行變換寫成一個矩陣乘積。
定理
一串初等行變換的乘積表示 假設
A 1 → ρ 1 A 2 → ρ 2 A 3 → ρ 3 ⋯ → ρ k A k + 1 . A_1 \xrightarrow{\rho_1} A_2 \xrightarrow{\rho_2} A_3
\xrightarrow{\rho_3} \cdots \xrightarrow{\rho_k} A_{k+1}. A 1 ρ 1 A 2 ρ 2 A 3 ρ 3 ⋯ ρ k A k + 1 . 則
A k + 1 = E ρ k E ρ k − 1 ⋯ E ρ 2 E ρ 1 A 1 . A_{k+1}
= E_{\rho_k}E_{\rho_{k-1}}\cdots E_{\rho_2}E_{\rho_1}A_1. A k + 1 = E ρ k E ρ k − 1 ⋯ E ρ 2 E ρ 1 A 1 . 這裏每個 ρ j \rho_j ρ j 都必須是作用於同樣行數矩陣的初等行變換。這個乘積表示整串
操作,但乘積本身未必仍是單一個初等行變換矩陣。
這個公式中的次序很重要。第一個行變換最靠近 A 1 A_1 A 1 ,因為它最先作用:
A 2 = E ρ 1 A 1 , A 3 = E ρ 2 A 2 = E ρ 2 E ρ 1 A 1 . A_2 = E_{\rho_1}A_1,
\qquad
A_3 = E_{\rho_2}A_2 = E_{\rho_2}E_{\rho_1}A_1. A 2 = E ρ 1 A 1 , A 3 = E ρ 2 A 2 = E ρ 2 E ρ 1 A 1 .
例題
合併兩個行變換 令
A = [ 1 0 1 0 2 1 1 0 0 ] . A =
\begin{bmatrix}
1 & 0 & 1\\
0 & 2 & 1\\
1 & 0 & 0
\end{bmatrix}. A = 1 0 1 0 2 0 1 1 0 . 依次做
ρ 1 : R 2 ← R 2 + R 1 , ρ 2 : R 1 ← R 1 + 2 R 2 . \rho_1:\ R_2 \leftarrow R_2 + R_1,
\qquad
\rho_2:\ R_1 \leftarrow R_1 + 2R_2. ρ 1 : R 2 ← R 2 + R 1 , ρ 2 : R 1 ← R 1 + 2 R 2 . 對應的行變換矩陣是
E ρ 1 = [ 1 0 0 1 1 0 0 0 1 ] , E ρ 2 = [ 1 2 0 0 1 0 0 0 1 ] . E_{\rho_1} =
\begin{bmatrix}
1 & 0 & 0\\
1 & 1 & 0\\
0 & 0 & 1
\end{bmatrix},
\qquad
E_{\rho_2} =
\begin{bmatrix}
1 & 2 & 0\\
0 & 1 & 0\\
0 & 0 & 1
\end{bmatrix}. E ρ 1 = 1 1 0 0 1 0 0 0 1 , E ρ 2 = 1 0 0 2 1 0 0 0 1 . 兩個操作完成後,結果就是
E ρ 2 E ρ 1 A = [ 3 2 0 1 1 0 0 0 1 ] [ 1 0 1 0 2 1 1 0 0 ] = [ 3 4 5 1 2 2 1 0 0 ] . E_{\rho_2}E_{\rho_1}A
=
\begin{bmatrix}
3&2&0\\
1&1&0\\
0&0&1
\end{bmatrix}
\begin{bmatrix}
1&0&1\\
0&2&1\\
1&0&0
\end{bmatrix}
=
\begin{bmatrix}
3&4&5\\
1&2&2\\
1&0&0
\end{bmatrix}. E ρ 2 E ρ 1 A = 3 1 0 2 1 0 0 0 1 1 0 1 0 2 0 1 1 0 = 3 1 1 4 2 0 5 2 0 . 若不想直接相乘 E ρ 2 E ρ 1 E_{\rho_2}E_{\rho_1} E ρ 2 E ρ 1 ,也可以把同一串行變換按同一次序作用在
I 3 I_3 I 3 上,所得矩陣就是合併後的左乘矩陣。最後的數值結果亦確認:第二步使用的
是已經更新後的第 2 2 2 行。
反向行變換與逆矩陣
每個初等行變換都有反向操作:
R j ← R j + c R i R_j \leftarrow R_j + cR_i R j ← R j + c R i 的反向操作是
R j ← R j − c R i R_j \leftarrow R_j - cR_i R j ← R j − c R i ;
R i ← c R i R_i \leftarrow cR_i R i ← c R i (其中 c ≠ 0 c \ne 0 c = 0 )的反向操作是
R i ← ( 1 / c ) R i R_i \leftarrow (1/c)R_i R i ← ( 1/ c ) R i ;
交換兩行的反向操作仍然是同一次交換。
這給出一個精確的矩陣敘述。
定理
初等行變換矩陣都是可逆矩陣 每個初等行變換矩陣都是可逆的。它的逆矩陣,就是反向初等行變換所對應的
初等行變換矩陣。
證明
為甚麼反向矩陣是雙側逆矩陣 設 E ρ E_\rho E ρ 表示初等行變換 ρ \rho ρ ,而 E ρ − 1 E_{\rho^{-1}} E ρ − 1 表示它的反向初等
操作。對每個有 p p p 行的矩陣 X X X ,先做 ρ \rho ρ 再撤銷,都會恢復 X X X 。由左乘
定理,
E ρ − 1 E ρ X = X . E_{\rho^{-1}}E_\rho X=X. E ρ − 1 E ρ X = X . 這個等式對每個這樣的 X X X 都成立;特別取 X = I p X=I_p X = I p ,得到
E ρ − 1 E ρ = I p E_{\rho^{-1}}E_\rho=I_p E ρ − 1 E ρ = I p 。先做反向操作再做 ρ \rho ρ ,同理得到
E ρ E ρ − 1 = I p E_\rho E_{\rho^{-1}}=I_p E ρ E ρ − 1 = I p 。因此
E ρ − 1 = E ρ − 1 . E_\rho^{-1}=E_{\rho^{-1}}. E ρ − 1 = E ρ − 1 . 具體來說,交換兩行的逆仍是同一次交換;乘以 c ≠ 0 c\ne0 c = 0 的逆是乘以 1 / c 1/c 1/ c ;
把第 i i i 行的 c c c 倍加到第 j j j 行,則由加上 − c -c − c 倍第 i i i 行來撤銷。
例如,若
E = [ 1 0 0 3 1 0 0 0 1 ] E =
\begin{bmatrix}
1 & 0 & 0\\
3 & 1 & 0\\
0 & 0 & 1
\end{bmatrix} E = 1 3 0 0 1 0 0 0 1
表示 R 2 ← R 2 + 3 R 1 R_2 \leftarrow R_2 + 3R_1 R 2 ← R 2 + 3 R 1 ,則
E − 1 = [ 1 0 0 − 3 1 0 0 0 1 ] E^{-1} =
\begin{bmatrix}
1 & 0 & 0\\
-3 & 1 & 0\\
0 & 0 & 1
\end{bmatrix} E − 1 = 1 − 3 0 0 1 0 0 0 1
表示 R 2 ← R 2 − 3 R 1 R_2 \leftarrow R_2 - 3R_1 R 2 ← R 2 − 3 R 1 。
這就是初等行變換可逆的代數原因,也解釋了為甚麼行化簡和可逆矩陣有密切關係。
證明
先撤銷最後一步操作 設 E 1 , … , E k E_1,\ldots,E_k E 1 , … , E k 按時間順序編碼同一組 p p p 行矩陣上的操作,合併左乘矩陣就是 J = E k ⋯ E 1 J=E_k\cdots E_1 J = E k ⋯ E 1 。每個 E j − 1 E_j^{-1} E j − 1 表示對應初等行變換的反向操作。要恢復輸入,首先必須撤銷 E k E_k E k ,因為它是最後一次對行所作的改變;然後依次撤銷 E k − 1 , … , E 1 E_{k-1},\ldots,E_1 E k − 1 , … , E 1 。因此,反向鏈的合併矩陣為
K = E 1 − 1 E 2 − 1 ⋯ E k − 1 . K=E_1^{-1}E_2^{-1}\cdots E_k^{-1}. K = E 1 − 1 E 2 − 1 ⋯ E k − 1 . 這裏必須區分兩種次序:反向操作的時間順序從 E k − 1 E_k^{-1} E k − 1 開始;寫成乘積時,最先作用的因子卻放在最靠近待恢復矩陣的位置。以三步為例,由結合律可得
K J = E 1 − 1 E 2 − 1 ( E 3 − 1 E 3 ) E 2 E 1 = E 1 − 1 ( E 2 − 1 E 2 ) E 1 = I p . KJ=E_1^{-1}E_2^{-1}(E_3^{-1}E_3)E_2E_1
=E_1^{-1}(E_2^{-1}E_2)E_1=I_p. K J = E 1 − 1 E 2 − 1 ( E 3 − 1 E 3 ) E 2 E 1 = E 1 − 1 ( E 2 − 1 E 2 ) E 1 = I p . 另一個乘積 J K JK J K 則從相鄰的 E 1 E 1 − 1 E_1E_1^{-1} E 1 E 1 − 1 開始消去,最後同樣得到 I p I_p I p 。任意有限鏈都可這樣逐對消去。整個論證沒有交換因子,也不要求被變換的矩陣本身是方陣。
把這個讀法用於前面的兩步例子:合併矩陣是 E ρ 2 E ρ 1 E_{\rho_2}E_{\rho_1} E ρ 2 E ρ 1 ,所以逆矩陣是 E ρ 1 − 1 E ρ 2 − 1 E_{\rho_1}^{-1}E_{\rho_2}^{-1} E ρ 1 − 1 E ρ 2 − 1 。從最終矩陣開始,先從第一行減去目前第二行的兩倍,第一行便恢復為 [ 1 0 1 ] [1\ 0\ 1] [ 1 0 1 ] ;再從第二行減去剛恢復的第一行,第二行便恢復為 [ 0 2 1 ] [0\ 2\ 1] [ 0 2 1 ] 。撤銷操作是在逐個恢復中間狀態,乘積次序也就隨之確定,無須另背一個口訣。
有限消元必停止,並保持解集
設 A ∈ R m × n A\in\mathbb R^{m\times n} A ∈ R m × n 、b ∈ R m b\in\mathbb R^m b ∈ R m ,其中 m , n m,n m , n 是有限正整數。允許的行變換為交換不同的兩行、以非零標量乘一行,以及把一行的標量倍加到另一行。逆變換分別為同一交換、乘以倒數,以及減去該倍數。因此對整個增廣陣施行變換恰好保持 A x = b Ax=b A x = b 的解集:新方程由舊方程推出,逆變換給出反向蘊含。每個行變換也等於左乘把同一變換施於單位矩陣所得的可逆初等矩陣。
從左到右掃描係數欄,並記錄下一未使用行。若當前欄在未使用行中有非零元素,就將其所在行交換到下一位置,除以非零主元,再從其餘各行減去適當倍數,清空該欄其他元素,然後推進未使用行指標。若該欄所有未使用位置都是零,就跳過該欄。先前主元欄始終是單位欄:當前未使用行在這些欄均為零,所以新主元行以及後續減法保留這些零與原主元。總共只有 n n n 次欄掃描及至多 min ( m , n ) \min(m,n) min ( m , n ) 個主元,每次只作有限個行變換,故算法必停止。最後非零係數行的主元欄依次遞增,各主元上下均為零,其餘係數行全零。這證明下面使用的簡化階梯形確實能得到,而非假設它最終出現。
解的分類與齊次自由度
令 r r r 為係數部分的主元數。若某個零係數行對應非零變換後右端,就出現不可能的方程 0 = c 0=c 0 = c ,因此無解。否則任意指定 n − r n-r n − r 個非主元變量的實數值。每個主元行都把其主元變量寫成變換後右端減去自由變量的已知線性組合,其中沒有其他主元變量。這些公式既構造解,也恢復每一個解。若 r = n r=n r = n ,解唯一;若 r < n r<n r < n ,改變自由變量就改變解向量,故有無窮多解。
對 A z = 0 Az=0 A z = 0 ,全部自由變量取零給出零解。若 r < n r<n r < n ,將一個自由變量設為一,其餘設為零,再按主元公式求解,就構造出非零齊次解;若 r = n r=n r = n ,公式迫使所有齊次變量為零。對相容系統固定一個解 x p x_p x p ,兩解相減表明每個解均為 x p + z x_p+z x p + z ,其中 A z = 0 Az=0 A z = 0 ;代入又證明反向包含。
當 A A A 為方陣且每欄都有主元時,係數階梯形為 I I I 。有限個初等矩陣之積 E E E 滿足 E A = I EA=I E A = I 。因為 E E E 可逆,A = E − 1 A=E^{-1} A = E − 1 ,故也有 A E = I AE=I A E = I ,所以 E E E 是雙側逆。若缺少主元,上面構造的非零齊次解排除可逆性。這也證明可逆時,對 [ A ∣ I ] [A\mid I] [ A ∣ I ] 作相同行變換會得到 [ I ∣ A − 1 ] [I\mid A^{-1}] [ I ∣ A − 1 ] 。
從較小矩陣構造行列式
定義
子矩陣、子式與餘因子 設 A = [ a i j ] A=[a_{ij}] A = [ a ij ] 是一個 n × n n\times n n × n 矩陣,其中 n ≥ 2 n\ge2 n ≥ 2 。給定
1 ≤ i , j ≤ n 1\le i,j\le n 1 ≤ i , j ≤ n ,同時刪去第 i i i 行與第 j j j 欄,所得的
( n − 1 ) × ( n − 1 ) (n-1)\times(n-1) ( n − 1 ) × ( n − 1 ) 矩陣記為子矩陣 A ( i ∣ j ) A(i\mid j) A ( i ∣ j ) 。
屬於項 a i j a_{ij} a ij 的子式 是純量
M i j = det ( A ( i ∣ j ) ) M_{ij}=\det\bigl(A(i\mid j)\bigr) M ij = det ( A ( i ∣ j ) ) 屬於項 a i j a_{ij} a ij 的餘因子 是帶符號純量
C i j = ( − 1 ) i + j M i j C_{ij}=(-1)^{i+j}M_{ij} C ij = ( − 1 ) i + j M ij 符號形成左上角為正的棋盤:
[ + − + ⋯ − + − ⋯ + − + ⋯ ⋮ ⋮ ⋮ ⋱ ] \begin{bmatrix}
+&-&+&\cdots\\
-&+&-&\cdots\\
+&-&+&\cdots\\
\vdots&\vdots&\vdots&\ddots
\end{bmatrix} + − + ⋮ − + − ⋮ + − + ⋮ ⋯ ⋯ ⋯ ⋱ A ( i ∣ j ) A(i\mid j) A ( i ∣ j ) 表示一個矩陣,M i j M_{ij} M ij 是該矩陣的行列式,
C i j = ( − 1 ) i + j M i j C_{ij}=(-1)^{i+j}M_{ij} C ij = ( − 1 ) i + j M ij 則是加上符號後的純量。清楚區分這三個對
象,就不會把符號錯誤地乘兩次。
定義
行列式的遞迴定義 對於 1 × 1 1\times1 1 × 1 矩陣 [ a 11 ] [a_{11}] [ a 11 ] ,定義
det ( [ a 11 ] ) = a 11 \det([a_{11}])=a_{11} det ([ a 11 ]) = a 11 對於 n > 1 n>1 n > 1 的 n × n n\times n n × n 矩陣,沿第一行定義
det ( A ) = ∑ j = 1 n a 1 j C 1 j = ∑ j = 1 n ( − 1 ) 1 + j a 1 j M 1 j \det(A)=\sum_{j=1}^{n}a_{1j}C_{1j}
=\sum_{j=1}^{n}(-1)^{1+j}a_{1j}M_{1j} det ( A ) = j = 1 ∑ n a 1 j C 1 j = j = 1 ∑ n ( − 1 ) 1 + j a 1 j M 1 j 這是定義,還不是關於其他行或欄的定理。每個子式的階數都是 n − 1 n-1 n − 1 ,
所以反覆使用定義最終會到達 1 × 1 1\times1 1 × 1 基本情形。不需要約定
0 × 0 0\times0 0 × 0 行列式:子矩陣和子式的定義只用於 n ≥ 2 n\ge2 n ≥ 2 。
從遞迴行列式證明任意餘因子展開
設 A A A 為實 n × n n\times n n × n 矩陣,n ≥ 1 n\ge1 n ≥ 1 ,行列式由一階基例和第一行遞迴定義。令 S n S_n S n 為 1 , … , n 1,\ldots,n 1 , … , n 的排列集合;定義逆序數 inv ( σ ) \operatorname{inv}(\sigma) inv ( σ ) 為滿足 r < s r<s r < s 且 σ ( r ) > σ ( s ) \sigma(r)>\sigma(s) σ ( r ) > σ ( s ) 的數對個數,並令 sgn ( σ ) = ( − 1 ) inv ( σ ) \operatorname{sgn}(\sigma)=(-1)^{\operatorname{inv}(\sigma)} sgn ( σ ) = ( − 1 ) inv ( σ ) 。
若 σ ( i ) = j \sigma(i)=j σ ( i ) = j ,刪去位置 i i i 與值 j j j ,保持其餘位置及值的相對次序,得到排列 τ ∈ S n − 1 \tau\in S_{n-1} τ ∈ S n − 1 。設位置 i i i 之前有 u u u 個值小於 j j j ;被刪去的逆序共有 ( i − 1 − u ) + ( j − 1 − u ) = i + j − 2 − 2 u (i-1-u)+(j-1-u)=i+j-2-2u ( i − 1 − u ) + ( j − 1 − u ) = i + j − 2 − 2 u 個,故
sgn ( σ ) = ( − 1 ) i + j sgn ( τ ) . \operatorname{sgn}(\sigma)=(-1)^{i+j}\operatorname{sgn}(\tau). sgn ( σ ) = ( − 1 ) i + j sgn ( τ ) .
定義 P n ( A ) = ∑ σ ∈ S n sgn ( σ ) ∏ r = 1 n a r , σ ( r ) P_n(A)=\sum_{\sigma\in S_n}\operatorname{sgn}(\sigma)\prod_{r=1}^n a_{r,\sigma(r)} P n ( A ) = ∑ σ ∈ S n sgn ( σ ) ∏ r = 1 n a r , σ ( r ) 。n = 1 n=1 n = 1 時它就是遞迴行列式。n > 1 n>1 n > 1 時,按 σ ( 1 ) = j \sigma(1)=j σ ( 1 ) = j 分組並用符號恆等式,得 P n ( A ) = ∑ j ( − 1 ) 1 + j a 1 j P n − 1 ( A ( 1 ∣ j ) ) P_n(A)=\sum_j(-1)^{1+j}a_{1j}P_{n-1}(A(1\mid j)) P n ( A ) = ∑ j ( − 1 ) 1 + j a 1 j P n − 1 ( A ( 1 ∣ j )) 。歸納法因而證明 P n ( A ) = det A P_n(A)=\det A P n ( A ) = det A 。
現在固定任意行 i i i ,將同一有限排列和按 σ ( i ) = j \sigma(i)=j σ ( i ) = j 分組。刪除操作與對應子矩陣的全部排列一一對應,因此
det A = ∑ j = 1 n ( − 1 ) i + j a i j det ( A ( i ∣ j ) ) . \det A=\sum_{j=1}^n(-1)^{i+j}a_{ij}\det(A(i\mid j)). det A = j = 1 ∑ n ( − 1 ) i + j a ij det ( A ( i ∣ j )) .
固定任意欄 j j j 時,每個排列恰有一個位置 i i i 滿足 σ ( i ) = j \sigma(i)=j σ ( i ) = j ;按該位置分組即得
det A = ∑ i = 1 n ( − 1 ) i + j a i j det ( A ( i ∣ j ) ) . \det A=\sum_{i=1}^n(-1)^{i+j}a_{ij}\det(A(i\mid j)). det A = i = 1 ∑ n ( − 1 ) i + j a ij det ( A ( i ∣ j )) .
兩個展開公式均用於 n ≥ 2 n\ge2 n ≥ 2 ,沒有引入空行列式約定。此證明不預設換行交錯規則或行列式乘積定理。
結構規則為何成立
零行、零欄與唯一支撐項
定理
有零行或零欄時行列式為零 如果方陣的一整行或一整欄的每一項都是零,則它的行列式為零。
定理
某行或某欄至多有一個非零項 設 C C C 是 n ≥ 2 n\ge2 n ≥ 2 階方陣。若第 k k k 行除 c k ℓ c_{k\ell} c k ℓ 外都為零,則
det ( C ) = c k ℓ ( − 1 ) k + ℓ det ( C ( k ∣ ℓ ) ) \det(C)=c_{k\ell}(-1)^{k+\ell}\det\bigl(C(k\mid\ell)\bigr) det ( C ) = c k ℓ ( − 1 ) k + ℓ det ( C ( k ∣ ℓ ) ) 若第 ℓ \ell ℓ 欄除 c k ℓ c_{k\ell} c k ℓ 外都為零,也有同一公式。即使
c k ℓ = 0 c_{k\ell}=0 c k ℓ = 0 ,這個表述仍然成立。
當 n = 1 n=1 n = 1 時,含有零行的矩陣就是 [ 0 ] [0] [ 0 ] ,按基本定義其行列式為零。當
n ≥ 2 n\ge2 n ≥ 2 時,使用任意行展開定理沿該行展開。每一項都含有一個零項作為
因子,所以每一項都為零,因而 det ( A ) = 0 \det(A)=0 det ( A ) = 0 。
零欄可以用歸納法直接證明,這樣能看清零欄如何傳遞。n = 1 n=1 n = 1 時,唯一
具有零欄的 1 × 1 1\times1 1 × 1 矩陣是 [ 0 ] [0] [ 0 ] ,其行列式為零。假設結論對
n = k n=k n = k 成立。設 ( k + 1 ) × ( k + 1 ) (k+1)\times(k+1) ( k + 1 ) × ( k + 1 ) 矩陣 C C C 的第 ℓ \ell ℓ 欄全為零,
沿第一行展開。第 ℓ \ell ℓ 項的因子已經是零。對其餘每一項,刪去第一行
和某個 j ≠ ℓ j\ne\ell j = ℓ 的欄;原來的零欄仍在所得 k × k k\times k k × k 子矩陣中,只是
在 j < ℓ j\lt\ell j < ℓ 時欄指標向左移。由歸納假設,每個這樣的子矩陣的行列式都是零,
所以整行展開的每一項都為零,得到 det ( C ) = 0 \det(C)=0 det ( C ) = 0 。
若某行除一項外全為零,沿該行展開即可;若某欄除一項外全為零,沿第
k k k 行展開。ℓ \ell ℓ 項保留下來,而對每個 j ≠ ℓ j\ne\ell j = ℓ ,子矩陣
C ( k ∣ j ) C(k\mid j) C ( k ∣ j ) 都繼承了原第 ℓ \ell ℓ 欄的零欄,因此其行列式為零。最後
只剩下 c k ℓ ( − 1 ) k + ℓ det ( C ( k ∣ ℓ ) ) c_{k\ell}(-1)^{k+\ell}\det(C(k\mid\ell)) c k ℓ ( − 1 ) k + ℓ det ( C ( k ∣ ℓ )) 。這正是稀疏行或
欄能把計算縮成一個子式的原因。
三角矩陣
定理
三角矩陣定理 若 T T T 是上三角或下三角矩陣,則
det ( T ) = t 11 t 22 ⋯ t n n \det(T)=t_{11}t_{22}\cdots t_{nn} det ( T ) = t 11 t 22 ⋯ t nn
用 n n n 作歸納證明上三角情形。n = 1 n=1 n = 1 時結論就是行列式的定義。假設
結論對上三角 k × k k\times k k × k 矩陣成立,令 T T T 為 k + 1 k+1 k + 1 階上三角矩陣。最
後一行除最後一項 t k + 1 , k + 1 t_{k+1,k+1} t k + 1 , k + 1 外都是零。沿最後一行展開,只有這一項
保留,而且符號 ( − 1 ) 2 k + 2 = 1 (-1)^{2k+2}=1 ( − 1 ) 2 k + 2 = 1 :
det ( T ) = t k + 1 , k + 1 det ( T ( k + 1 ∣ k + 1 ) ) \det(T)=t_{k+1,k+1}\det\bigl(T(k+1\mid k+1)\bigr) det ( T ) = t k + 1 , k + 1 det ( T ( k + 1 ∣ k + 1 ) )
保留下來的子矩陣仍是上三角矩陣,對角線為
t 11 , … , t k k t_{11},\ldots,t_{kk} t 11 , … , t kk 。由歸納假設,它的行列式是
t 11 ⋯ t k k t_{11}\cdots t_{kk} t 11 ⋯ t kk ,於是得到完整的對角線乘積。下三角情形類似但可
沿第一行展開:第一行只可能留下 t 11 t_{11} t 11 ,刪去第一行第一欄後的子矩陣
仍是下三角矩陣,對角線由 t 22 t_{22} t 22 到 t n n t_{nn} t nn 。
固定一行時的多重線性
定理
固定一行時的多重線性 固定除第 p p p 行外的每一行。若新第 p p p 行是 α u + β v \alpha u+\beta v αu + β v ,則
det ( 相同其他各行,但第 p 行為 α u + β v ) = α det ( 相同其他各行,但第 p 行為 u ) + β det ( 相同其他各行,但第 p 行為 v ) \det(\text{相同其他各行,但第 }p\text{ 行為 }\alpha u+\beta v)
=\alpha\det(\text{相同其他各行,但第 }p\text{ 行為 }u)
+\beta\det(\text{相同其他各行,但第 }p\text{ 行為 }v) det ( 相同其他各行 , 但第 p 行為 αu + β v ) = α det ( 相同其他各行 , 但第 p 行為 u ) + β det ( 相同其他各行 , 但第 p 行為 v )
當 n = 1 n=1 n = 1 時,基本定義直接給出
det ( [ α a + β b ] ) = α a + β b = α det ( [ a ] ) + β det ( [ b ] ) \det([\alpha a+\beta b])=\alpha a+\beta b
=\alpha\det([a])+\beta\det([b]) det ([ α a + β b ]) = α a + β b = α det ([ a ]) + β det ([ b ])
這就證明了 1 × 1 1\times1 1 × 1 情形。
當 n ≥ 2 n\ge2 n ≥ 2 時,固定除第 p p p 行外的每一行。設矩陣 A , B , C A,B,C A , B , C 在這些固定行上完全相同,
而第 p p p 行滿足 c p = α a p + β b p c_p=\alpha a_p+\beta b_p c p = α a p + β b p 。對每個欄指標 j j j ,刪
去第 p p p 行後得到相同的矩陣:
A ( p ∣ j ) = B ( p ∣ j ) = C ( p ∣ j ) A(p\mid j)=B(p\mid j)=C(p\mid j) A ( p ∣ j ) = B ( p ∣ j ) = C ( p ∣ j )
沿第 p p p 行展開 det ( C ) \det(C) det ( C ) ,再用每一項的關係
c p j = α a p j + β b p j c_{pj}=\alpha a_{pj}+\beta b_{pj} c p j = α a p j + β b p j 和分配律,得到
det ( C ) = ∑ j = 1 n ( α a p j + β b p j ) ( − 1 ) p + j det ( C ( p ∣ j ) ) = α det ( A ) + β det ( B ) \begin{aligned}
\det(C)
&=\sum_{j=1}^{n}(\alpha a_{pj}+\beta b_{pj})(-1)^{p+j}\det(C(p\mid j))\\
&=\alpha\det(A)+\beta\det(B)
\end{aligned} det ( C ) = j = 1 ∑ n ( α a p j + β b p j ) ( − 1 ) p + j det ( C ( p ∣ j )) = α det ( A ) + β det ( B )
關鍵正是其他每一行都固定;同時改變兩行是另一條命題。
相鄰換行與相同行
定理
若有兩行相同,行列式必為零 若一個方陣有兩行完全相同,則它的行列式等於 0 0 0 。
設 A A A 的相鄰兩行是 r q , r q + 1 r_q,r_{q+1} r q , r q + 1 ,交換這兩行得到 B B B 。沿
A A A 的第 q q q 行展開,沿 B B B 中已經移動到第 q + 1 q+1 q + 1 行的同一行
r q r_q r q 展開。對每個欄指標 j j j ,兩次刪去該行後留下的子矩陣次序相同,
但符號相反,因為
( − 1 ) q + 1 + j = − ( − 1 ) q + j (-1)^{q+1+j}=-(-1)^{q+j} ( − 1 ) q + 1 + j = − ( − 1 ) q + j
逐項比較便得 det ( B ) = − det ( A ) \det(B)=-\det(A) det ( B ) = − det ( A ) 。位置 p < q p\lt q p < q 的兩行交換可以由
2 ( q − p ) − 1 2(q-p)-1 2 ( q − p ) − 1 次相鄰交換組成,這是奇數次,所以同樣會使行列式變號。
若 A A A 的第 p p p 行與第 q q q 行相同,交換它們後矩陣仍是 A A A 本身。換行
結論於是給出 det ( A ) = − det ( A ) \det(A)=-\det(A) det ( A ) = − det ( A ) 。由於這裏的項是實數,
2 det ( A ) = 0 2\det(A)=0 2 det ( A ) = 0 ,所以 det ( A ) = 0 \det(A)=0 det ( A ) = 0 。這個證明沒有調用下一節才會出現的行
替換規則。
指標與計算策略
每一項都要同時保留三個對象:所選項、刪去一行一欄後得到的子矩陣,以及取該子矩陣行列式所得的子式。先按原矩陣中的行列位置寫出棋盤符號,再計算子式。若繼續展開子式,應使用子式自己的局部指標;局部指標不會取代外層餘因子的符號。
任意行、任意欄展開定理使展開線可以有策略地選擇。優先選擇零多或剩餘子式較簡單的行或欄,並在計算前說明理由。零項會立即刪去分支;零子式則必須由它自己的計算證明。第一行遞迴式定義行列式,任意行欄展開則是容許這種計算選擇的定理。
轉置把關於行的行列式恆等式轉為關於欄的恆等式。利用對一欄的線性性,可以分離線性組合中的一個係數:替換一欄後,其餘各項都因出現重複欄而消失。這個消去關係給出克拉默法則,並把它與伴隨矩陣恆等式聯繫起來。
本節的矩陣與純量均取實數;凡寫出行列式,所涉及的矩陣均為方陣。
轉置不會改變行列式
定理
轉置矩陣的行列式 對每個方陣 A A A ,
det ( A T ) = det ( A ) . \det(A^T)=\det(A). det ( A T ) = det ( A ) .
雖然遞迴定義採用第一行展開,轉置仍然保持行列式的值不變。
證明
用基本矩陣分解證明轉置不會改變行列式 若 A A A 奇異,A T A^T A T 也奇異:把任何一條逆矩陣等式轉置,就會把 A T A^T A T
的逆矩陣變成 A A A 的逆矩陣,因此兩邊的行列式都為零。若 A A A 可逆,寫成
A = E 1 E 2 ⋯ E k A=E_1E_2\cdots E_k A = E 1 E 2 ⋯ E k 交換行或把一行乘以非零純量的基本矩陣轉置後不變;加法基本矩陣
I + c E i j I+cE_{ij} I + c E ij 轉置為 I + c E j i I+cE_{ji} I + c E ji ,仍是加法基本矩陣,行列式為一。因此
det ( E r T ) = det ( E r ) \det(E_r^T)=\det(E_r) det ( E r T ) = det ( E r ) ,而
A T = E k T ⋯ E 2 T E 1 T A^T=E_k^T\cdots E_2^TE_1^T A T = E k T ⋯ E 2 T E 1 T 使用行列式乘積公式便得到 det ( A T ) = det ( A ) \det(A^T)=\det(A) det ( A T ) = det ( A ) 。矩陣因子次序雖然反轉,
但行列式值是可以交換次序相乘的純量。這個證明使用 7.2 的分解與行變換結果,為 7.1 已陳述的欄展開提供推導,而沒有在證明中使用欄展開。
定理
可沿任意一欄作餘因子展開 設 A = [ a i j ] A=[a_{ij}] A = [ a ij ] 是 n ≥ 2 n\ge2 n ≥ 2 階方陣,固定欄指標 j j j 。記 M i j M_{ij} M ij 為子式,C i j = ( − 1 ) i + j M i j C_{ij}=(-1)^{i+j}M_{ij} C ij = ( − 1 ) i + j M ij 為餘因子,則
det ( A ) = a 1 j C 1 j + a 2 j C 2 j + ⋯ + a n j C n j . \det(A)=a_{1j}C_{1j}+a_{2j}C_{2j}+\cdots+a_{nj}C_{nj}. det ( A ) = a 1 j C 1 j + a 2 j C 2 j + ⋯ + a nj C nj . 等價地,
det ( A ) = ∑ i = 1 n ( − 1 ) i + j a i j M i j . \det(A)=\sum_{i=1}^n (-1)^{i+j}a_{ij}M_{ij}. det ( A ) = i = 1 ∑ n ( − 1 ) i + j a ij M ij .
因此,你可以沿行展開,也可以沿欄展開。真正重要的不是方向,而是你
選中的那條行或欄是否能令子式最容易計。
為了看清欄公式從何而來,固定第 j j j 欄。記 A ( i ∣ j ) A(i|j) A ( i ∣ j ) 為刪去第 i i i 行與第 j j j 欄後得到的矩陣。元素 a i j a_{ij} a ij 在 A T A^T A T 中位於第 j j j 行;刪去該行與第 i i i 欄後得到
( A T ) ( j ∣ i ) = ( A ( i ∣ j ) ) T (A^T)(j\mid i)=(A(i\mid j))^T ( A T ) ( j ∣ i ) = ( A ( i ∣ j ) ) T
根據轉置不變性,這兩個子矩陣的行列式相同。因此沿 A T A^T A T 的第 j j j 行展開,就是
det ( A T ) = ∑ i = 1 n ( − 1 ) j + i a i j det ( ( A T ) ( j ∣ i ) ) = ∑ i = 1 n ( − 1 ) i + j a i j det ( A ( i ∣ j ) ) \det(A^T)=\sum_{i=1}^n(-1)^{j+i}a_{ij}\det((A^T)(j\mid i))
=\sum_{i=1}^n(-1)^{i+j}a_{ij}\det(A(i\mid j)) det ( A T ) = i = 1 ∑ n ( − 1 ) j + i a ij det (( A T ) ( j ∣ i )) = i = 1 ∑ n ( − 1 ) i + j a ij det ( A ( i ∣ j ))
而這等於 det ( A ) \det(A) det ( A ) ,正是 A A A 沿第 j j j 欄的展開。
例題
沿着零較多的欄去展開 令
A = [ 1 7 0 6 9 8 0 1 5 ] . A=
\begin{bmatrix}
1&7&0\\
6&9&8\\
0&1&5
\end{bmatrix}. A = 1 6 0 7 9 1 0 8 5 . 第三欄有一個零,所以沿第三欄展開:
det ( A ) = 0 ⋅ C 13 + 8 C 23 + 5 C 33 . \det(A)=
0\cdot C_{13}
+8C_{23}
+5C_{33}. det ( A ) = 0 ⋅ C 13 + 8 C 23 + 5 C 33 . 因此
det ( A ) = − 8 ∣ 1 7 0 1 ∣ + 5 ∣ 1 7 6 9 ∣ = − 8 ( 1 ) + 5 ( 9 − 42 ) = − 173. \det(A)
=-8
\begin{vmatrix}
1&7\\
0&1
\end{vmatrix}
+5
\begin{vmatrix}
1&7\\
6&9
\end{vmatrix}
=-8(1)+5(9-42)=-173. det ( A ) = − 8 1 0 7 1 + 5 1 6 7 9 = − 8 ( 1 ) + 5 ( 9 − 42 ) = − 173. 同一個答案當然也可以用行展開得到,但挑對欄會令算式短很多。
欄變換遵守同一套模式
由於轉置不改變行列式,每一條關於行變換的規則,都有一條完全對應的
欄變換版本。
定理
欄變換對行列式的影響 設 B B B 是由方陣 A A A 做一次基本欄變換得到。
交換兩個不同的欄 p p p 與 q q q ,行列式乘上 − 1 -1 − 1 。
把第 p p p 欄乘上 β \beta β ,行列式也乘上 β \beta β ;若變換要可逆,要求
β ≠ 0 \beta\ne0 β = 0 。
若 p ≠ q p\ne q p = q ,把第 q q q 欄改成 C q + c C p C_q+cC_p C q + c C p ,行列式不變。
這些規則就是把行規則應用到 A T A^T A T ,再使用轉置不變性。第三條必須區分來源
欄與目標欄。固定其他欄時,行列式對一欄是線性的;有兩欄相同的矩陣行列式
為零。這兩點正是克拉默替換中多餘項消失的原因。
常見錯誤
不要把一欄加到自己身上 只有 p ≠ q p\ne q p = q 時,C q ← C q + c C p C_q\leftarrow C_q+cC_p C q ← C q + c C p 才是保持行列式的欄加法。如果
p = q p=q p = q ,新欄是 ( 1 + c ) C q (1+c)C_q ( 1 + c ) C q ,行列式會乘以 1 + c 1+c 1 + c ,不會自動保持不變。
例題
用欄變換製造零 考慮
C = [ 3 2 − 1 4 1 6 − 3 − 1 2 ] . C=
\begin{bmatrix}
3&2&-1\\
4&1&6\\
-3&-1&2
\end{bmatrix}. C = 3 4 − 3 2 1 − 1 − 1 6 2 . 按時間次序做欄變換 C 1 ← C 1 − C 2 C_1\leftarrow C_1-C_2 C 1 ← C 1 − C 2 ,再做
C 1 ← C 1 + C 3 C_1\leftarrow C_1+C_3 C 1 ← C 1 + C 3 ;每一步都使用更新後的第一欄:
[ 3 2 − 1 4 1 6 − 3 − 1 2 ] ⟶ [ 1 2 − 1 3 1 6 − 2 − 1 2 ] . \begin{bmatrix}
3&2&-1\\
4&1&6\\
-3&-1&2
\end{bmatrix}
\longrightarrow
\begin{bmatrix}
1&2&-1\\
3&1&6\\
-2&-1&2
\end{bmatrix}. 3 4 − 3 2 1 − 1 − 1 6 2 ⟶ 1 3 − 2 2 1 − 1 − 1 6 2 . 第一步之後,第二步給出
[ 1 2 − 1 3 1 6 − 2 − 1 2 ] ⟶ [ 0 2 − 1 9 1 6 0 − 1 2 ] \begin{bmatrix}
1&2&-1\\
3&1&6\\
-2&-1&2
\end{bmatrix}
\longrightarrow
\begin{bmatrix}
0&2&-1\\
9&1&6\\
0&-1&2
\end{bmatrix} 1 3 − 2 2 1 − 1 − 1 6 2 ⟶ 0 9 0 2 1 − 1 − 1 6 2 這兩步都只是「某欄加上另一欄倍數」,所以行列式沒有改變。現在沿第一
欄展開:
det ( C ) = 9 ( − 1 ) 2 + 1 ∣ 2 − 1 − 1 2 ∣ = − 9 ( 4 − 1 ) = − 27 \det(C)=
9(-1)^{2+1}
\begin{vmatrix}
2&-1\\
-1&2
\end{vmatrix}
=-9(4-1)=-27 det ( C ) = 9 ( − 1 ) 2 + 1 2 − 1 − 1 2 = − 9 ( 4 − 1 ) = − 27 位置 ( 2 , 1 ) (2,1) ( 2 , 1 ) 的負號不能遺漏。根據哪些操作能夠產生有用的零,選擇行變換或欄變換,並在每一步使用更新後的矩陣。
伴隨矩陣把所有餘因子一次過收集起來
單一個餘因子可以處理一次展開;伴隨矩陣則把所有餘因子集中到同一個
矩陣內。
定義
伴隨矩陣 對 n × n n\times n n × n 且 n ≥ 2 n\ge2 n ≥ 2 的矩陣 A = [ a i j ] A=[a_{ij}] A = [ a ij ] ,用 C i j C_{ij} C ij 表示 a i j a_{ij} a ij 的餘因子,
先寫出餘因子矩陣:
[ C 11 C 12 ⋯ C 1 n C 21 C 22 ⋯ C 2 n ⋮ ⋮ ⋱ ⋮ C n 1 C n 2 ⋯ C n n ] . \begin{bmatrix}
C_{11}&C_{12}&\cdots&C_{1n}\\
C_{21}&C_{22}&\cdots&C_{2n}\\
\vdots&\vdots&\ddots&\vdots\\
C_{n1}&C_{n2}&\cdots&C_{nn}
\end{bmatrix}. C 11 C 21 ⋮ C n 1 C 12 C 22 ⋮ C n 2 ⋯ ⋯ ⋱ ⋯ C 1 n C 2 n ⋮ C nn . 把這個餘因子矩陣轉置,便得到 伴隨矩陣
adj ( A ) = [ C 11 C 21 ⋯ C n 1 C 12 C 22 ⋯ C n 2 ⋮ ⋮ ⋱ ⋮ C 1 n C 2 n ⋯ C n n ] . \operatorname{adj}(A)=
\begin{bmatrix}
C_{11}&C_{21}&\cdots&C_{n1}\\
C_{12}&C_{22}&\cdots&C_{n2}\\
\vdots&\vdots&\ddots&\vdots\\
C_{1n}&C_{2n}&\cdots&C_{nn}
\end{bmatrix}. adj ( A ) = C 11 C 12 ⋮ C 1 n C 21 C 22 ⋮ C 2 n ⋯ ⋯ ⋱ ⋯ C n 1 C n 2 ⋮ C nn . 對於 1 × 1 1\times1 1 × 1 的基例,定義 det ( [ a ] ) = a \det([a])=a det ([ a ]) = a 與 adj ( [ a ] ) = [ 1 ] \operatorname{adj}([a])=[1] adj ([ a ]) = [ 1 ] 。於是 [ a ] [ 1 ] = [ a ] = det ( [ a ] ) I 1 [a][1]=[a]=\det([a])I_1 [ a ] [ 1 ] = [ a ] = det ([ a ]) I 1 。下面的餘因子恆等式證明處理 n ≥ 2 n\ge2 n ≥ 2 。
定理
伴隨矩陣恆等式與逆矩陣公式 對每個方陣 A A A ,包括奇異矩陣,
A adj ( A ) = det ( A ) I . A\,\operatorname{adj}(A)=\det(A)I. A adj ( A ) = det ( A ) I . 若 det ( A ) ≠ 0 \det(A)\neq0 det ( A ) = 0 ,則 A A A 可逆,而且
A − 1 = 1 det ( A ) adj ( A ) . A^{-1}=\frac{1}{\det(A)}\operatorname{adj}(A). A − 1 = det ( A ) 1 adj ( A ) .
證明
伴隨矩陣恆等式的對角與非對角情況 下面的證明假設 n ≥ 2 n\ge2 n ≥ 2 ;1 × 1 1\times1 1 × 1 基例已在上面定義。
乘積 A adj ( A ) A \operatorname{adj}(A) A adj ( A ) 的 ( i , j ) (i,j) ( i , j ) 元素是
( A adj ( A ) ) i j = ∑ k = 1 n a i k C j k \bigl(A\operatorname{adj}(A)\bigr)_{ij}=\sum_{k=1}^n a_{ik}C_{jk} ( A adj ( A ) ) ij = k = 1 ∑ n a ik C jk 當 i = j i=j i = j 時,這是沿第 i i i 行的餘因子展開,所以等於 det ( A ) \det(A) det ( A ) 。當
i ≠ j i\ne j i = j 時,用第 i i i 行替換 A A A 的第 j j j 行,得到 B B B 。B B B 有兩行
相同,所以 det ( B ) = 0 \det(B)=0 det ( B ) = 0 。沿被替換的第 j j j 行展開時,刪去第 j j j 行也
刪去了替換內容;因此使用的餘因子正好是 A A A 中的 C j k C_{jk} C jk 。於是
0 = det ( B ) = ∑ k = 1 n a i k C j k 0=\det(B)=\sum_{k=1}^n a_{ik}C_{jk} 0 = det ( B ) = k = 1 ∑ n a ik C jk 所以對角元是 det ( A ) \det(A) det ( A ) ,非對角元是零。只有在 det ( A ) ≠ 0 \det(A)\ne0 det ( A ) = 0 時才可以
除以這個純量並得到逆矩陣;奇異時恆等式仍然成立,但不能除以行列式。
例題
由伴隨矩陣重建 2×2 逆矩陣公式 令
A = [ a b c d ] , det ( A ) = a d − b c ≠ 0. A=
\begin{bmatrix}
a&b\\
c&d
\end{bmatrix},
\qquad
\det(A)=ad-bc\neq0. A = [ a c b d ] , det ( A ) = a d − b c = 0. 其餘因子矩陣是
[ d − c − b a ] , \begin{bmatrix}
d&-c\\
-b&a
\end{bmatrix}, [ d − b − c a ] , 所以
adj ( A ) = [ d − b − c a ] . \operatorname{adj}(A)=
\begin{bmatrix}
d&-b\\
-c&a
\end{bmatrix}. adj ( A ) = [ d − c − b a ] . 因此
A − 1 = 1 a d − b c [ d − b − c a ] . A^{-1}=
\frac{1}{ad-bc}
\begin{bmatrix}
d&-b\\
-c&a
\end{bmatrix}. A − 1 = a d − b c 1 [ d − c − b a ] . 熟悉的 2 × 2 2\times2 2 × 2 逆矩陣公式,就是伴隨矩陣恆等式在二階情況下的寫法。直接相乘可見:
A adj ( A ) = [ a d − b c 0 0 a d − b c ] = ( a d − b c ) I 2 A\operatorname{adj}(A)=\begin{bmatrix}ad-bc&0\\0&ad-bc\end{bmatrix}=(ad-bc)I_2 A adj ( A ) = [ a d − b c 0 0 a d − b c ] = ( a d − b c ) I 2 伴隨矩陣必須取餘因子矩陣的轉置。若直接使用未轉置的餘因子矩陣
[ d − c − b a ] \begin{bmatrix}d&-c\\-b&a\end{bmatrix} [ d − b − c a ] ,乘積一般會出現 a d − b 2 ad-b^2 a d − b 2 、a b − a c ab-ac ab − a c 、c d − b d cd-bd c d − b d 與
a d − c 2 ad-c^2 a d − c 2 ,既不是對角線上同一個純量,也不會令非對角元為零。
克拉默法則是逐個座標求解
定理
克拉默法則 令 A ∈ M n ( R ) A\in M_n(\mathbb{R}) A ∈ M n ( R ) 滿足 det ( A ) ≠ 0 \det(A)\ne0 det ( A ) = 0 ,並令
b ∈ R n b\in\mathbb{R}^n b ∈ R n 。對每個 j j j ,只把 A A A 的第 j j j 欄改成 b b b ,得到
矩陣 M j M_j M j 。
若 x x x 是系統
A x = b Ax=b A x = b 的唯一解,則
x j = det ( M j ) det ( A ) . x_j=\frac{\det(M_j)}{\det(A)}. x j = det ( A ) det ( M j ) .
每個座標都由一個行列式比值表示,明確顯示它對係數矩陣與右端向量的依賴。
證明
固定一欄的線性性隔離出 x_j 把 A A A 的欄寫成 a 1 , … , a n a_1,\ldots,a_n a 1 , … , a n 。由於 det ( A ) ≠ 0 \det(A)\ne0 det ( A ) = 0 ,系統有唯一解,且
b = x 1 a 1 + ⋯ + x n a n b=x_1a_1+\cdots+x_na_n b = x 1 a 1 + ⋯ + x n a n 在 M j M_j M j 中固定第 j j j 欄以外的所有欄,只在第 j j j 欄代入這個和。由欄的
線性性,
det ( M j ) = ∑ k = 1 n x k det ( a 1 , … , a j − 1 , a k , a j + 1 , … , a n ) \det(M_j)=\sum_{k=1}^n x_k\det(a_1,\ldots,a_{j-1},a_k,a_{j+1},\ldots,a_n) det ( M j ) = k = 1 ∑ n x k det ( a 1 , … , a j − 1 , a k , a j + 1 , … , a n ) 當 k ≠ j k\ne j k = j 時,行列式中有兩欄相同,所以該項為零;剩下的 k = j k=j k = j 項是
x j det ( A ) x_j \det(A) x j det ( A ) 。因此
det ( M j ) = x j det ( A ) , x j = det ( M j ) det ( A ) \det(M_j)=x_j\det(A),
\qquad x_j=\frac{\det(M_j)}{\det(A)} det ( M j ) = x j det ( A ) , x j = det ( A ) det ( M j ) 替換過程中欄的次序從未改變,所以沒有額外符號。
替換一欄為何能隔離一個未知量
下面的視覺說明會追蹤克拉默法則背後的行列式邏輯:把其中一欄換成右邊
向量,使用欄線性,再看重複欄如何令多餘項消失。
對於 n ≥ 2 n\ge2 n ≥ 2 ,已建立的逆矩陣公式給出了同一個座標公式的另一種讀法。因為 det ( A ) ≠ 0 \det(A)\ne0 det ( A ) = 0 ,有 adj ( A ) = det ( A ) A − 1 \operatorname{adj}(A)=\det(A)A^{-1} adj ( A ) = det ( A ) A − 1 。先用 A − 1 A^{-1} A − 1 左乘 A x = b Ax=b A x = b ,再代入這個恆等式,得到
det ( A ) x = adj ( A ) b x j = ∑ i = 1 n C i j b i det ( A ) \det(A)x=\operatorname{adj}(A)b
\qquad x_j=\frac{\sum_{i=1}^n C_{ij}b_i}{\det(A)} det ( A ) x = adj ( A ) b x j = det ( A ) ∑ i = 1 n C ij b i
這個分子正好是 det ( M j ) \det(M_j) det ( M j ) :沿替換後的第 j j j 欄展開 M j M_j M j 。刪去該欄後,向量 b b b 被刪去,留下的子式與 A A A 中相同,因此附在 b i b_i b i 上的餘因子就是 C i j C_{ij} C ij 。所以伴隨矩陣路線與固定一欄的線性性路線最終給出相同的帶符號和。對於 n = 1 n=1 n = 1 ,寫 A = [ a ] A=[a] A = [ a ] 、b = [ b 1 ] b=[b_1] b = [ b 1 ] 且 a ≠ 0 a\ne0 a = 0 ;此時直接得到 x 1 = b 1 / a x_1=b_1/a x 1 = b 1 / a 。
例題
3×3 伴隨矩陣與三個替換行列式 令
A = [ 1 2 3 1 0 1 1 1 − 1 ] b = [ 2 3 1 ] A=\begin{bmatrix}1&2&3\\1&0&1\\1&1&-1\end{bmatrix}
\qquad b=\begin{bmatrix}2\\3\\1\end{bmatrix} A = 1 1 1 2 0 1 3 1 − 1 b = 2 3 1 沿第一行展開:
det ( A ) = 1 ( − 1 ) − 2 ( − 2 ) + 3 ( 1 ) = 6 \det(A)=1(-1)-2(-2)+3(1)=6 det ( A ) = 1 ( − 1 ) − 2 ( − 2 ) + 3 ( 1 ) = 6 餘因子矩陣為
[ − 1 2 1 5 − 4 1 2 2 − 2 ] \begin{bmatrix}-1&2&1\\5&-4&1\\2&2&-2\end{bmatrix} − 1 5 2 2 − 4 2 1 1 − 2 轉置後得到
adj ( A ) = [ − 1 5 2 2 − 4 2 1 1 − 2 ] \operatorname{adj}(A)=\begin{bmatrix}-1&5&2\\2&-4&2\\1&1&-2\end{bmatrix} adj ( A ) = − 1 2 1 5 − 4 1 2 2 − 2 把第一、第二、第三欄分別替換成 b b b :
M 1 = [ 2 2 3 3 0 1 1 1 − 1 ] , M 2 = [ 1 2 3 1 3 1 1 1 − 1 ] , M 3 = [ 1 2 2 1 0 3 1 1 1 ] M_1=\begin{bmatrix}2&2&3\\3&0&1\\1&1&-1\end{bmatrix},\quad
M_2=\begin{bmatrix}1&2&3\\1&3&1\\1&1&-1\end{bmatrix},\quad
M_3=\begin{bmatrix}1&2&2\\1&0&3\\1&1&1\end{bmatrix} M 1 = 2 3 1 2 0 1 3 1 − 1 , M 2 = 1 1 1 2 3 1 3 1 − 1 , M 3 = 1 1 1 2 0 1 2 3 1 沿第一行計算:
det ( M 1 ) = − 2 + 8 + 9 = 15 det ( M 2 ) = − 4 + 4 − 6 = − 6 det ( M 3 ) = − 3 + 4 + 2 = 3 \det(M_1)=-2+8+9=15\qquad
\det(M_2)=-4+4-6=-6\qquad
\det(M_3)=-3+4+2=3 det ( M 1 ) = − 2 + 8 + 9 = 15 det ( M 2 ) = − 4 + 4 − 6 = − 6 det ( M 3 ) = − 3 + 4 + 2 = 3 所以
( x 1 , x 2 , x 3 ) = ( 15 6 , − 6 6 , 3 6 ) = ( 5 2 , − 1 , 1 2 ) (x_1,x_2,x_3)=\left(\frac{15}{6},\frac{-6}{6},\frac36\right)
=\left(\frac52,-1,\frac12\right) ( x 1 , x 2 , x 3 ) = ( 6 15 , 6 − 6 , 6 3 ) = ( 2 5 , − 1 , 2 1 ) 代回三行分別得到 5 / 2 − 2 + 3 / 2 = 2 5/2-2+3/2=2 5/2 − 2 + 3/2 = 2 、5 / 2 + 1 / 2 = 3 5/2+1/2=3 5/2 + 1/2 = 3 、
5 / 2 − 1 − 1 / 2 = 1 5/2-1-1/2=1 5/2 − 1 − 1/2 = 1 ,與 b b b 一致。
這些數值還提供了對符號與伴隨矩陣路線的獨立檢查。把上面列出的伴隨矩陣乘以 b b b ,得到
adj ( A ) b = [ 15 − 6 3 ] \operatorname{adj}(A)b=\begin{bmatrix}15\\-6\\3\end{bmatrix} adj ( A ) b = 15 − 6 3
因此伴隨矩陣恆等式給出 x = adj ( A ) b / det ( A ) x=\operatorname{adj}(A)b/\det(A) x = adj ( A ) b / det ( A ) ,恰好是三個替換行列式所得的向量。例如第一個分量是 − 1 ( 2 ) + 5 ( 3 ) + 2 ( 1 ) = 15 -1(2)+5(3)+2(1)=15 − 1 ( 2 ) + 5 ( 3 ) + 2 ( 1 ) = 15 ;餘因子矩陣中的符號在相乘前已經包含。
例題
用克拉默法則解一個 2×2 系統 求解
{ 2 x 1 + x 2 = 5 , x 1 + 3 x 2 = 7. \begin{cases}
2x_1+x_2=5,\\
x_1+3x_2=7.
\end{cases} { 2 x 1 + x 2 = 5 , x 1 + 3 x 2 = 7. 寫成
A = [ 2 1 1 3 ] , b = [ 5 7 ] . A=
\begin{bmatrix}
2&1\\
1&3
\end{bmatrix},
\qquad
b=
\begin{bmatrix}
5\\
7
\end{bmatrix}. A = [ 2 1 1 3 ] , b = [ 5 7 ] . 先算
det ( A ) = 2 ⋅ 3 − 1 ⋅ 1 = 5. \det(A)=2\cdot3-1\cdot1=5. det ( A ) = 2 ⋅ 3 − 1 ⋅ 1 = 5. 把第一欄換成 b b b :
M 1 = [ 5 1 7 3 ] , det ( M 1 ) = 15 − 7 = 8. M_1=
\begin{bmatrix}
5&1\\
7&3
\end{bmatrix},
\qquad
\det(M_1)=15-7=8. M 1 = [ 5 7 1 3 ] , det ( M 1 ) = 15 − 7 = 8. 把第二欄換成 b b b :
M 2 = [ 2 5 1 7 ] , det ( M 2 ) = 14 − 5 = 9. M_2=
\begin{bmatrix}
2&5\\
1&7
\end{bmatrix},
\qquad
\det(M_2)=14-5=9. M 2 = [ 2 1 5 7 ] , det ( M 2 ) = 14 − 5 = 9. 因此
x 1 = 8 5 , x 2 = 9 5 . x_1=\frac{8}{5},
\qquad
x_2=\frac{9}{5}. x 1 = 5 8 , x 2 = 5 9 . 代回可檢查結果:2 ( 8 / 5 ) + 9 / 5 = 5 2(8/5)+9/5=5 2 ( 8/5 ) + 9/5 = 5 ,以及 8 / 5 + 3 ( 9 / 5 ) = 7 8/5+3(9/5)=7 8/5 + 3 ( 9/5 ) = 7 。
常見錯誤
常見錯誤
克拉默法則不是所有線性系統都可用 克拉默法則要求係數矩陣必須是方陣,而且其行列式非零。若係數矩陣不是方陣,或者係數矩陣本身奇異,克拉默法則便不能使用。即使條件滿足,
對大系統來說,它通常亦比高斯消元慢。
反例模式
替換行列式全為零不能判定奇異系統 令 A = diag ( 1 , 0 , 0 ) A=\operatorname{diag}(1,0,0) A = diag ( 1 , 0 , 0 ) ,這是一個非零奇異矩陣。若
b = e 1 = ( 1 , 0 , 0 ) T b=e_1=(1,0,0)^T b = e 1 = ( 1 , 0 , 0 ) T ,方程為 x 1 = 1 x_1=1 x 1 = 1 、0 = 0 0=0 0 = 0 、0 = 0 0=0 0 = 0 ,解為 ( 1 , s , t ) (1,s,t) ( 1 , s , t ) 。若
b = e 2 = ( 0 , 1 , 0 ) T b=e_2=(0,1,0)^T b = e 2 = ( 0 , 1 , 0 ) T ,第二個方程為 0 = 1 0=1 0 = 1 ,因此系統無解。
明確寫出替換後的欄三元組。對 b = e 1 b=e_1 b = e 1 ,( M 1 ) = ( e 1 , 0 , 0 ) (M_1)=(e_1,0,0) ( M 1 ) = ( e 1 , 0 , 0 ) 、
( M 2 ) = ( e 1 , e 1 , 0 ) (M_2)=(e_1,e_1,0) ( M 2 ) = ( e 1 , e 1 , 0 ) 、( M 3 ) = ( e 1 , 0 , e 1 ) (M_3)=(e_1,0,e_1) ( M 3 ) = ( e 1 , 0 , e 1 ) ;每個行列式都因含零欄或
重複欄而為零。對 b = e 2 b=e_2 b = e 2 ,( M 1 ) = ( e 2 , 0 , 0 ) (M_1)=(e_2,0,0) ( M 1 ) = ( e 2 , 0 , 0 ) 、( M 2 ) = ( e 1 , e 2 , 0 ) (M_2)=(e_1,e_2,0) ( M 2 ) = ( e 1 , e 2 , 0 ) 、
( M 3 ) = ( e 1 , 0 , e 2 ) (M_3)=(e_1,0,e_2) ( M 3 ) = ( e 1 , 0 , e 2 ) ;每個三元組都含零欄而使行列式為零,其中 M 1 M_1 M 1
含有兩欄零向量。因此六個形式比值全都是未定義的 0 / 0 0/0 0/0 。使用克拉默法則
前必須要求 det ( A ) ≠ 0 \det(A)\ne0 det ( A ) = 0 。奇異系統應對增廣矩陣行化簡,檢查相容性與自由
變數。
快速檢查
解答 · 答案 不會。det ( A T ) = det ( A ) \det(A^T)=\det(A) det ( A T ) = det ( A ) 。
解答 · 答案 把某一欄改成「原本那一欄加上另一條不同欄的倍數」,會保留行列式。
解答 · 答案 當係數矩陣是方陣而且可逆,也就是說它的行列式非零時,才可使用克拉
默法則。
練習
思考檢查
用欄展開計算 det [ 1 0 2 3 4 5 0 0 6 ] \det\begin{bmatrix}1&0&2\\3&4&5\\0&0&6\end{bmatrix} det 1 3 0 0 4 0 2 5 6 。
解答 · 引導解答 沿第二欄展開:
det = 4 ( − 1 ) 2 + 2 ∣ 1 2 0 6 ∣ = 4 ( 6 ) = 24. \det=
4(-1)^{2+2}
\begin{vmatrix}
1&2\\
0&6
\end{vmatrix}
=4(6)=24. det = 4 ( − 1 ) 2 + 2 1 0 2 6 = 4 ( 6 ) = 24.
思考檢查
對 A = [ 1 2 3 4 ] A=\begin{bmatrix}1&2\\3&4\end{bmatrix} A = [ 1 3 2 4 ] ,寫出 adj ( A ) \operatorname{adj}(A) adj ( A ) 。
解答 · 引導解答 餘因子是 C 11 = 4 C_{11}=4 C 11 = 4 、C 12 = − 3 C_{12}=-3 C 12 = − 3 、C 21 = − 2 C_{21}=-2 C 21 = − 2 、C 22 = 1 C_{22}=1 C 22 = 1 ,因此
adj ( A ) = [ 4 − 2 − 3 1 ] . \operatorname{adj}(A)=
\begin{bmatrix}
4&-2\\
-3&1
\end{bmatrix}. adj ( A ) = [ 4 − 3 − 2 1 ] .
思考檢查
用克拉默法則求系統 x 1 + x 2 = 3 x_1+x_2=3 x 1 + x 2 = 3 、2 x 1 − x 2 = 0 2x_1-x_2=0 2 x 1 − x 2 = 0 的 x 1 x_1 x 1 。 只需要 det ( A ) \det(A) det ( A ) 與 det ( M 1 ) \det(M_1) det ( M 1 ) 。
解答 · 引導解答 此時
A = [ 1 1 2 − 1 ] , b = [ 3 0 ] . A=
\begin{bmatrix}
1&1\\
2&-1
\end{bmatrix},
\qquad
b=
\begin{bmatrix}
3\\
0
\end{bmatrix}. A = [ 1 2 1 − 1 ] , b = [ 3 0 ] . 所以
det ( A ) = − 1 − 2 = − 3 , M 1 = [ 3 1 0 − 1 ] , det ( M 1 ) = − 3. \det(A)=-1-2=-3,
\qquad
M_1=
\begin{bmatrix}
3&1\\
0&-1
\end{bmatrix},
\qquad
\det(M_1)=-3. det ( A ) = − 1 − 2 = − 3 , M 1 = [ 3 0 1 − 1 ] , det ( M 1 ) = − 3. 因此
x 1 = det ( M 1 ) det ( A ) = 1. x_1=\frac{\det(M_1)}{\det(A)}=1. x 1 = det ( A ) det ( M 1 ) = 1.
相關筆記
若你對行變換的記帳仍未穩固,可先回看
7.2 行變換、乘積與可逆性 。
同時亦應保留
3.3 轉置、對稱矩陣與反對稱矩陣
在旁,因為本節把那一章的轉置觀點推到行列式。
若要回到線性系統語言,可連回
1.1 方程與解集
與 2.3 高斯消元與 RREF 。