[MIT18.06 Notes] Course 2 - Elimination with Matrices(Part 1)

上三角矩阵(UTM)

上三角矩阵(Upper Triangular Matrix),记作U,就是主对角线以下都是0的矩阵。
比如这就是一个上三角矩阵:
U = [ m 11 m 12 m 13 m 14 0 m 22 m 23 m 24 0 0 m 33 m 34 0 0 0 m 44 ] U= \begin{bmatrix} m11 & m12 & m13 & m14\\ 0 & m22 & m23 & m24\\ 0 & 0 & m33 & m34\\ 0 & 0 & 0 & m44 \end{bmatrix} U=m11000m12m2200m13m23m330m14m24m34m44

高斯消元法(Gauss elimination)

Mat A to Mat U

这一步,我们要将矩阵A变化成上三角矩阵U的形式
{ x + 2 y + z = 2 3 x + 8 y + z = 12 4 y + z = 2 \left\{ \begin{aligned} & x+2y+z=2\\ & 3x+8y+z=12\\ & 4y+z=2 \end{aligned} \right. x+2y+z=23x+8y+z=124y+z=2
先分离出系数矩阵A:
[ 1 2 1 3 8 1 0 4 1 ] \begin{bmatrix} 1 & 2 & 1\\ 3 & 8 & 1\\ 0 & 4 & 1 \end{bmatrix} 130284111
先变第一列,找到第一行第一个,我们称其为 主元一 (the first pivot)
[ 1 2 1 3 8 1 0 4 1 ] \begin{bmatrix} \color{#ff6666}{1} & 2 & 1\\ \color{#6666ff}{3} & 8 & 1\\ \color{#6666ff}{0} & 4 & 1 \end{bmatrix} 130284111
我们的目的是将第一列变为1, 0, 0所以我们用第二行减去三倍的第一行,第三行因为本身是0所以不管,变换后就为:
[ 1 2 1 0 2 − 2 0 4 1 ] \begin{bmatrix} 1 & 2 & 1\\ 0 & 2 & -2\\ 0 & 4 & 1 \end{bmatrix} 100224121
接下来变第二列,主元二就是第二行第二列的2:
[ 1 2 1 0 2 − 2 0 4 1 ] \begin{bmatrix} 1 & 2 & 1\\ 0 & \color{#ff6666}{2} & -2\\ 0 & \color{#6666ff}{4} & 1 \end{bmatrix} 100224121
向上面的一样,我们要将这一列剩下的一个4 (3, 2)变为0。就用最后一行减去两倍的第二行,最后就得到了我们的上三角矩阵U:
U = [ 1 2 1 0 2 − 2 0 0 5 ] U= \begin{bmatrix} 1 & 2 & 1\\ 0 & 2 & -2\\ 0 & 0 & 5 \end{bmatrix} U=100220125

失效情况

上个例子没有问题,因为它斜对角的三个主元不为零。高斯消元中主元不能为0。这是一点要注意的。
那如果为零怎么办,比如刚才例子中(1, 1)变为零,也就是主元一变为零:
[ 0 2 1 3 8 1 0 4 1 ] \begin{bmatrix} 0 & 2 & 1\\ 3 & 8 & 1\\ 0 & 4 & 1 \end{bmatrix} 030284111
这时候我们可以通过交换(Swap)的方式让非零的作为主元,交换一二行,得:
[ 3 8 1 0 2 1 0 4 1 ] \begin{bmatrix} 3 & 8 & 1\\ 0 & 2 & 1\\ 0 & 4 & 1 \end{bmatrix} 300824111
通过这个方法就可以解决了。

增广矩阵(Augmented Matrix)

然后我们再回到刚才的例子,刚才我们只处理了A没有处理b。我们将右边加一列用来放置b的值,这个新矩阵成为增广矩阵(或扩增矩阵)
还是刚才的例子
{ x + 2 y + z = 2 3 x + 8 y + z = 12 4 y + z = 2 \left\{ \begin{aligned} & x+2y+z=2\\ & 3x+8y+z=12\\ & 4y+z=2 \end{aligned} \right. x+2y+z=23x+8y+z=124y+z=2
将A变化为增广矩阵:
[ 1 2 1 3 8 1 0 4 1 ] → [ 1 2 1 2 3 8 1 12 0 4 1 2 ] \begin{bmatrix} 1 & 2 & 1\\ 3 & 8 & 1\\ 0 & 4 & 1 \end{bmatrix} \to \begin{bmatrix} 1 & 2 & 1 & 2\\ 3 & 8 & 1 & 12\\ 0 & 4 & 1 & 2 \end{bmatrix} 1302841111302841112122
然后向上面一样处理:
[ 1 2 1 2 3 8 1 12 0 4 1 2 ] → [ 1 2 1 2 0 2 − 2 6 0 4 1 2 ] → [ 1 2 1 2 0 2 − 2 6 0 0 5 − 10 ] \begin{bmatrix} 1 & 2 & 1 & 2\\ 3 & 8 & 1 & 12\\ 0 & 4 & 1 & 2 \end{bmatrix} \to \begin{bmatrix} 1 & 2 & 1 & 2\\ 0 & 2 & -2 & 6\\ 0 & 4 & 1 & 2 \end{bmatrix} \to \begin{bmatrix} 1 & 2 & 1 & 2\\ 0 & 2 & -2 & 6\\ 0 & 0 & 5 & -10 \end{bmatrix} 13028411121221002241212621002201252610

回代(back substitution)

再变换回来变成Ux=c
[ 1 2 1 0 2 − 2 0 0 5 ] [ x y z ] = [ 2 6 − 10 ] \begin{bmatrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 0 & 5 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix}= \begin{bmatrix} 2 \\ 6 \\ -10 \end{bmatrix} 100220125xyz=2610
我们可以写回方程组的形式:
{ x + 2 y + z = 2 2 y − 2 z = 6 5 z = − 10 \left\{ \begin{aligned} x+2y+z&=2\\ 2y-2z&=6\\ 5z&=-10 \end{aligned} \right. x+2y+z2y2z5z=2=6=10
即可解出
{ x = 2 y = 1 z = − 2 \left\{ \begin{aligned} &x=2\\ &y=1\\ &z=-2 \end{aligned} \right. x=2y=1z=2

你可能感兴趣的:(线性代数(Linear,Algebra),Mathematics,线性代数,矩阵,算法)