有限实矩阵乘法法则的证明
设 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 ] 。
不预设计数结论的有限基存在与扩充
设实向量空间 V V V 已给定有限生成列表 t 1 , … , t N t_1,\ldots,t_N t 1 , … , t N 。先证明任何线性无关列表 u 1 , … , u k u_1,\ldots,u_k u 1 , … , u k 的长度不超过 N N N 。插入 j j j 个向量后,维持一个由 u 1 , … , u j u_1,\ldots,u_j u 1 , … , u j 与 N − j N-j N − j 个剩余旧向量组成的生成列表。将 u j + 1 u_{j+1} u j + 1 按此列表展开,至少一个剩余旧向量的系数非零;否则它在先前 u i u_i u i 的张成空间中,与无关性矛盾。解出这个旧向量,再以 u j + 1 u_{j+1} u j + 1 取代它。新列表仍张成同一空间,而且保留全部先前插入向量。若 k > N k>N k > N ,则 N N N 步后前 N N N 个向量已张成 V V V ,与 u N + 1 u_{N+1} u N + 1 的无关性矛盾。此即所需上界,也包括 N = 0 N=0 N = 0 。
每个子空间 W W W 都有有限基。从空的无关列表开始;若当前张成空间尚不是 W W W ,就在 W W W 中取一个不在该张成空间内的向量。若新向量在某关系中的系数非零,就能由旧向量表示它,矛盾,故新列表仍无关。已证上界允许至多添加 N N N 次,所以过程必停止于 W W W 的无关生成列表。若 W = { 0 } W=\{0\} W = { 0 } ,立即得到空基。改从 W W W 内任意给定无关列表开始,同样证明该列表可扩充为 W W W 的基;只需有界有限次选择。最后,若两组基的长度为 p , q p,q p , q ,分别把它们用作上界证明中的有限生成列表,得到 p ≤ q p\le q p ≤ q 与 q ≤ p q\le p q ≤ p 。故基的长度有良定义,称为维数。这些论证补足秩–零度定理所用的基存在、扩充与维数事实。
本节是可选的证明附录,矩阵条目取实数。论证只使用域运算和可逆行变换,因此也适用于任意域。它要建立的是结构性结论,并不是另给一套消元算法。
高斯消元看起来是一套算法,但仍有一个重要的理论问题需要处理:
如果两个人用不同合法路径化简同一个矩阵,为什么最后得到的 RREF 必须相同?
存在性只说明至少可以到达某个 RREF。唯一性则说明可能的 RREF 只有一个。正
因为有这个唯一性,我们才可以说一个矩阵的 唯一的 RREF ,也才可以不依赖某
次计算路径去定义 秩 。
阅读前准备
本附录会使用三个早前已建立的事实。
行等价可以写成左乘某个可逆矩阵。
行等价会保留对应列之间的线性关系。
在 RREF 中,主元列与自由列有很固定的形状。
证明比一次行化简计算长,但想法很清楚:由左至右比较两个可能的 RREF。先逼
出同一批主元列,再用自由列与主元列之间的线性关系逼出所有自由列。
定理
定理
RREF 的唯一性 设 A A A 是任意矩阵。假设 B B B 与 C C C 都是简化行阶梯形。若 B B B 与 A A A 行等价,
而 C C C 也与 A A A 行等价,则
B = C . B = C. B = C .
由于行等价有传递性,只要证明以下较直接的形式便足够。
定理
等价表述 若 B B B 与 C C C 是同尺寸的简化行阶梯形,且 B B B 与 C C C 行等价,则 B = C B=C B = C 。
请留意“简化”二字。普通行阶梯形不唯一;同一个矩阵可以有许多不同 REF,但
只有一个 RREF。
行等价会保留列之间的线性关系
把两个行等价的 p × q p \times q p × q 矩阵写成列向量形式:
B = [ b 1 b 2 ⋯ b q ] , C = [ c 1 c 2 ⋯ c q ] . B=[b_1\ b_2\ \cdots\ b_q],
\qquad
C=[c_1\ c_2\ \cdots\ c_q]. B = [ b 1 b 2 ⋯ b q ] , C = [ c 1 c 2 ⋯ c q ] .
若 B B B 与 C C C 行等价,则存在某个可逆 p × p p \times p p × p 矩阵 G G G ,使得
B = G C . B = GC. B = GC .
因此对每个列指标 j j j ,都有 b j = G c j b_j = Gc_j b j = G c j 。
定理
列关系的保留 假设
c j = α 1 c k 1 + α 2 c k 2 + ⋯ + α n c k n . c_j=\alpha_1c_{k_1}+\alpha_2c_{k_2}+\cdots+\alpha_nc_{k_n}. c j = α 1 c k 1 + α 2 c k 2 + ⋯ + α n c k n . 则
b j = α 1 b k 1 + α 2 b k 2 + ⋯ + α n b k n . b_j=\alpha_1b_{k_1}+\alpha_2b_{k_2}+\cdots+\alpha_nb_{k_n}. b j = α 1 b k 1 + α 2 b k 2 + ⋯ + α n b k n . 反过来,任何对应 b b b 列之间的线性关系,也会给出对应 c c c 列之间的同一个
线性关系。
反方向要用 G − 1 G^{-1} G − 1 。这正是 G G G 必须可逆的原因:列关系可以在两个行等价矩
阵之间来回移动。
更明确地说,由分配律,
G ( ∑ i = 1 n α i c k i ) = ∑ i = 1 n α i G c k i . G\left(\sum_{i=1}^n\alpha_i c_{k_i}\right)
=\sum_{i=1}^n\alpha_i Gc_{k_i}. G ( i = 1 ∑ n α i c k i ) = i = 1 ∑ n α i G c k i .
列向量通常会改变,系数却保持不变。再作用 G − 1 G^{-1} G − 1 ,就得到反方向。因此,若只有一边的某列能由较早各列表示,把那个表示式反向传回便会与另一边的假设矛盾。这不仅证明等式可以传递,也证明“不属于较早各列的张成空间”这一否定性质可以传递。
RREF 的列长什么样子
设 C C C 是一个 RREF。假设它的主元列为
d 1 < d 2 < ⋯ < d r . d_1\lt d_2\lt \cdots\lt d_r. d 1 < d 2 < ⋯ < d r .
那么这些主元列具有标准基向量的形状:
c d 1 = e 1 , c d 2 = e 2 , … , c d r = e r , c_{d_1}=e_1,\quad c_{d_2}=e_2,\quad \ldots,\quad c_{d_r}=e_r, c d 1 = e 1 , c d 2 = e 2 , … , c d r = e r ,
其中向量长度由 C C C 的行数决定。
自由列则由其左方的主元列控制。若 c j c_j c j 是自由列,而其左方的主元列为
c d 1 , … , c d h c_{d_1},\ldots,c_{d_h} c d 1 , … , c d h ,则
c j = γ 1 j c d 1 + γ 2 j c d 2 + ⋯ + γ h j c d h . c_j=\gamma_{1j}c_{d_1}+\gamma_{2j}c_{d_2}+\cdots+\gamma_{hj}c_{d_h}. c j = γ 1 j c d 1 + γ 2 j c d 2 + ⋯ + γ hj c d h .
这些系数并不神秘:它们就是 c j c_j c j 在主元行中的条目。
此外,每个主元列在出现时都真正带来新方向:
c d k 不是其左方各列的线性组合。 c_{d_k}
\quad\text{不是其左方各列的线性组合。} c d k 不是其左方各列的线性组合。
这三点就是唯一性证明的核心。
为什么只需要较早的主元?若某行的主元在第 j j j 列之后,该行直到第 j j j 列的条目全为零;零行也没有贡献。因此,自由列的非零条目只能出现在主元已经出现的各行。若尚无主元,右边是空和,该列就是零列。反过来,在第 k k k 个主元处,所有较早列的第 k k k 个条目都是零,但 e k e_k e k 的该条目是 1 1 1 ,故较早列的任何线性组合都不能产生这个主元列。
对主元数目作归纳
为避免循环论证,在本证明中,“一个 RREF 的秩”暂时只解作“该 RREF 的主元列
数目”。只有在唯一性证明完成后,我们才正式定义任意矩阵的秩。
证明
RREF 唯一性的完整证明 令 P ( r ) P(r) P ( r ) 表示以下命题:
若 B B B 与 C C C 是同尺寸 RREF,B B B 与 C C C 行等价,且 C C C 有正好 r r r 个主元
列,则 B = C B=C B = C 。
我们证明所有 r ≥ 0 r\ge 0 r ≥ 0 的 P ( r ) P(r) P ( r ) 。
基本情况。 假设 C C C 没有主元列。那么 C C C 没有非零行,所以 C C C 是零矩
阵。由于 B B B 与 C C C 行等价,存在可逆矩阵 G G G 使 B = G C B=GC B = GC 。因此
B = G 0 = 0 B=G0=0 B = G 0 = 0 ,所以 B = C B=C B = C 。
归纳步骤。 假设 P ( s ) P(s) P ( s ) 成立。现在令 C C C 有 s + 1 s+1 s + 1 个主元列,位置为
d 1 < d 2 < ⋯ < d s < d s + 1 . d_1\lt d_2\lt \cdots\lt d_s\lt d_{s+1}. d 1 < d 2 < ⋯ < d s < d s + 1 . 在最后一个主元列处把两个矩阵切开:
B = [ B ♭ B ♮ ] , C = [ C ♭ C ♮ ] , B=[B^\flat\ B^\natural],
\qquad
C=[C^\flat\ C^\natural], B = [ B ♭ B ♮ ] , C = [ C ♭ C ♮ ] , 其中 B ♭ B^\flat B ♭ 与 C ♭ C^\flat C ♭ 包含所有严格在第 d s + 1 d_{s+1} d s + 1 列左边的列。
从 RREF 删去末尾若干列,所得仍是 RREF:保留了主元的行仍有领先的 1 1 1 ,其主元列的其他条目仍为零;主元被删去的行则成为零行,而且本来就在保留主元的各行下方。这个理由分别适用于两个左方分块,无须预先假设两者的主元数相同。
把 C C C 变为 B B B 的同一串初等行变换,也把左方分块相互变换,因为截取列与每一步行变换可以交换先后。特别地,B ♭ = G C ♭ B^\flat=GC^\flat B ♭ = G C ♭ ,左乘矩阵仍是原来的可逆 p × p p\times p p × p 矩阵。因此两分块行等价,而 C ♭ C^\flat C ♭ 恰有 s s s 个主元。当左方分块至少有一列时,可用归纳假设得到
B ♭ = C ♭ . B^\flat=C^\flat. B ♭ = C ♭ . 若 d s + 1 = 1 d_{s+1}=1 d s + 1 = 1 ,两个左方分块都没有列,而且必有 s = 0 s=0 s = 0 ;此时它们相同是空泛成立的,不必把归纳假设应用于没有列的矩阵。若 s = 0 s=0 s = 0 但 d 1 > 1 d_1\gt1 d 1 > 1 ,左方分块则是通常的零矩阵,由基本情况可知相同。这样便同时处理了前导零列和空前缀两种边界。
所以两个矩阵在第 d s + 1 d_{s+1} d s + 1 列之前已经完全相同。
接着比较第 d s + 1 d_{s+1} d s + 1 列。在 C C C 中,这个主元列不是其左方各列的线性组合。
行等价会保留这个“不是线性组合”的性质,所以 B B B 的第 d s + 1 d_{s+1} d s + 1 列也不
是其左方各列的线性组合。
由于左方分块已相同,B B B 的前 s s s 个主元列正是
e 1 , e 2 , … , e s . e_1,e_2,\ldots,e_s. e 1 , e 2 , … , e s . 若这列在第 s s s 行以下全为零,它就等于以最上方 s s s 个条目为系数的 e 1 , … , e s e_1,\ldots,e_s e 1 , … , e s 的线性组合,与刚才的非组合性质矛盾。因此,第 s s s 行以下至少有一个非零条目。
取其中最上方的一行。由于左方分块相同,这一行在更早各列的条目全为零,所以它的主元就在第 d s + 1 d_{s+1} d s + 1 列。这必定是第 s + 1 s+1 s + 1 行:若中间还有其他行,那些行要么是位于非零行上方的零行,要么有更靠右的主元却排在更靠左的主元上方,两者都违反阶梯次序。最后,简化条件使该主元等于 1 1 1 ,并使同列其他条目全为零。因此
b d s + 1 = e s + 1 = c d s + 1 . b_{d_{s+1}}=e_{s+1}=c_{d_{s+1}}. b d s + 1 = e s + 1 = c d s + 1 . 最后比较 d s + 1 d_{s+1} d s + 1 右方各列。由于 d s + 1 d_{s+1} d s + 1 是 C C C 的最后 一个主元位置,右方每一列都是自由列。令 ℓ > d s + 1 \ell\gt d_{s+1} ℓ > d s + 1 ,主元行中的条目给出唯一表示式
c ℓ = γ 1 ℓ c d 1 + ⋯ + γ s ℓ c d s + γ s + 1 , ℓ c d s + 1 . c_\ell
=
\gamma_{1\ell}c_{d_1}
+\cdots+
\gamma_{s\ell}c_{d_s}
+\gamma_{s+1,\ell}c_{d_{s+1}}. c ℓ = γ 1 ℓ c d 1 + ⋯ + γ s ℓ c d s + γ s + 1 , ℓ c d s + 1 . 行等价保留这个关系,所以
b ℓ = γ 1 ℓ b d 1 + ⋯ + γ s ℓ b d s + γ s + 1 , ℓ b d s + 1 . b_\ell
=
\gamma_{1\ell}b_{d_1}
+\cdots+
\gamma_{s\ell}b_{d_s}
+\gamma_{s+1,\ell}b_{d_{s+1}}. b ℓ = γ 1 ℓ b d 1 + ⋯ + γ s ℓ b d s + γ s + 1 , ℓ b d s + 1 . 但 B B B 与 C C C 的主元列已被证明相同,所以 b ℓ = c ℓ b_\ell=c_\ell b ℓ = c ℓ 。
每一列都相同,因此 B = C B=C B = C 。这证明 P ( s + 1 ) P(s+1) P ( s + 1 ) ,归纳完成。
证明透视
每一步归纳究竟可以使用什么 归纳参数只数 C C C 的主元。我们没有假定 B B B 也有同样多主元;矩阵相等将会证明这件事。截取前缀在保留行等价的同时产生较小情形,前缀相等又固定了前 s s s 个主元行。接着,不能由前列组合的性质与 RREF 条件共同逼出下一个主元。最后,C C C 的其余各列都已由这些匹配的主元表示;把确切系数传给 B B B ,就排除了额外主元或不同自由条目的可能。
一个具体缩小版
例题
两主元 RREF 中逐列被确定的条目 上面的证明追踪任意列,可能看起来较抽象。以下用一个小 RREF 展示同一逻辑:
C = [ 1 2 0 − 1 0 0 1 3 0 0 0 0 ] . C=
\begin{bmatrix}
1 & 2 & 0 & -1\\
0 & 0 & 1 & 3\\
0 & 0 & 0 & 0
\end{bmatrix}. C = 1 0 0 2 0 0 0 1 0 − 1 3 0 . 主元列是第 1 1 1 列与第 3 3 3 列:
c 1 = e 1 , c 3 = e 2 . c_1=e_1,
\qquad
c_3=e_2. c 1 = e 1 , c 3 = e 2 . 自由列满足
c 2 = 2 c 1 , c 4 = − c 1 + 3 c 3 . c_2=2c_1,
\qquad
c_4=-c_1+3c_3. c 2 = 2 c 1 , c 4 = − c 1 + 3 c 3 . 现在假设 B B B 是另一个与 C C C 行等价的 RREF。第一个主元列不能消失,所以
b 1 = e 1 b_1=e_1 b 1 = e 1 。由于关系 c 2 = 2 c 1 c_2=2c_1 c 2 = 2 c 1 被保留,b 2 = 2 b 1 = 2 e 1 b_2=2b_1=2e_1 b 2 = 2 b 1 = 2 e 1 ,第二列也被逼出。
第三列不是第 1 1 1 、2 2 2 列的线性组合,所以它必须成为 B B B 的下一个主元列:
b 3 = e 2 b_3=e_2 b 3 = e 2 。最后,关系 c 4 = − c 1 + 3 c 3 c_4=-c_1+3c_3 c 4 = − c 1 + 3 c 3 被保留,所以
b 4 = − b 1 + 3 b 3 = − e 1 + 3 e 2 = c 4 . b_4=-b_1+3b_3=-e_1+3e_2=c_4. b 4 = − b 1 + 3 b 3 = − e 1 + 3 e 2 = c 4 . 因此 B = C B=C B = C 。整个矩阵逐列被迫相同。
例题
前导零列不会中断证明 考虑
C = [ 0 1 − 2 0 3 0 0 0 1 4 0 0 0 0 0 ] . C=\begin{bmatrix}0&1&-2&0&3\\0&0&0&1&4\\0&0&0&0&0\end{bmatrix}. C = 0 0 0 1 0 0 − 2 0 0 0 1 0 3 4 0 . 设 B B B 是与 C C C 行等价的 RREF。由于 c 1 = 0 c_1=0 c 1 = 0 ,关系传递给出 b 1 = 0 b_1=0 b 1 = 0 。c 2 c_2 c 2 非零,可逆性保证 b 2 b_2 b 2 也非零;它是 RREF 的第一个非零列,故必须等于 e 1 e_1 e 1 。再由 c 3 = − 2 c 2 c_3=-2c_2 c 3 = − 2 c 2 得 b 3 = − 2 e 1 b_3=-2e_1 b 3 = − 2 e 1 。
c 4 = e 2 c_4=e_2 c 4 = e 2 不能由前三列张成,因为前三列的第二个条目都是零。因此 b 4 b_4 b 4 是下一个主元列,等于 e 2 e_2 e 2 。最后,
c 5 = 3 c 2 + 4 c 4 ⟹ b 5 = 3 b 2 + 4 b 4 = c 5 . c_5=3c_2+4c_4\quad\Longrightarrow\quad b_5=3b_2+4b_4=c_5. c 5 = 3 c 2 + 4 c 4 ⟹ b 5 = 3 b 2 + 4 b 4 = c 5 . 这样无须选择消元路径,就证明了 B = C B=C B = C 。若按归纳证明在最后一个主元处切开,左方分块有三列、恰好一个主元,原来的前导零列仍保留在其中。在唯一性定理已使秩的定义合法后,两矩阵的秩都是 2 2 2 。
例题
奇异左乘矩阵可以丢失一个列方向 取
C = I 2 , G = [ 1 0 0 0 ] , B = G C = [ 1 0 0 0 ] . C=I_2,\qquad G=\begin{bmatrix}1&0\\0&0\end{bmatrix},\qquad
B=GC=\begin{bmatrix}1&0\\0&0\end{bmatrix}. C = I 2 , G = [ 1 0 0 0 ] , B = GC = [ 1 0 0 0 ] . B , C B,C B , C 都是 RREF,却不相同。这不反驳唯一性:G G G 是奇异矩阵,单凭 B = G C B=GC B = GC 不能推出行等价。C C C 的两列没有非平凡关系,但 b 2 = 0 b_2=0 b 2 = 0 是一个新关系,系数向量为 ( 0 , 1 ) (0,1) ( 0 , 1 ) 。若有可逆矩阵把 C C C 变为 B B B ,这个关系就能反向传回,得到错误结论 c 2 = 0 c_2=0 c 2 = 0 。因此,这样的可逆左乘矩阵并不存在。
对奇异的 G G G ,原有关系仍可由分配律向前传递;失败的是反方向,以及由它保证的“不能组合”性质。正确规则必须要求左乘矩阵可逆。这里的主元数分别为 2 2 2 和 1 1 1 ,具体显示了不可逆操作能够丢失什么信息。
秩因此成为良定概念
定义
秩 对任意矩阵 A A A ,A A A 的 秩 ,记作 rank ( A ) \operatorname{rank}(A) rank ( A ) ,定义为与
A A A 行等价的唯一 RREF 中的主元列数目。
这个定义之所以合法,是因为唯一性已经被证明。若不同化简路径可以得到不同
RREF,那么主元列数目便可能依赖路径。唯一性定理排除了这个可能。
所以秩不是某次计算的记录,而是矩阵本身的不变量。
因此在计算上可以安全地使用以下流程:
把 A A A 化成 RREF;
标出该 RREF 的主元列;
数主元列数目,得到 rank ( A ) \operatorname{rank}(A) rank ( A ) 。
如果题目要求列空间的一组基,则要用主元位置回到原矩阵中相应的列。若题目只
要求秩,RREF 本身已经足够。这个分别很重要:行变换会保留列关系,但通常不
保留实际的列空间。
常见错误
常见错误
不要说普通 REF 也唯一 唯一性定理谈的是 RREF,不是任意行阶梯形。在把主元标准化并清掉其上方项之
前,可以出现许多不同 REF。
常见错误
不要把秩定义成某次计算所得的数 可以用行化简计算秩,但定义不是“我这次算到的主元数”。唯一性定理保证所有
合法 RREF 路径都给出同一个主元数。
常见错误
不要忘记列关系的角色 证明并不是说行变换保留实际列空间;一般而言它不保留。真正被使用的是对应列
之间的线性关系模式。
快速检查
思考检查
若两个 RREF 矩阵都与同一个矩阵行等价,可以推出什么?
解答 · 答案
思考检查
RREF 唯一性怎样保证本节所用秩定义的良定性?
解答 · 答案 秩定义为 RREF 中的主元列数目。若 RREF 不唯一,不同化简路径可能给出不同
主元数。因为 RREF 唯一,主元数便不依赖路径。
思考检查
若与 A A A 行等价的唯一 RREF 有第 1 1 1 、3 3 3 、5 5 5 列为主元列,rank ( A ) \operatorname{rank}(A) rank ( A ) 是多少?
解答 · 答案
练习
练习 1
设
C = [ 1 4 0 2 0 0 1 − 3 0 0 0 0 ] . C=
\begin{bmatrix}
1&4&0&2\\
0&0&1&-3\\
0&0&0&0
\end{bmatrix}. C = 1 0 0 4 0 0 0 1 0 2 − 3 0 .
指出其主元列,并把每个自由列写成主元列的线性组合。
解答 · 练习 1 导引解答 主元列是第 1 1 1 列与第 3 3 3 列:
c 1 = e 1 , c 3 = e 2 . c_1=e_1,\qquad c_3=e_2. c 1 = e 1 , c 3 = e 2 . 自由列是第 2 2 2 列与第 4 4 4 列。由它们在主元行中的条目可得
c 2 = 4 c 1 , c 4 = 2 c 1 − 3 c 3 . c_2=4c_1,
\qquad
c_4=2c_1-3c_3. c 2 = 4 c 1 , c 4 = 2 c 1 − 3 c 3 .
练习 2
假设 B B B 是与练习 1 中 C C C 行等价的 RREF。用列关系说明为何 B = C B=C B = C 。
解答 · 练习 2 导引解答 因为 c 1 c_1 c 1 是第一个主元列,B B B 的第一列必须是 b 1 = e 1 = c 1 b_1=e_1=c_1 b 1 = e 1 = c 1 。关系
c 2 = 4 c 1 c_2=4c_1 c 2 = 4 c 1 被保留,所以 b 2 = 4 b 1 = 4 c 1 = c 2 b_2=4b_1=4c_1=c_2 b 2 = 4 b 1 = 4 c 1 = c 2 。
C C C 的第三列不是其左方各列的线性组合,所以 B B B 的第三列被迫成为下一个主
元列:
b 3 = e 2 = c 3 . b_3=e_2=c_3. b 3 = e 2 = c 3 . 最后,c 4 = 2 c 1 − 3 c 3 c_4=2c_1-3c_3 c 4 = 2 c 1 − 3 c 3 被保留,所以
b 4 = 2 b 1 − 3 b 3 = 2 c 1 − 3 c 3 = c 4 . b_4=2b_1-3b_3=2c_1-3c_3=c_4. b 4 = 2 b 1 − 3 b 3 = 2 c 1 − 3 c 3 = c 4 . 因此每一列都相同,B = C B=C B = C 。
练习 3
解释为什么以下两个行等价的 REF 矩阵不会反驳 RREF 唯一性:
E 1 = [ 1 2 0 0 ] , E 2 = [ 2 4 0 0 ] . E_1=
\begin{bmatrix}
1&2\\
0&0
\end{bmatrix},
\qquad
E_2=
\begin{bmatrix}
2&4\\
0&0
\end{bmatrix}. E 1 = [ 1 0 2 0 ] , E 2 = [ 2 0 4 0 ] .
解答 · 练习 3 导引解答 它们行等价,而且都有行阶梯形外观,但 E 2 E_2 E 2 不是简化行阶梯形,因为它的首
项是 2 2 2 ,不是 1 1 1 。
RREF 唯一性说的是简化行阶梯代表元唯一。它不是说每个中途得到的 REF 代表元
都唯一。
相关笔记
本节应在
2.5 行阶梯形的存在性
和
5.1 可逆矩阵
之后阅读。它也支撑
6.6 列空间、行空间与秩 。