有限實矩陣乘法法則的證明
設 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 。這個證明沒有調用下一節才會出現的行
替換規則。
指標與計算策略
每一項都要同時保留三個對象:所選項、刪去一行一欄後得到的子矩陣,以及取該子矩陣行列式所得的子式。先按原矩陣中的行列位置寫出棋盤符號,再計算子式。若繼續展開子式,應使用子式自己的局部指標;局部指標不會取代外層餘因子的符號。
任意行、任意欄展開定理使展開線可以有策略地選擇。優先選擇零多或剩餘子式較簡單的行或欄,並在計算前說明理由。零項會立即刪去分支;零子式則必須由它自己的計算證明。第一行遞迴式定義行列式,任意行欄展開則是容許這種計算選擇的定理。
上一節用餘因子展開定義了行列式。這個定義是基礎,但面對較大的矩陣,
逐層展開通常不是最有效率的計算方法。行化簡提供另一條路:把矩陣化
成較容易處理的形式,在每一步記下準確的行列式倍數,最後從三角矩陣
的對角線讀出結果。
行變換的倍數規則給出以下恆等式:
行變換規則 ⟹ det ( E X ) = det ( E ) det ( X ) ⟹ det ( A B ) = det ( A ) det ( B ) ⟹ det ( A ) ≠ 0 ⟺ A 可逆 \text{行變換規則}\Longrightarrow\det(EX)=\det(E)\det(X)
\Longrightarrow\det(AB)=\det(A)\det(B)
\Longrightarrow\det(A)\ne0\Longleftrightarrow A\text{ 可逆} 行變換規則 ⟹ det ( EX ) = det ( E ) det ( X ) ⟹ det ( A B ) = det ( A ) det ( B ) ⟹ det ( A ) = 0 ⟺ A 可逆
凡是寫出行列式,矩陣都默認為方陣;在乘積中,兩個方陣的尺寸相同。
追蹤消元怎樣改變行列式
行化簡會改變矩陣元素,但各類操作對行列式的影響不同:換行使它變號,縮放一行使它乘以同一個數,把一行的倍數加到另一行則使它保持不變。
概念視角 算法
把消元讀成行列式記帳 在每一個箭頭旁寫出操作及其行列式倍數:換行是 − 1 -1 − 1 ,非零縮放是
β \beta β ,兩條不同的行作替換是 1 1 1 。對角線乘積屬於最後的三角矩陣,
記帳表則負責把這個值準確地傳回初始矩陣。
可逆操作及其矩陣
定義
基本行變換與基本矩陣 本節在實數域上討論。設 A A A 是 n × n n\times n n × n 矩陣。基本行變換包括以下三類;涉及兩條行時,
行號必須不同:
R p ↔ R q R_p\leftrightarrow R_q R p ↔ R q :交換第 p p p 、q q q 行;
R p ← β R p R_p\leftarrow\beta R_p R p ← β R p ,其中 β ≠ 0 \beta\ne0 β = 0 ;
R q ← R q + α R p R_q\leftarrow R_q+\alpha R_p R q ← R q + α R p 。
把同一操作套用在 I n I_n I n 上所得的矩陣稱為基本矩陣 E E E 。左乘 E E E 會
把同一操作套用到任意 n × m n\times m n × m 矩陣 X X X ,結果就是 E X EX EX 。要求
β ≠ 0 \beta\ne0 β = 0 ,是因為基本行變換必須可逆。
當 β = 0 \beta=0 β = 0 時,縮放規則仍然給出正確等式:矩陣有零行,行列式就是
零。但零縮放不可逆,所以不能把它當作稍後要撤銷的基本因子。分清
「等式仍成立」和「操作可逆」這兩件事,可以避免錯誤地約去零因子。
每類行變換的乘數
定理
三種行變換對行列式的影響 對 n × n n\times n n × n 矩陣 A A A ,其中 1 ≤ p , q ≤ n 1\le p,q\le n 1 ≤ p , q ≤ n ,凡涉及兩條行時均要求
p ≠ q p\ne q p = q :
若 B B B 由 A A A 交換第 p p p 、q q q 行得到,則
det ( B ) = − det ( A ) \det(B)=-\det(A) det ( B ) = − det ( A ) ;
若 B B B 由 A A A 把第 p p p 行乘以 β \beta β 得到,則
det ( B ) = β det ( A ) \det(B)=\beta\det(A) det ( B ) = β det ( A ) ,包括 β = 0 \beta=0 β = 0 的情形;
若 p ≠ q p\ne q p = q ,且 B B B 由 A A A 作
R q ← R q + α R p R_q\leftarrow R_q+\alpha R_p R q ← R q + α R p 得到,則 det ( B ) = det ( A ) \det(B)=\det(A) det ( B ) = det ( A ) 。
第一條是行列式的交錯性。第二條固定其他各行,只對第 p p p 行使用線性
性,因此把這一行換成 β a p \beta a_p β a p 會產生倍數 β \beta β 。
行替換中的兩個行號必須不同。若寫成 R p ← R p + α R p R_p\leftarrow R_p+\alpha R_p R p ← R p + α R p ,新行是 ( 1 + α ) a p (1+\alpha)a_p ( 1 + α ) a p ,所以行列式乘以 1 + α 1+\alpha 1 + α 。
證明
用多重線性證明行替換規則 把 A A A 的各行寫成 a 1 , … , a n a_1,\ldots,a_n a 1 , … , a n 。令 C C C 把第 q q q 行替換為
a q + α a p a_q+\alpha a_p a q + α a p ,其中 p ≠ q p\ne q p = q 。再令 A ⋆ A^\star A ⋆ 把第 q q q 行換成
a p a_p a p 。由於其他各行都相同,多重線性給出
det ( C ) = det ( A ) + α det ( A ⋆ ) \det(C)=\det(A)+\alpha\det(A^\star) det ( C ) = det ( A ) + α det ( A ⋆ ) A ⋆ A^\star A ⋆ 的第 p p p 、第 q q q 行相同,所以 det ( A ⋆ ) = 0 \det(A^\star)=0 det ( A ⋆ ) = 0 。因此
det ( C ) = det ( A ) \det(C)=\det(A) det ( C ) = det ( A ) 。這個證明清楚顯示額外項為何消失,也顯示兩條行必
須是不同的行。
定理
混合行變換的記帳公式 若一串基本行變換把 A A A 變成 U U U ,其中有 s s s 次換行,並把行分別乘以
非零數 β 1 , … , β q \beta_1,\ldots,\beta_q β 1 , … , β q ,則
det ( U ) = ( − 1 ) s ( ∏ j = 1 q β j ) det ( A ) \det(U)=(-1)^s\left(\prod_{j=1}^{q}\beta_j\right)\det(A) det ( U ) = ( − 1 ) s ( j = 1 ∏ q β j ) det ( A ) 因此
det ( A ) = det ( U ) ( − 1 ) s ∏ j = 1 q β j \det(A)=\frac{\det(U)}{(-1)^s\prod_{j=1}^{q}\beta_j} det ( A ) = ( − 1 ) s ∏ j = 1 q β j det ( U ) 行替換的倍數是 1 1 1 ,所以不出現在分母中。
若 U U U 是方形的行階梯形,它同時是上三角矩陣,並且
det ( U ) \det(U) det ( U ) 等於對角線元素的乘積。零行會令這個乘積為零;由於記帳分母
只含非零因素,原矩陣的行列式也必為零。若這個行階梯形沒有零行,每個
對角位置都是主元,對角線乘積才必為非零。任意上三角矩陣未必如此,例
如 [ 0 1 0 1 ] \begin{bmatrix}0&1\\0&1\end{bmatrix} [ 0 0 1 1 ] 是上三角矩陣但行列式為零。
用記帳表執行行化簡
開始前先寫清楚矩陣的尺寸,並標出每一行在當前步驟的作用。每一步都要
是合法的基本變換:換行或行替換涉及的行號必須不同,縮放因素必須是非
零數。接着按以下次序處理:
在每個主元下方消去元素;可以用行替換時就優先使用行替換。需要移動
主元時,立即在記帳表中加入一次換行。
若把主元行正規化,立刻記下縮放數 β \beta β ,包括符號和出現次序。最
後的對角線乘積屬於縮放後矩陣,所以必須除回這個因素。
到達上三角矩陣便停止。若出現零行,不應再把它當作主元作除法;此時
行列式已由零行定理確定為零。
乘出最後的對角線元素,再使用
det ( A ) = det ( U ) / ( ( − 1 ) s ∏ β j ) \det(A)=\det(U)/((-1)^s\prod\beta_j) det ( A ) = det ( U ) / (( − 1 ) s ∏ β j ) ,不要靠記憶在腦中補回符號。
不同的消元路線可能產生不同的中間矩陣和主元,但各自的記帳結果必須回
到同一個初始行列式。這是檢查算術的實用方法,也是定理保證的結果。解
A x = b Ax=b A x = b 時同樣要留意範圍:基本行變換作用在完整的 [ A ∣ b ] [A\mid b] [ A ∣ b ] 上;行
列式記帳則只對方形的係數矩陣 A A A 讀值。
從初等因子到乘積定理
對單個基本矩陣 E E E ,當 X X X 也是同尺寸方陣時,E X EX EX 仍是方陣。E E E 是把操作套用於 I n I_n I n 的結果,所以三條規則分別
給出 det ( E ) = − 1 , β , 1 \det(E)=-1,\beta,1 det ( E ) = − 1 , β , 1 。對 X X X 套用同一規則即得
det ( E X ) = det ( E ) det ( X ) \det(EX)=\det(E)\det(X) det ( EX ) = det ( E ) det ( X ) 。若有 E s ⋯ E 1 E_s\cdots E_1 E s ⋯ E 1 ,歸納得到
det ( E s ⋯ E 1 X ) = ( ∏ j = 1 s det ( E j ) ) det ( X ) \det(E_s\cdots E_1X)=\left(\prod_{j=1}^{s}\det(E_j)\right)\det(X) det ( E s ⋯ E 1 X ) = ( j = 1 ∏ s det ( E j ) ) det ( X )
若 A A A 可逆,前面關於行化簡的結論給出 A = E s ⋯ E 1 A=E_s\cdots E_1 A = E s ⋯ E 1 。先取
X = I n X=I_n X = I n ,再取 X = B X=B X = B ,便有
det ( A ) = ∏ j det ( E j ) ≠ 0 det ( A B ) = ( ∏ j det ( E j ) ) det ( B ) \det(A)=\prod_j\det(E_j)\ne0\qquad
\det(AB)=\left(\prod_j\det(E_j)\right)\det(B) det ( A ) = j ∏ det ( E j ) = 0 det ( A B ) = ( j ∏ det ( E j ) ) det ( B )
若 A A A 奇異,把它化為行階梯形 R R R 。早先的可逆性判準說明 R R R 有零行。
設 E s ⋯ E 1 A = R E_s\cdots E_1A=R E s ⋯ E 1 A = R ,並令 c = ∏ j det ( E j ) c=\prod_j\det(E_j) c = ∏ j det ( E j ) 。每個因素非零,
因為每個操作都可逆;而 R R R 的零行在 R B RB RB 中仍是零行,所以
c det ( A ) = det ( R ) = 0 c det ( A B ) = det ( R B ) = 0 c\det(A)=\det(R)=0\qquad c\det(AB)=\det(RB)=0 c det ( A ) = det ( R ) = 0 c det ( A B ) = det ( RB ) = 0
取消非零的 c c c 得 det ( A ) = 0 \det(A)=0 det ( A ) = 0 和 det ( A B ) = 0 \det(AB)=0 det ( A B ) = 0 ,兩邊再次相等。
記號 E s ⋯ E 1 A E_s\cdots E_1A E s ⋯ E 1 A 也記錄了操作次序:最右邊的 E 1 E_1 E 1 先作用,接着
是 E 2 E_2 E 2 ,如此類推。證明沒有使用矩陣乘法的交換性。所有因素都是
n × n n\times n n × n ,而 B B B 也是同尺寸方陣,所以每一個中間乘積都有定義;這
個尺寸條件是定理的一部分,不是可有可無的記號約定。
定理
乘積的行列式 若 A A A 、B B B 是同尺寸的方陣,則
det ( A B ) = det ( A ) det ( B ) \det(AB)=\det(A)\det(B) det ( A B ) = det ( A ) det ( B )
雖然 A B AB A B 與 B A BA B A 通常不是同一個矩陣,但純量乘法可以交換,因此也有
det ( A B ) = det ( A ) det ( B ) = det ( B ) det ( A ) = det ( B A ) \det(AB)=\det(A)\det(B)=\det(B)\det(A)=\det(BA) det ( A B ) = det ( A ) det ( B ) = det ( B ) det ( A ) = det ( B A )
行列式與可逆性
定理
用行列式判定可逆性 對方陣 A A A ,
A 可逆 ⟺ det ( A ) ≠ 0 A\text{ 可逆}\quad\Longleftrightarrow\quad\det(A)\ne0 A 可逆 ⟺ det ( A ) = 0
乘積定理的證明已經給出兩個方向:可逆矩陣可以分解為行列式非零的基本矩陣;奇異矩陣則化為含零行的行階梯形。消元的總倍數非零,因此後一種情況的原矩陣行列式也為零。
例題詳解
例題
只用行替換:不累積行列式因素 令
A = [ 1 2 3 2 5 7 3 8 10 ] A=\begin{bmatrix}1&2&3\\2&5&7\\3&8&10\end{bmatrix} A = 1 2 3 2 5 8 3 7 10 按順序做行替換:
[ 1 2 3 2 5 7 3 8 10 ] → R 2 ← R 2 − 2 R 1 , R 3 ← R 3 − 3 R 1 [ 1 2 3 0 1 1 0 2 1 ] → R 3 ← R 3 − 2 R 2 [ 1 2 3 0 1 1 0 0 − 1 ] = U \begin{bmatrix}1&2&3\\2&5&7\\3&8&10\end{bmatrix}
\xrightarrow{R_2\leftarrow R_2-2R_1,\;R_3\leftarrow R_3-3R_1}
\begin{bmatrix}1&2&3\\0&1&1\\0&2&1\end{bmatrix}
\xrightarrow{R_3\leftarrow R_3-2R_2}
\begin{bmatrix}1&2&3\\0&1&1\\0&0&-1\end{bmatrix}=U 1 2 3 2 5 8 3 7 10 R 2 ← R 2 − 2 R 1 , R 3 ← R 3 − 3 R 1 1 0 0 2 1 2 3 1 1 R 3 ← R 3 − 2 R 2 1 0 0 2 1 0 3 1 − 1 = U 每一步都把一行的倍數加到另一條不同的行上,記帳倍數都是 1 1 1 。故
det ( A ) = det ( U ) = 1 ⋅ 1 ⋅ ( − 1 ) = − 1 \det(A)=\det(U)=1\cdot1\cdot(-1)=-1 det ( A ) = det ( U ) = 1 ⋅ 1 ⋅ ( − 1 ) = − 1 第二步使用已更新的第 2 2 2 行;操作順序影響中間矩陣,但不增加行列式因
素。
例題
換行、縮放與替換的混合記帳 令
B = [ 0 1 4 3 ] B=\begin{bmatrix}0&1\\4&3\end{bmatrix} B = [ 0 4 1 3 ] 繼續化到單位矩陣:
[ 0 1 4 3 ] → R 1 ↔ R 2 [ 4 3 0 1 ] → R 1 ← 1 4 R 1 [ 1 3 4 0 1 ] → R 1 ← R 1 − 3 4 R 2 I 2 \begin{bmatrix}0&1\\4&3\end{bmatrix}
\xrightarrow{R_1\leftrightarrow R_2}
\begin{bmatrix}4&3\\0&1\end{bmatrix}
\xrightarrow{R_1\leftarrow\frac14R_1}
\begin{bmatrix}1&\frac34\\0&1\end{bmatrix}
\xrightarrow{R_1\leftarrow R_1-\frac34R_2}I_2 [ 0 4 1 3 ] R 1 ↔ R 2 [ 4 0 3 1 ] R 1 ← 4 1 R 1 [ 1 0 4 3 1 ] R 1 ← R 1 − 4 3 R 2 I 2 三步的倍數依次為 − 1 , 1 4 , 1 -1,\frac14,1 − 1 , 4 1 , 1 ,所以
1 = det ( I 2 ) = ( − 1 ) ( 1 4 ) det ( B ) det ( B ) = − 4 1=\det(I_2)=(-1)\left(\frac14\right)\det(B)
\qquad \det(B)=-4 1 = det ( I 2 ) = ( − 1 ) ( 4 1 ) det ( B ) det ( B ) = − 4 中間三角矩陣的行列式為 4 4 4 ,與第一步的關係
4 = − det ( B ) 4=-\det(B) 4 = − det ( B ) 完全一致;最後的行替換只消去非對角線元素,並保持縮放修
正後的矩陣行列式 1 1 1 。
例題
參數、子式計算與核向量檢驗 令
A ( x ) = [ 2 1 0 1 0 1 1 1 1 0 0 x 0 2 3 1 ] A(x)=\begin{bmatrix}2&1&0&1\\0&1&1&1\\1&0&0&x\\0&2&3&1\end{bmatrix} A ( x ) = 2 0 1 0 1 1 0 2 0 1 0 3 1 1 x 1 沿第一欄展開。位置 ( 3 , 1 ) (3,1) ( 3 , 1 ) 的餘因子符號為 + 1 +1 + 1 ,故
det ( A ) = 2 ∣ 1 1 1 0 0 x 2 3 1 ∣ + ∣ 1 0 1 1 1 1 2 3 1 ∣ \det(A)=2\begin{vmatrix}1&1&1\\0&0&x\\2&3&1\end{vmatrix}
+\begin{vmatrix}1&0&1\\1&1&1\\2&3&1\end{vmatrix} det ( A ) = 2 1 0 2 1 0 3 1 x 1 + 1 1 2 0 1 3 1 1 1 第一個子式沿第二行展開,唯一可能非零的項是第三項,符號為
( − 1 ) 2 + 3 = − 1 (-1)^{2+3}=-1 ( − 1 ) 2 + 3 = − 1 :
∣ 1 1 1 0 0 x 2 3 1 ∣ = − x ∣ 1 1 2 3 ∣ = − x ( 3 − 2 ) = − x \begin{vmatrix}1&1&1\\0&0&x\\2&3&1\end{vmatrix}
=-x\begin{vmatrix}1&1\\2&3\end{vmatrix}=-x(3-2)=-x 1 0 2 1 0 3 1 x 1 = − x 1 2 1 3 = − x ( 3 − 2 ) = − x 第二個子式沿第一行展開:
∣ 1 0 1 1 1 1 2 3 1 ∣ = ∣ 1 1 3 1 ∣ + ∣ 1 1 2 3 ∣ = ( − 2 ) + 1 = − 1 \begin{vmatrix}1&0&1\\1&1&1\\2&3&1\end{vmatrix}
=\begin{vmatrix}1&1\\3&1\end{vmatrix}+\begin{vmatrix}1&1\\2&3\end{vmatrix}
=(-2)+1=-1 1 1 2 0 1 3 1 1 1 = 1 3 1 1 + 1 2 1 3 = ( − 2 ) + 1 = − 1 於是 det ( A ) = − 2 x − 1 \det(A)=-2x-1 det ( A ) = − 2 x − 1 ,所以矩陣奇異,當且僅當 x = − 1 2 x=-\frac12 x = − 2 1 。在這
個值下,向量 v = ( 1 , − 4 , 2 , 2 ) T v=(1,-4,2,2)^T v = ( 1 , − 4 , 2 , 2 ) T 滿足
A v = [ 2 − 4 + 2 − 4 + 2 + 2 1 − 1 − 8 + 6 + 2 ] = [ 0 0 0 0 ] Av=\begin{bmatrix}2-4+2\\-4+2+2\\1-1\\-8+6+2\end{bmatrix}
=\begin{bmatrix}0\\0\\0\\0\end{bmatrix} A v = 2 − 4 + 2 − 4 + 2 + 2 1 − 1 − 8 + 6 + 2 = 0 0 0 0 這是對奇異性的直接檢驗。其他 x x x 令行列式非零,因此齊次系統只有零
解。
定理
逆矩陣與整數冪 若 A A A 可逆,則
det ( A − 1 ) = 1 det ( A ) \det(A^{-1})=\frac1{\det(A)} det ( A − 1 ) = det ( A ) 1 對任意方陣 A A A 和正整數 m m m ,
det ( A m ) = ( det A ) m \det(A^m)=(\det A)^m det ( A m ) = ( det A ) m 若 A A A 可逆,同一公式對所有整數 m m m (包括負整數)成立。
由 A − 1 A = I n A^{-1}A=I_n A − 1 A = I n 及乘積公式,det ( A − 1 ) det ( A ) = 1 \det(A^{-1})\det(A)=1 det ( A − 1 ) det ( A ) = 1 。正整數冪由
有限次重複乘法得到。約定任意方陣都滿足 A 0 = I n A^0=I_n A 0 = I n ,即使 A A A 奇異;此
時 det ( A 0 ) = 1 \det(A^0)=1 det ( A 0 ) = 1 ,不把它寫成可能引出 0 0 0^0 0 0 的 ( det A ) 0 (\det A)^0 ( det A ) 0 。負冪只
有在 A A A 可逆時才定義,並由 A m = ( A − 1 ) − m A^m=(A^{-1})^{-m} A m = ( A − 1 ) − m 得到相應公式。
常見錯誤
常見錯誤
行變換必須作用於整個增廣矩陣 只有把行變換作用於整個增廣矩陣 [ A ∣ b ] [A\mid b] [ A ∣ b ] (包括右端欄)時,解集才
保持不變。不能無條件地說「行等價的係數矩陣有相同解集」。例如
x = 1 x=1 x = 1 的增廣矩陣是 [ 1 ∣ 1 ] [1\mid1] [ 1 ∣ 1 ] ,而 2 x = 1 2x=1 2 x = 1 的增廣矩陣是 [ 2 ∣ 1 ] [2\mid1] [ 2 ∣ 1 ] ;
只改變係數而固定右端會改變解。齊次系統的增廣欄全為零,所以在那個
特殊情形中只寫係數矩陣的行變換沒有問題。
另外,忘記除回縮放因素、漏數換行次數,或把
R p ← R p + α R p R_p\leftarrow R_p+\alpha R_p R p ← R p + α R p 當成行列式不變,都是常見錯誤。最後一
個操作其實把該行乘上了 1 + α 1+\alpha 1 + α 。
練習
思考檢查
若把 A A A 的其中一行乘上 5 5 5 ,det ( A ) \det(A) det ( A ) 會怎樣變?
解答 · 答案
思考檢查
若 A 行化簡後出現零行,對 det ( A ) \det(A) det ( A ) 可以下甚麼結論?
解答 · 答案 det ( A ) = 0 \det(A)=0 det ( A ) = 0 。階梯形行列式為零,而換行和非零縮放組成的記帳倍數非零,
不會改變這個零的結論。
解答 · 答案
思考檢查
用行化簡計算 det [ 1 1 0 2 3 1 0 1 4 ] \det\begin{bmatrix}1&1&0\\2&3&1\\0&1&4\end{bmatrix} det 1 2 0 1 3 1 0 1 4 。
解答 · 引導解答 先做 R 2 ← R 2 − 2 R 1 R_2\leftarrow R_2-2R_1 R 2 ← R 2 − 2 R 1 ,再用新的 R 2 R_2 R 2 做
R 3 ← R 3 − R 2 R_3\leftarrow R_3-R_2 R 3 ← R 3 − R 2 :
[ 1 1 0 2 3 1 0 1 4 ] ⟶ [ 1 1 0 0 1 1 0 1 4 ] ⟶ [ 1 1 0 0 1 1 0 0 3 ] \begin{bmatrix}1&1&0\\2&3&1\\0&1&4\end{bmatrix}
\longrightarrow\begin{bmatrix}1&1&0\\0&1&1\\0&1&4\end{bmatrix}
\longrightarrow\begin{bmatrix}1&1&0\\0&1&1\\0&0&3\end{bmatrix} 1 2 0 1 3 1 0 1 4 ⟶ 1 0 0 1 1 1 0 1 4 ⟶ 1 0 0 1 1 0 0 1 3 只用了行替換,所以 det = 1 ⋅ 1 ⋅ 3 = 3 \det=1\cdot1\cdot3=3 det = 1 ⋅ 1 ⋅ 3 = 3 。
思考檢查
若 det ( A ) = 4 \det(A)=4 det ( A ) = 4 而 det ( B ) = − 3 \det(B)=-3 det ( B ) = − 3 ,其中 A、B 都是 3 × 3 3\times3 3 × 3 方陣,求 det ( A B ) \det(AB) det ( A B ) 。
解答 · 引導解答 det ( A B ) = det ( A ) det ( B ) = 4 ( − 3 ) = − 12 \det(AB)=\det(A)\det(B)=4(-3)=-12 det ( A B ) = det ( A ) det ( B ) = 4 ( − 3 ) = − 12
思考檢查
若 det ( A ) = 6 \det(A)=6 det ( A ) = 6 ,求 det ( A − 1 ) \det(A^{-1}) det ( A − 1 ) 。
解答 · 引導解答 det ( A − 1 ) = 1 det ( A ) = 1 6 \det(A^{-1})=\frac1{\det(A)}=\frac16 det ( A − 1 ) = det ( A ) 1 = 6 1
相關筆記
若基本定義仍然過於符號化,可以回看
7.1 行列式與餘因子展開 。
接着閱讀
7.3 轉置、欄變換與克拉默法則 ,
從欄的角度理解行列式。
也可參考
5.1 可逆矩陣 ,
因為本節把行列式判準接到那一章的可逆性詞典上。