算法分析
如果给定一个形如以下式子的多元方程式
egin{cases} 2x+y-z=8\ -3x-y+2z=11\-2x+y+2z=-1end{cases}⎩⎪⎨⎪⎧2x+y−z=8−3x−y+2z=11−2x+y+2z=−1
我们要首先提出各项的系数
- 因为我们知道,高斯消元其实只跟系数有关
我们可以写成以下的矩阵形式
其中左边是各项的系数,分隔线之后的是等式右边的常数列
egin{bmatrix}2&1&-1&|&8 \ -3&-1&2&|&-11\-2&1&2&|&-3end{bmatrix}⎣⎡2−3−21−11−122∣∣∣8−11−3⎦⎤
quadqquadDownarrow⇓ 经过r行和第i行交换
egin{bmatrix}-3&-1&2&|&-11 \ 2&1&-1&|&8\-2&1&2&|&-3end{bmatrix}⎣⎡−32−2−1112−12∣∣∣−118−3⎦⎤
此时就可以开始加减消元了
首先我们要用第ii个方程的来消去第kk个方程的第kk列,那么第kk行的所有元素 A[k][j]A[k][j]都应该减去A[i][j]A[i][j]的A[k][i]/A[i][i]A[k][i]/A[i][i]倍。
(我们这里约定,A[a][b]指的是第aa行第bb列的系数)
我们用实例讲解一下:
- 这是一个已经经过第一步处理的矩阵(我承认就是从上面copy过来的):
egin{bmatrix}-3&-1&2&|&-11 \ 2&1&-1&|&8\-2&1&2&|&-3end{bmatrix}⎣⎡−32−2−1112−12∣∣∣−118−3⎦⎤
quadqquadDownarrow⇓ 经过加减消元
egin{bmatrix}-3&-1&2&|&-11 \&&&|\ &dfrac{1}{3}&dfrac{1}{3}&|&dfrac{2}{3}\&&&|\&dfrac{5}{3}&dfrac{2}{3}&|&dfrac{13}{3}end{bmatrix}⎣⎢⎢⎢⎢⎢⎢⎡−3−1313523132∣∣∣∣∣