消元法

代数

xiāo yuán fǎ

消元法通过把方程相加或相减来消去一个变量,再求解剩下的变量,从而解出方程组。

Visualization

Definition

消元法通过(在需要时先乘以常数后)把方程相加或相减来求解方程组,使某个变量的系数互为相反数从而抵消,只留下一个只含一个变量的方程,解出后再代回求另一个变量。当系数为整数且某个变量容易消去时,这种方法效果最好;当系数不能直接抵消时,先给一个或两个方程乘以适当的数,使目标系数符号相反且大小相等。消元法是求解 $Ax = b$ 时高斯消元法的算法基础:每一步都对应增广矩阵 $[A|b]$ 上的一次初等行变换,用行 $i + c \cdot (\text{row } j)$ 替换第 $i$ 行,把 $A$ 化简为行阶梯形,从而通过回代求出解;LU 分解将这一过程形式化,以提高计算效率。

Example

对于 $x + y = 8$ 与 $x - y = 2$,相加得到 $2x = 10$,所以 $x = 5$,$y = 3$。对于 $3x + 2y = 16$ 与 $5x - 2y = 0$,相加得到 $8x = 16$,所以 $x = 2$,$y = 5$。在矩阵形式中,方程组 $[[2,1],[4,3]][[x],[y]] = [[5],[11]]$ 通过行 $2 - 2 \cdot (\text{row } 1)$ 消去 $x$,得到 $[[2,1],[0,1]][[x],[y]] = [[5],[1]]$,由回代得 $y = 1$,$x = 2$。

Key Insight

消元法就像抵消相反数:如果一个方程中含有 $+y$,另一个含有 $-y$,两者相加时就会消失,只剩下一个变量待解。高斯消元法是这一思想的一般形式,对 $n$ 个方程运行时间为 $O(n^3)$;对于物理仿真中常见的大型稀疏方程组,共轭梯度法等专门算法利用其结构,运行速度快得多。