算法分析
如果给定一个形如以下式子的多元方程式
\begin{cases} 2x+y-z=8\\ -3x-y+2z=11\\-2x+y+2z=-1\end{cases}⎩⎪⎨⎪⎧2x+y−z=8−3x−y+2z=11−2x+y+2z=−1
我们要首先提出各项的系数
- 因为我们知道,高斯消元其实只跟系数有关
我们可以写成以下的矩阵形式
其中左边是各项的系数,分隔线之后的是等式右边的常数列
\begin{bmatrix}2&1&-1&|&8 \\ -3&-1&2&|&-11\\-2&1&2&|&-3\end{bmatrix}⎣⎡2−3−21−11−122∣∣∣8−11−3⎦⎤
\quad\qquad\Downarrow⇓ 经过r行和第i行交换
\begin{bmatrix}-3&-1&2&|&-11 \\ 2&1&-1&|&8\\-2&1&2&|&-3\end{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过来的):
\begin{bmatrix}-3&-1&2&|&-11 \\ 2&1&-1&|&8\\-2&1&2&|&-3\end{bmatrix}⎣⎡−32−2−1112−12∣∣∣−118−3⎦⎤
\quad\qquad\Downarrow⇓ 经过加减消元
\begin{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∣∣∣∣∣−11