文章

線性方程組與高斯消去法:從增廣矩陣到解空間

線性方程組是線性代數的入口。本文介紹係數矩陣與增廣矩陣的寫法、基本列運算的三種規則、列梯形與最簡列梯形的定義,並說明高斯消去法的兩階段流程,以及唯一解、無窮多解、無解三種情形的判斷方法。

線性方程組與高斯消去法:從增廣矩陣到解空間
\[\require{physics}\]

解一個方程式,你會移項。解兩個方程式,你用代入法消去一個變數。但如果有五個方程式、七個變數呢?

手動操作很快就失控——除非有一套系統化的方法。高斯消去法(Gaussian elimination)就是這樣一種方法:把方程組改寫成矩陣,對矩陣做「列運算」,最後從結果直接讀出解。


線性方程組與矩陣表示

$m$ 個方程式、$n$ 個變數的線性方程組(system of linear equations):

\[\begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2 \\ \vdots \\ a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m \end{cases}\]

可以緊湊地寫成矩陣方程式 $A\vb{x} = \vb{b}$,其中 $A$ 是 $m \times n$ 的係數矩陣(coefficient matrix)。

把常數向量 $\vb{b}$ 附加到 $A$ 的右側,得到增廣矩陣(augmented matrix)$[A \mid \vb{b}]$。

方程組

\[\begin{cases} x_1 - 2x_2 - x_3 = 3 \\ 3x_1 - 6x_2 - 5x_3 = 3 \\ 2x_1 - x_2 + 3x_3 = 0 \end{cases}\]

對應的係數矩陣和增廣矩陣分別為

\[A = \begin{bmatrix} 1 & -2 & -1 \\ 3 & -6 & -5 \\ 2 & -1 & 3 \end{bmatrix}, \qquad [A \mid \vb{b}] = \begin{bmatrix} 1 & -2 & -1 & 3 \\ 3 & -6 & -5 & 3 \\ 2 & -1 & 3 & 0 \end{bmatrix}\]

增廣矩陣包含了求解方程組的所有資訊,接下來只需要對它做操作。

幾何直覺

每個線性方程式描述一個幾何對象:$n$ 個變數的方程式是 $n$ 維空間裡的一個超平面(hyperplane)。線性方程組的解集,就是所有超平面的交集


基本列運算

對增廣矩陣做基本列運算(elementary row operations),不改變解集,但讓方程組越來越好解。

三種基本列運算,記法慣例以 $R_i$ 代表第 $i$ 列:

\[R_i \leftrightarrow R_j, \qquad kR_i \to R_i, \qquad R_i + kR_j \to R_i\]
名稱描述
列對調交換第 $i$ 列和第 $j$ 列
列縮放第 $i$ 列乘以非零常數 $k$
列加法第 $i$ 列加上第 $j$ 列的 $k$ 倍

做完基本列運算的新方程組與原方程組等價(equivalent),即有完全相同的解集。


列梯形式與最簡列梯形式

基本列運算的目標是把增廣矩陣化為一種「乾淨」的標準形式。先定義幾個術語:

  • 零列(zero row):所有元素都是 $0$ 的列
  • 領導元(leading entry):非零列中最左邊的非零元素

列梯形式(row echelon form,REF)滿足:

  1. 所有零列排在非零列下方
  2. 每列的領導元在上一列領導元的右側
  3. 領導元左下方的所有元素都是 $0$

最簡列梯形式(reduced row echelon form,RREF)在 REF 基礎上額外要求:

  1. 每個領導元都等於 $1$
  2. 領導元所在那整行(上方與下方)其餘元素都是 $0$

領導元所在的位置稱為樞軸位置(pivot positions),所在的那一整行稱為樞軸行(pivot column)。

例: 下面是一個 RREF($*$ 代表任意數):

\[\begin{bmatrix} 1 & * & 0 & * & 0 \\ 0 & 0 & 1 & * & 0 \\ 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix}\]

樞軸在第 1、3、5 行(column)。第 2、4 行沒有樞軸,對應的變數是自由變數


高斯消去法

高斯消去法是把增廣矩陣化為 RREF 的演算法,分兩階段:

第一階段(前向消去): 從左上到右下,逐列找出樞軸位置,把下方元素消為 $0$,化為 REF。

第二階段(後向代入): 從右下到左上,把每個樞軸的上方元素消為 $0$,樞軸本身化為 $1$,化為 RREF。

完整例題

解方程組

\[\begin{cases} x_1 - 2x_2 - x_3 = 3 \\ 3x_1 - 6x_2 - 5x_3 = 3 \\ 2x_1 - x_2 + 3x_3 = 0 \end{cases}\]

第一階段:前向消去

初始增廣矩陣:

\[\begin{bmatrix} 1 & -2 & -1 & 3 \\ 3 & -6 & -5 & 3 \\ 2 & -1 & 3 & 0 \end{bmatrix}\]

$R_2 - 3R_1 \to R_2$,$R_3 - 2R_1 \to R_3$:

\[\begin{bmatrix} 1 & -2 & -1 & 3 \\ 0 & 0 & -2 & -6 \\ 0 & 3 & 5 & -6 \end{bmatrix}\]

第 2 列的領導元在第 3 行(column),但第 3 列的領導元在第 2 行,違反梯形條件——列對調 $R_2 \leftrightarrow R_3$:

\[\begin{bmatrix} 1 & -2 & -1 & 3 \\ 0 & 3 & 5 & -6 \\ 0 & 0 & -2 & -6 \end{bmatrix}\]

已是 REF。

第二階段:後向代入

把樞軸化為 $1$:$\frac{1}{3}R_2 \to R_2$,$-\frac{1}{2}R_3 \to R_3$:

\[\begin{bmatrix} 1 & -2 & -1 & 3 \\ 0 & 1 & 5/3 & -2 \\ 0 & 0 & 1 & 3 \end{bmatrix}\]

消去第 3 列樞軸的上方:$R_2 - \frac{5}{3}R_3 \to R_2$,$R_1 + R_3 \to R_1$:

\[\begin{bmatrix} 1 & -2 & 0 & 6 \\ 0 & 1 & 0 & -7 \\ 0 & 0 & 1 & 3 \end{bmatrix}\]

消去第 2 列樞軸的上方:$R_1 + 2R_2 \to R_1$:

\[\begin{bmatrix} 1 & 0 & 0 & -8 \\ 0 & 1 & 0 & -7 \\ 0 & 0 & 1 & 3 \end{bmatrix}\]

直接讀出:$x_1 = -8$,$x_2 = -7$,$x_3 = 3$。唯一解。


解的三種情形

從 RREF 可以判斷線性方程組屬於哪一種情形:

唯一解(consistent,unique): 每個變數都有對應的樞軸行,增廣矩陣最後一列沒有出現 $[0\,\cdots\,0 \mid b]$($b \neq 0$)。

無窮多解(consistent,infinitely many): 某些變數的那一行沒有樞軸——這些是自由變數,可以任意取值;剩下的基本變數由自由變數決定。通解以自由變數參數化。

無解(inconsistent): 增廣矩陣出現 $[0\,\cdots\,0 \mid b]$($b \neq 0$)這一列,對應 $0 = b$,矛盾。

無窮多解的例子

增廣矩陣化簡後為

\[\begin{bmatrix} 1 & -3 & 0 & 2 & 7 \\ 0 & 0 & 1 & 6 & 9 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix}\]

樞軸在第 1、3 行 → $x_1, x_3$ 是基本變數;$x_2, x_4$ 是自由變數。通解:

\[x_1 = 7 + 3x_2 - 2x_4, \qquad x_3 = 9 - 6x_4\]

$x_2, x_4$ 可取任意值,對應無限多個解。以向量形式寫出:

\[\vb{x} = \begin{bmatrix} 7 \\ 0 \\ 9 \\ 0 \end{bmatrix} + x_2 \begin{bmatrix} 3 \\ 1 \\ 0 \\ 0 \end{bmatrix} + x_4 \begin{bmatrix} -2 \\ 0 \\ -6 \\ 1 \end{bmatrix}\]

特解 $+$ 自由變數張成的平移子空間,這就是解集的幾何結構。


解題流程總結

1
2
3
4
5
6
7
8
9
10
增廣矩陣 [A | b]
  ↓
前向消去 → 列梯形式(REF)
  ↓
後向代入 → 最簡列梯形式(RREF)
  ↓
判斷:
  出現 [0…0 | b≠0] → 無解
  每個變數行都有樞軸 → 唯一解
  有行無樞軸       → 無窮多解,自由變數參數化
情形RREF 特徵解集
唯一解每行(column)各有樞軸一個點
無窮多解存在無樞軸行平移子空間
無解出現矛盾列空集

高斯消去是線性代數計算的核心基礎,幾乎所有涉及方程組的問題——最小平方法、LU 分解、逆矩陣計算——最終都回到這個操作。

本文章以 CC BY 4.0 授權