消元
考虑一个求解线性方程组问题,直接用矩阵表示
⎡⎣⎢1 3 0284111⎤⎦⎥⎡⎣⎢x y z⎤⎦⎥=⎡⎣⎢2 12 2⎤⎦⎥
对上式中的矩阵进行符号定义
A=⎡⎣⎢1 3 0284111⎤⎦⎥x=⎡⎣⎢x y z⎤⎦⎥b=⎡⎣⎢2 12 2⎤⎦⎥
对A进行消元
取A的第一行第一列作为主元进行消元,使得第一列除主元外其余元素均为0
⎡⎣⎢1 3 0284111⎤⎦⎥→⎡⎣⎢1 0 02241−21⎤⎦⎥
取第二行第二列作为主元,继续消元
⎡⎣⎢1 0 02241−21⎤⎦⎥→⎡⎣⎢1 0 02201−25⎤⎦⎥
于是我们得到一个上三角矩阵,称为U
U=⎡⎣⎢1 0 02201−25⎤⎦⎥
使用上三角矩阵可以很方便地计算原方程组的解
消元矩阵
在上一篇文章中,我们知道一个矩阵乘一个列向量代表对矩阵的列向量的线性组合,类似的道理,一个行向量乘一个矩阵代表对矩阵的行向量的线性组合,也即
[xy][a cbd]=x[ab]+y[cd]
回想我们的第一个消元步骤
⎡⎣⎢1 3 0284111⎤⎦⎥→⎡⎣⎢1 0 02241−21⎤⎦⎥
我们希望用矩阵运算来表示这个步骤,也就是
⎡⎣⎢a1 b1 c1a2b2c2a3b3c3⎤⎦⎥⎡⎣⎢1 3 0284111⎤⎦⎥=⎡⎣⎢1 0 02241−21⎤⎦⎥
式中的a,b,c为三个行向量,对上式拆分
[a1a2a3]⎡⎣⎢1 3 0284111⎤⎦⎥=[121]
[b1b2b3]⎡⎣⎢1 3 0284111⎤⎦⎥=[02−2]
[c1c2c3]⎡⎣⎢1 3 0284111⎤⎦⎥=[041]
下式正好是对矩阵的行向量的线性组合
[a1a2a3]⎡⎣⎢1 3 0284111⎤⎦⎥=[121]
显然要得到线性组合结果我们只需要矩阵的第一个行向量
于是
[a1a2a3]=[100]
而对于下式
[b1b2b3]⎡⎣⎢1 3 0284111⎤⎦⎥=[02−2]
我们的消元步骤是取了-3个第一个行向量与1个第二个行向量,于是有
[b1b2b3]=[−310]
类似的道理我们可以计算出c,我们将这一个消元步骤用矩阵运算来表示就是
⎡⎣⎢1 −3 1010000⎤⎦⎥⎡⎣⎢1 3 0284111⎤⎦⎥=⎡⎣⎢1 0 02241−21⎤⎦⎥
使用 E2,1 来表示左边的消元矩阵,也就是说
E2,1=⎡⎣⎢1 −3 1010000⎤⎦⎥
对于第二个消元步骤
⎡⎣⎢1 0 02241−21⎤⎦⎥→⎡⎣⎢1 0 02201−25⎤⎦⎥
使用同样的方式计算消元矩阵
⎡⎣⎢1 0 001−2001⎤⎦⎥⎡⎣⎢1 0 02241−21⎤⎦⎥=⎡⎣⎢1 0 02201−25⎤⎦⎥
也即
E3,2=⎡⎣⎢1 0 001−2001⎤⎦⎥
于是整个的消元过程就是
E3,2(E2,1A)
并且矩阵运算满足结合律,也即
E3,2(E2,1A)=(E3,2E2,1)A
所以消元过程可理解为做了一次矩阵乘法