Zirnc's Blog

Recent content on Zirnc's Blog

马上订阅 Zirnc's Blog RSS 更新: https://blog.chungzh.cn/index.xml

高斯消元笔记

2023年4月28日 08:00

消元法及高斯消元法思想

消元法是将方程组中的一方程的未知数用含有另一未知数的代数式表示,并将其带入到另一方程中,这就消去了一未知数,得到一解;或将方程组中的一方程倍乘某个常数加到另外一方程中去,也可达到消去一未知数的目的。消元法主要用于二元一次方程组的求解。

消元法理论的核心

消元法理论的核心主要如下:

  • 两方程互换,解不变;
  • 一方程乘以非零数 $k$,解不变;
  • 一方程乘以数 $k$ 加上另一方程,解不变。

过程

解方程组:

$$ \begin{cases} 2x_1+x_2-x_3=8 \ -3x_1-x_2+2x_3=-11 \ -2x_1+x_2+2x_3=-3 \end{cases} $$

写成矩阵的形式为:

$$ \left[\begin{matrix} 2 & 1 & -1 \ -3 & -1 & 2 \ -2 & 1 & 2 \end{matrix} \middle| \begin{matrix} 8 \ -11 \ -3 \end{matrix} \right] $$

这种矩阵称为增广矩阵。所谓增广矩阵,即为方程组系数矩阵 $A$ 与常数列 $b$ 的并生成的新矩阵,即 $(A | b)$,增广矩阵行初等变换化为行最简形,即是利用了高斯消元法的思想理念,省略了变量而用变量的系数位置表示变量,增广矩阵中用竖线隔开了系数矩阵和常数列,代表了等于符号。

我们从上到下依次处理每一行,处理完第 $i$ 行后,让 $A_{ii}$ 非 $0$,而 $A_{ji}(j\gt i)$ 均为 $0$。过程如下。

$$ \left[\begin{matrix} 2 & 1 & -1 \ -3 & -1 & 2 \ -2 & 1 & 2 \end{matrix} \middle| \begin{matrix} 8 \ -11 \ -3 \end{matrix} \right] \

\Rightarrow

\left[\begin{matrix} -3 & -1 & 2 \ & 1/3 & 1/3 \ & 5/3 & 2/3 \end{matrix} \middle| \begin{matrix} -11 \ 2/3 \ 13/3 \end{matrix} \right] \

\Rightarrow

\left[\begin{matrix} -3 & -1 & 2 \ & 5/3 & 2/3 \ & & 1/5 \end{matrix} \middle| \begin{matrix} -11 \ 13/3 \ -1/5 \end{matrix} \right] $$

其中最后一个增广矩阵的系数部分是上三角阵($0$ 用空白表示),而且主对角元 $a_{ii}$ 均非 $0$。该矩阵对应的方程组为:

$$ \begin{cases} -3x_1-x_2+2x_3=-11 \ 5x_2/3+2x_3/3=13/3 \ x_3/5=-1/5 \end{cases} $$

可得 $x_3=-1$,再代入前面两个方程可求解。

在消元部分中,假设正在处理第 $i$ 行,则首先需要找一个 $r\gt i$ 且绝对值最大的 $a_{ri}$,然后交换第 $r$ 行和第 $i$ 行。交换两个方程的位置不会对解产生影响,但可以减小计算误差。当 $A$ 可逆时,可以保证交换后 $a_{ii}$ 一定不等于 $0$。这种方法称为列主元法。

接下来进行所谓的“加减消元”。比如在上面的例子中的第一步,首先交换第一个和第二个方程的位置,然后用第一个方程 $(-3, 1, 2-11)$ 消去第二个方程 $(2, 1,-1, 8)$ 的第一列,方法是把第二个方程中的每个数都减去第一行对应元素的 $-2/3$ 倍。...

剩余内容已隐藏

查看完整文章以阅读更多