数值分析与算法设计--高斯列主元消去法

姜智浩 Lv5

高斯列主元消去法

题目

使用 高斯列主元消去法求解如下线性方程组:

$$
\begin{cases}
12x_1 - 3x_2 + 3x_3 = 15 \quad \text{(1)}\
-18x_1 + 3x_2 - x_3 = -15 \quad \text{(2)}\
x_1 + x_2 + x_3 = 6 \quad \text{(3)}
\end{cases}
$$

解答

点击查看答案

写出增广矩阵

$$
\left[
\begin{array}{ccc|c}
12 & -3 & 3 & 15 \
-18 & 3 & -1 & -15 \
1 & 1 & 1 & 6
\end{array}
\right]
$$

第1列选主元

第1列元素绝对值:
|12| = 12,
|−18| = 18 ← 最大,
|1| = 1

主元为 −18,位于第2行 → 将第1行与第2行交换:

$$
\left[
\begin{array}{ccc|c}
-18 & 3 & -1 & -15 \quad \text{(R1)}\
12 & -3 & 3 & 15 \quad \text{(R2)}\
1 & 1 & 1 & 6 \quad \text{(R3)}
\end{array}
\right]
$$

注:列主元只在当前列下方(含当前行)找最大,不考虑符号,取绝对值最大者。


消去第1列下方元素

计算乘子:

  • $ m_{21} = \frac{a_{21}}{a_{11}} = \frac{12}{-18} = -\frac{2}{3} $
  • $ m_{31} = \frac{1}{-18} = -\frac{1}{18} $

行变换:

  • $ R_2 \leftarrow R_2 - m_{21} R_1 = R_2 + \frac{2}{3} R_1 $
  • $ R_3 \leftarrow R_3 - m_{31} R_1 = R_3 + \frac{1}{18} R_1 $

计算新 R₂:
$$
\begin{aligned}
R_2 &: [12,\ -3,\ 3\ |\ 15] \
+\frac{2}{3}R_1 &: +\frac{2}{3}[-18,\ 3,\ -1\ |\ -15] = [-12,\ 2,\ -\frac{2}{3}\ |\ -10] \
\Rightarrow R_2’ &: [0,\ -1,\ \frac{7}{3}\ |\ 5]
\end{aligned}
$$

计算新 R₃:
$$
\begin{aligned}
R_3 &: [1,\ 1,\ 1\ |\ 6] \
+\frac{1}{18}R_1 &: +\frac{1}{18}[-18,\ 3,\ -1\ |\ -15] = [-1,\ \frac{1}{6},\ -\frac{1}{18}\ |\ -\frac{5}{6}] \
\Rightarrow R_3’ &: [0,\ \frac{7}{6},\ \frac{17}{18}\ |\ \frac{31}{6}]
\end{aligned}
$$

当前矩阵为:

$$
\left[
\begin{array}{ccc|c}
-18 & 3 & -1 & -15 \
0 & -1 & \frac{7}{3} & 5 \
0 & \frac{7}{6} & \frac{17}{18} & \frac{31}{6}
\end{array}
\right]
$$


第2列选主元

第2列下方元素(从第2行开始):

  • $ |a_{22}| = |-1| = 1 $
  • $ |a_{32}| = \left|\frac{7}{6}\right| \approx 1.1667 $ ← 更大!

→ 主元为 $ \frac{7}{6} $,在第3行 → 交换第2行和第3行

$$
\left[
\begin{array}{ccc|c}
-18 & 3 & -1 & -15 \quad \text{(R1)}\
0 & \frac{7}{6} & \frac{17}{18} & \frac{31}{6} \quad \text{(R2)}\
0 & -1 & \frac{7}{3} & 5 \quad \text{(R3)}
\end{array}
\right]
$$


消去第2列下方元素

计算乘子:
$$
m_{32} = \frac{a_{32}}{a_{22}} = \frac{-1}{7/6} = -\frac{6}{7}
$$

行变换:
$$
R_3 \leftarrow R_3 - m_{32} R_2 = R_3 + \frac{6}{7} R_2
$$

先算 $ \frac{6}{7} R_2 $:
$$
\frac{6}{7} \cdot \left[0,\ \frac{7}{6},\ \frac{17}{18},\ \frac{31}{6}\right]
= \left[0,\ 1,\ \frac{6}{7} \cdot \frac{17}{18},\ \frac{6}{7} \cdot \frac{31}{6} \right]
= \left[0,\ 1,\ \frac{102}{126} = \frac{17}{21},\ \frac{31}{7} \right]
$$

加到 R₃ 上:

R₃ 原为:$ [0,\ -1,\ \frac{7}{3},\ 5] $

$$
\begin{aligned}
\text{新 } R_3 &: [0,\ -1+1,\ \frac{7}{3} + \frac{17}{21},\ 5 + \frac{31}{7}] \
&= [0,\ 0,\ \frac{49}{21} + \frac{17}{21},\ \frac{35}{7} + \frac{31}{7}] \
&= [0,\ 0,\ \frac{66}{21} = \frac{22}{7},\ \frac{66}{7}]
\end{aligned}
$$

得到上三角矩阵:

$$
\left[
\begin{array}{ccc|c}
-18 & 3 & -1 & -15 \
0 & \frac{7}{6} & \frac{17}{18} & \frac{31}{6} \
0 & 0 & \frac{22}{7} & \frac{66}{7}
\end{array}
\right]
$$

回代求解

从最后一行开始:

第3行:

$$
\frac{22}{7} x_3 = \frac{66}{7} \Rightarrow x_3 = \frac{66/7}{22/7} = \frac{66}{22} = 3
$$

第2行:

$$
\frac{7}{6} x_2 + \frac{17}{18} x_3 = \frac{31}{6}
\Rightarrow \frac{7}{6} x_2 + \frac{17}{18} \cdot 3 = \frac{31}{6}
\Rightarrow \frac{7}{6} x_2 + \frac{51}{18} = \frac{31}{6}
$$

化简:$ \frac{51}{18} = \frac{17}{6} $,右边 $ \frac{31}{6} $

$$
\frac{7}{6} x_2 = \frac{31}{6} - \frac{17}{6} = \frac{14}{6} = \frac{7}{3}
\Rightarrow x_2 = \frac{7}{3} \cdot \frac{6}{7} = 2
$$

第1行:

$$
-18 x_1 + 3 x_2 - x_3 = -15
\Rightarrow -18 x_1 + 3 \cdot 2 - 3 = -15
\Rightarrow -18 x_1 + 6 - 3 = -15
\Rightarrow -18 x_1 + 3 = -15
\Rightarrow -18 x_1 = -18
\Rightarrow x_1 = 1
$$

最终解:

$$
\boxed{
x_1 = 1,\quad x_2 = 2,\quad x_3 = 3
}
$$

验算(代入原方程):

  1. $ 12(1) - 3(2) + 3(3) = 12 - 6 + 9 = 15 $
  2. $ -18(1) + 3(2) - 1(3) = -18 + 6 - 3 = -15 $
  3. $ 1 + 2 + 3 = 6 $

考点总结(高斯列主元消去法)

考点 说明
列主元选取 每步在当前列(从对角元开始往下)选绝对值最大元素所在行,与当前行交换,避免小主元导致的数值不稳定
乘子计算 $ m_{ij} = a_{ij}^{(k)} / a_{kk}^{(k)} $,用于消元
行变换 $ R_i \leftarrow R_i - m_{ij} R_k $,仅修改下方行
上三角回代 从最后一行向上代入,注意分数运算或用小数保留精度
复杂度 $ O(n^3) $,适用于中小规模稠密系统
与全主元区别 全主元在右下子矩阵中找最大元(行列都可交换),更稳定但开销大;列主元更常用
  • Title: 数值分析与算法设计--高斯列主元消去法
  • Author: 姜智浩
  • Created at : 2026-01-17 11:45:14
  • Updated at : 2026-01-17 13:42:25
  • Link: https://super-213.github.io/zhihaojiang.github.io/2026/01/17/20260117数值分析与算法设计--高斯列主元消去法/
  • License: This work is licensed under CC BY-NC-SA 4.0.