1 概述
本节主要是对消元法的讲解。首先主要介绍了消元法的具体步骤和使用消元法对矩阵A的要求,然后介绍了如何使用矩阵乘法来表示消元操作。
2 消元法求解方程
2.1 消元法介绍
首先通过一个例子来求解Ax=b,这里A需要是可逆矩阵,即非奇异矩阵
⎩⎪⎨⎪⎧x+2y+z3x+8y+z4y+z=2=12=2(1)
我们先按行将方程组写成矩阵形式:
⎣⎡130284111⎦⎤⎣⎡xyz⎦⎤=⎣⎡2122⎦⎤
这里矩阵的消元法和我们在初等数学中求解二元一次方程组的方法本质上是一样的,都是通过对不同行的方程进行四则运算来消去未知元,得到简化后的方程组。在线性代数中,我们把系数抽取出来,组合成矩阵,寻找一种普遍规律。
系数矩阵 A=⎣⎡130284111⎦⎤,这里用Aij表示系数矩阵中第i行,第j列的数。其中A11=1为主元1,主元是矩阵经过消元操作,变为阶梯形之后,非零行左边第一个非零元素。在消元操作中我们让主元Aij保持不变,主元所在列的其它元素Akj(k>i)化为0。
通过row2−row1∗3的操作我们能够将A21消为0,得到主元2 A22,这时矩阵为⎣⎡1002241−21⎦⎤。
观察[24−21],同理,我们可以通过row3−row2∗2 操作将A32消为0,得到U=⎣⎡1002201−25⎦⎤
- A11=1 A22=2 A33=5为三个主元。
- 消元的目的是从A⟹U(U为上三角阵),找到三个主元。在消元过程中,为了满足主元不能为0的要求,可以交换行。
- A的行列式=各主元的乘积 =1∗2∗5=10
- 将B⎣⎡2122⎦⎤ 与A进行一样的倍数操作可以得到C⎣⎡26−10⎦⎤
2.2 回代
- 将原方程用U与c代入得:
⎩⎪⎨⎪⎧x+2y+z2y−2z5z=2=6=−10(2)
- 公式(2)由下往上递归很容易求出:⎩⎪⎨⎪⎧xyz=2=1=−2
3 消元矩阵(矩阵的线性组合)
接下来我们需要用矩阵来表示上文具体的变换步骤,首先介绍下向量与矩阵的乘法。
-
列向量与矩阵的乘法
⎣⎢⎡⋯⋮⋯⋯⋱⋯⋯⋮⋯⎦⎥⎤⎣⎡345⎦⎤=⎣⎡3∗col14∗col25∗col3⎦⎤
-
行向量与矩阵的乘法
[127]⎣⎢⎡⋯⋮⋯⋯⋱⋯⋯⋮⋯⎦⎥⎤=⎣⎡1∗row12∗row27∗row3⎦⎤
消元矩阵的实质就是将消元过程中的行变换操作转化为矩阵之间的乘法形式。我们由行向量与矩阵的乘法很容易就可以知道:[10⋯0]乘以一个矩阵,会得到该矩阵的第一行。[01⋯0]到[00⋯1]分别可以得到矩阵的其余行。将这些向量组合起来,就可以得到单位矩阵I(对角线上元素为1,其余元素均为0):I=⎣⎡100⋯⋱⋯001⎦⎤,单位矩阵乘以任何一个矩阵还是等于该矩阵本身,即IA=A
观察我们之前的消元操作,row2−row1∗3。为了让A21=0,让矩阵⎣⎡130284111⎦⎤的第二行加上第一行的-3倍,结合上文提到的行向量乘法,我们可以将操作row2−row1∗3转化为向量[−310]∗⎣⎡130284111⎦⎤=[02−2],为了让矩阵的其他行保持不变,我们用消元矩阵E21(让矩阵第二行第一列元素变化0)乘上矩阵A
E21⎣⎡1−30010001⎦⎤A⎣⎡130284111⎦⎤=B⎣⎡100224−1−21⎦⎤
同理,我们可以将操作row3−row2∗2化为消元矩阵E32∗B
E32⎣⎡10001−2001⎦⎤B⎣⎡100224−1−21⎦⎤=U⎣⎡1002201−25⎦⎤
最终我们得到:E32(E21A)=U,观察E21,E32我们可以对单位矩阵I=⎣⎡100010001⎦⎤进行操作row2−row1∗3得到E21=⎣⎡1−30010001⎦⎤,对I=⎣⎡100010001⎦⎤进行操作row3−row2∗2得到⎣⎡10001−2001⎦⎤。我们将E21,E32称为初等变换。我们可以使用乘法结合律,先计算E32∗E21,记做E,E就是整个消元过程的消元矩阵。
求消元矩阵就是把A每次变换的消元步骤操作在I矩阵上,得到相应的Eij,最后累积得到E。
置换矩阵P
- An∗n的置换矩阵P的数量个数为n2,其中包括单位阵I在内
- 置换A的两行,置换矩阵P在A的左侧
P[0110]A[acbd]=[cadb]
- 置换A的两列,置换矩阵P在A的右侧
A[acbd]P[0110]=[bdac]
逆矩阵
从上面我们可以得到:P∗A=U,即用矩阵乘法对一个矩阵进行变化。现在我们考虑一个反过程,怎样把U还原成矩阵A?
由row2−row1∗3,我们得到E21=⎣⎡1−30010001⎦⎤;现在我们进行相反操作row2+row1∗3,得到E21−1=⎣⎡130010001⎦⎤。
E21∗E21−1=⎣⎡1−30010001⎦⎤∗⎣⎡130010001⎦⎤=⎣⎡100010001⎦⎤=I
我们将E21−1称为E21的逆矩阵,逆矩阵是唯一的。