有限实矩阵乘法法则的证明
设 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 可逆矩阵 ,
因为本节把行列式判准接到那一章的可逆性词典上。