回想我们在最开始引入的高斯消元法的知识:
定理 2.24
在形如A∣b的矩阵中,我们可以对增广矩阵进行如下的初等行变换, 使得最后的解不受影响:
① 交换任意两行;
② 将一行中的所有元素全部乘以同一非零常数k;
③ 将一行中的所有元素乘以同一常数λ,再加到另外一行相对应的元素上. 即Ri←Ri+λRj, λ∈R.
对于高斯消元法则里面的每一步运算,我们能否用线性变换的知识去理解?为了简化运算, 我们不妨假设矩阵A=a11a21a31a12a22a32a13a23a33, 然后我们先考虑这样的一个线性变换T1, 我们记该变换在标准基底下对应的矩阵形式为E1, 满足:
E1=010100001
此时我们把变换T1作用在矩阵A上,我们得到
T1(A)=E1A=010100001a11a21a31a12a22a32a13a23a33=a21a11a31a22a12a32a23a13a33.
此时我们发现, T1(A)的意义便是将矩阵A的第一,二行进行交换. 也就是说,变换T1也就对应了高斯消元里面的第一条法则,即交换任意两行. 此时我们还可以给出交换矩阵A中第一,第三行的矩阵E2以及交换A中第二.第三行的矩阵E3, 我们设它们所对应的线性变换分别为T2,T3.则
T2(A)=E2A=001010100a11a21a31a12a22a32a13a23a33=a31a11a11a32a12a12a33a13a13;
T3(A)=E3A=100001010a11a21a31a12a22a32a13a23a33=a11a31a21a12a32a22a13a33a23.
我们不难发现,此时矩阵E1,E2,E3均与标准矩阵I十分相像,它们都是由标准矩阵I经过交换任意两行中的元素从而得到的新矩阵.我们此时再来看另一个线性变换S, 设该变换在标准基底下的矩阵形式为E4, 满足:
E4=λ00010001,
其中λ为非零常数.我们此时把该变换作用在矩阵A上,那么有
S(A)=E4A=λ00010001a11a21a31a12a22a32a13a23a33=λa11a21a31λa12a22a32λa13a23a33.
此时,线性变换S便代表将矩阵A中第一行元素全部乘以一个非零常数λ, 参照高斯消元法的定义,该变换也就对应了第二条法则,即把同一行的元素全部乘以同一个非零常数.此时矩阵E4也便是标准矩阵I经过把第一行乘以同一常数λ之后所得到的新矩阵.当然,我们也可以进行线性变换的复合.考虑复合变换S∘T1, 根据线性变换复合的定义,我们有
(S∘T1)(A)=S(T1(A))=E4(E1A)=(E4E1)A,
即
(S∘T1)(A)=λ00010001010100001a11a21a31a12a22a32a13a23a33=010λ00001a21a11a31a22a12a32a23a13a33=λa21a11a31λa22a12a32λa23a13a33.
此时我们不难发现,线性变换S∘T1 即代表“先T1后S”, 即为交换矩阵的第一,第二行,然后第一行整体乘以非零常数λ.通过这个变换,我们是否也能够理解为什么在矩阵乘法中AB和BA不一定相等?如果是变换T1∘S, 即为“先S后T1, 此时的结果还一样吗?(读者不妨尝试求出此时的矩阵).在原变换S∘T1中,该复合变换所对应的矩阵(E4E1)便也可以看作是标准矩阵I经过了两步变换(先交换第一,第二行,然后第一行整体元素乘以非零常数λ)之后所得到的结果.
我们不妨再考虑一个线性变换Q, 我们设E5为该变换在标准基底下对应的矩阵形式,且满足
E5=100010λ01,
那么,当我们把线性变换Q作用在矩阵A上时,我们有
Q(A)=E5A=100010λ01a11a21a31a12a22a32a13a23a33=a11+λa31a21a31a12+λa32a22a32a13+λa33a23a33.
该变换Q即代表了将第三行中的元素乘以同一个非零常数λ, 然后加到第一行上.也就是对应了高斯消元法里面的第三条.其中E5也可以看作单位矩阵I中,将第三行乘以同一常数λ, 然后加到第一行上所得到的结果.
我们把上文中形如E1,E2,E3,E4,E5的矩阵称作是初等矩阵 (Elementary Matrix), 我们在此给出初等矩阵的定义 (为了简化数学符号我们仅给出2×2初等矩阵的定义):
定义 2.20
如果矩阵E可以通过对单位矩阵I进行一次高斯消元法里面提到的三种变化而得到, 我们则称E为初等矩阵. 初等矩阵包括以下三类:
① 形如E=(0110)的矩阵 (对应交换第一,二行);
② 形如E=(100λ)的矩阵 (对应将第二行乘以非零常数λ);
③ 形如E=(10λ1)的矩阵 (对应将第二行乘以非零常数λ, 然后加到第一行上).
读者可以自行尝试推导剩余的几种变换矩阵,比如用第二行减去第一行的λ倍等.
由此一来,我们便明白了高斯消元其实也是一个变换G:A⟶RREF(A), 其中G便是若干个初等矩阵复合的结果. 我们不妨来看一个简单的例子: 设矩阵B=(1231), 当我们进行高斯消元的时候,我们先对第一列进行消元,即把第一行的元素全部乘以2,然后用第二行减去第一行.那么这个变换便可以看作是两个初等矩阵的复合.我们设E1=(2001), 该矩阵即代表将第一行全部元素乘以2;设E2=(1−101), 该矩阵即代表用矩阵的第二行减去第一行.那么按照顺序,第一列的消元即可以表示成为
E2E1B=(1−101)(2001)(1231)=(206−5).
这与我们使用高斯消元法所得到的矩阵一致.我们随后来看第二列的消元,为简化处理我们先将第一行同除以2, 记E3=(0.5001) 为该运算所代表的矩阵,那么
E3(E2E1B)=(0.5001)(206−5)=(103−5).
我们将第一行同乘以5,将第三行同乘以3,记E4=(5001),E5=(1003), 随后我们把第二行加到第一行上去,记E6=(1011). 那么把这些初等矩阵进行复合, 则有
E6E5E4(E3E2E1)B=(1011)(1003)(5001)(103−5)=(500−15).
最后,我们将第一行同除以5,将第三行同除以−15,记E7=(0.2001),E8=(100−151), 最终我们即可得到单位矩阵I, 也就是说
(E8E7E6E5E4E3E2E1)B=I.
由于此时RREF(A)=I, 所以矩阵A可逆,同时由于所有的初等矩阵均可逆, 因此我们有
A=(E8E7E6E5E4E3E2E1)−1I,
即
A=E1−1E2−1⋯E8−1.
我们把上述发现总结成一条定理:
定理 2.26
若矩阵A可逆, 则A可以写成若干个基本初等矩阵的乘积; 当A不可逆时,存在可逆矩阵U, 使得RREF(A)=UA, 其中U也是若干个基本初等矩阵的乘积.
由这条定理我们可以给出如下推论:
推论 2.3
设A经由高斯消元之后得到B, 则:
① 存在可逆矩阵U, 使得B=UA. 其中U=EkEk−1⋯E2E1即为若干个初等矩阵的乘积, 这些初等矩阵对应了高斯消元里面的变换;
② 对增广矩阵(AI) 进行高斯消元,最终可以得到(BU).
我们不妨用利用推论2.2来尝试将矩阵A分解成两个矩阵的乘积的形式. 我们为方便起见, 先假设
A=12−1210−113,
随后, 我们利用高斯消元把A转化成上三角矩阵: 我们首先用第二行的元素减去第一行元素的2倍, 然后用第三行元素加上第一行元素, 最后再用第三行的三倍两加上第二行的两倍. 这样的变换可以用基本初等矩阵表示为
E3E2E1A=1000120031010100011−2001000112−1210−113=1002−30−1312.
我们将式子最右边的上三角矩阵记作U. 于是我们便有
E3E2E1A=U.
由于基本初等矩阵可逆, 我们便有
A=E1−1E2−1E3−1U.
基本初等矩阵的逆矩阵并不难求. 对于E1, 其定义是第二行减去第一行的两倍, 那么它的逆变换便是第二行加上第一行的两倍; E2的逆变换便是第三行减去第一行; E3的逆变换便是第三行减去第二行的两倍再除以3. 由此我们得到
E1−1E2−1E3−1=12001000110−101000110001−320031=12−101−320031.
我们此时把等式最右边的下三角矩阵记作L, 那么由此我们便有
A=LU=12−101−3200311002−30−1312.
上式也被称作是矩阵的LU分解 (LU Factorization), 值得注意的是LU分解对于m×n矩阵同样适用, 只不过此时情况会稍加复杂, 我们在此略去.
(读者可能会发现这里的LU矩阵可能与有些教材中的定义存在差异. 在一些书中矩阵L的主对角线上的元素全部为1. 这二者之间几乎没有差异, 我这样定义的出发点是想从初等矩阵的角度去考虑问题. 另外, 这里为了简化讨论, 我们假设消元过程中不需要交换行. 若需要交换行,则通常要引入置换矩阵P, 得到 PA=LU 的形式).
我们不妨再考虑另一种分解: 设A为m×n矩阵, 且rank(A)=r. 我们设RREF(A)=R, 那么根据上述定理可知, 存在可逆矩阵U∈Mm, 使得R=UA, 并且我们知道存在以下形式的变换:
(AIm)⟶(RU).
由于rank(A)=r, 意味着在矩阵R中有r个前导变量, 那么通过适当地变换, R中的元素可以写成如下图所示的分块矩阵:
R∈Mmn=(Ir0Y0);R⊤∈Mnm=(IrY00).
那么,对R⊤再次进行变换,我们最终可以得到形如(Ir000)的矩阵, 那么此时即存在n×n可逆矩阵U1, 使得
(Ir000)=U1R⊤.
我们设V=U1⊤, 此时我们有
UAV=RV=RU1⊤=(U1R⊤)⊤=((Ir000)n×m)⊤=(Ir000)m×n.
由此我们引出另一条定理:
定理 2.27
若m×n矩阵A的秩为r, 则存在可逆矩阵U∈Mm,V∈Mn, 使得
UAV=(Ir000)m×n.我们称UAV为矩阵A的 史密斯标准型 (Smith Normal Form).
至此,第二章的内容到此结束. 我知道线性变换所涵盖的东西实在太多,但无奈篇幅有限,只好忍痛割爱. 第二章的内容同样也是第三章的垫脚石, 因此希望读者能够认真反复地研读该章节, 为自己的线性代数水平打下扎实的基础.
{2.6 练习}
1. 我们该如何理解初等矩阵的逆矩阵?求出下列初等矩阵的逆矩阵.
E1=010100001E2=100010004E3=100010501.
2. 将下列矩阵表示成若干个基本初等矩阵的乘积:
A=(−2130)B=(1211)C=102011216.
3. 若A=(1−121),C=(−1211), 求出初等矩阵E1,E2, 使得C=E2E1A.
4. 在本书第一章第一节中,我便提出过如下的定理: 对于任意的矩阵A而言, rank(A)=rank(RREF(A)). 在完成本节的学习之后,尝试证明这一定理.
5. 假设在矩阵变换时我们有(AI)⟶(PQ), 证明: P=QA.
6. 求出下列矩阵的LU分解:
A=1−1010101−1;B=110−101110−1002011.