Evanalysis
2.3有來源支持嵌入式互動

2.3 高斯消元與最簡行階梯形

跟著一條完整的行化簡路徑,學會用 REF 與 RREF 讀方程組,而不是靠猜。

筆記系列

MATH1030:線性代數 I

以嚴謹方式整理的線性代數筆記,涵蓋方程組、矩陣、結構與證明;互動只在真正有助理解數學時使用。

章節 1

方程組

學習把方程讀成完整的解集。

章節 2

矩陣與消元

建立矩陣直覺,並有目的地使用行化簡。

章節 3

矩陣代數

矩陣乘法、轉置與結構化矩陣記號。

章節 4

解的結構

齊次方程組、零空間與完整解集的結構。

章節 5

可逆性

理解甚麼情況下矩陣可以被反轉,以及這件事的重要性。

為甚麼要學消元

很多同學第一次接觸高斯消元時,都會覺得它像一堆死規則:

  • 換行,
  • 乘一行,
  • 減一行,
  • 一直做到矩陣看起來「整齊」為止。

這個理解太弱。

高斯消元真正的作用,是把本來難讀的方程組,逐步改寫成容易閱讀的 形式。每一步行變換都應該回答一個很清楚的問題,例如:

  • 我下一步想把哪個變量的位置弄清楚?
  • 哪個元素正在阻礙我?
  • 用哪個操作,可以在不改變解集的情況下製造更多 0?

如果你一直帶著這些問題去做,消元就不再像機械重複,而會變成一種 有方向的閱讀方法。

先講直覺:我們想得到甚麼形狀?

我們想得到的,不只是「比較簡單的矩陣」,而是方便讀出結構的矩 陣。

實際上,這表示你要不斷做以下事情:

  1. 選一個主元,
  2. 把它下面的元素清掉,
  3. 轉到右下角較小的子矩陣,
  4. 如果想要最易讀的形式,再把主元上方的元素也清掉。

所以,消元其實是在一步一步建立一條主元階梯。

定義

REF 與 RREF

矩陣屬於 行階梯形(REF),表示:

  1. 全 0 行都放在最下面;
  2. 每一個非零行的第一個非零元素,都比上一行的第一個非零元素更靠 右。

矩陣屬於 最簡行階梯形(RREF),則還要再滿足:

  1. 每個主元都等於 1
  2. 每個主元所在的列,除了那個主元之外,其餘位置全部都是 0

每一個非零行最左邊的第一個非零元素,叫做 主元。含有主元的列, 叫做 主元列。沒有主元的列,對應的是 自由變量

這些詞彙很重要,因為之後你判斷「唯一解 / 無限多解 / 無解」時,就 是靠它們。

定理

為甚麼行化簡是安全的?

如果兩個增廣矩陣是行等價的,那麼它們代表的是等價方程組,也就是說 它們有相同的解集。

所以,行化簡不是在改題目,而是在重新排列同一題的資訊

走一次完整的消元路徑

本地講義 MATH1030-Notes.pdf §2.2 的核心做法,是由增廣矩陣開始, 然後反覆利用主元去清掉它下面的元素。現在我們跟著這個思路看一個 小例子:

x+2y+2z=4,x+3y+3z=5,2x+6y+5z=6.\begin{aligned} x + 2y + 2z &= 4, \\ x + 3y + 3z &= 5, \\ 2x + 6y + 5z &= 6. \end{aligned}

它的增廣矩陣是

[122413352656].\begin{bmatrix} 1 & 2 & 2 & 4 \\ 1 & 3 & 3 & 5 \\ 2 & 6 & 5 & 6 \end{bmatrix}.

例題

把每個行變換都讀成一個目的

左上角的 1 已經是一個很方便的主元,所以第一個目標很清楚:

把這個主元下面的元素全部變成 0

R2R2R1,R3R32R1.R_2 \leftarrow R_2 - R_1, \qquad R_3 \leftarrow R_3 - 2R_1.

就得到

[122401110212].\begin{bmatrix} 1 & 2 & 2 & 4 \\ 0 & 1 & 1 & 1 \\ 0 & 2 & 1 & -2 \end{bmatrix}.

現在第 1 列已經完成。下一個主元在第 2 行第 2 列,所以用它清掉下面 的 2

R3R32R2.R_3 \leftarrow R_3 - 2R_2.

矩陣變成

[122401110014].\begin{bmatrix} 1 & 2 & 2 & 4 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & -1 & -4 \end{bmatrix}.

到這一步,其實已經是 REF,可以用回代法解題。不過,如果你想得到最 方便直接閱讀的形式,就繼續做成 RREF。

先把最後一個主元改成 1

R3R3[122401110014].R_3 \leftarrow -R_3 \quad\Rightarrow\quad \begin{bmatrix} 1 & 2 & 2 & 4 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 4 \end{bmatrix}.

然後清掉這個主元上方的元素:

R1R12R3,R2R2R3,R_1 \leftarrow R_1 - 2R_3, \qquad R_2 \leftarrow R_2 - R_3,

得到

[120401030014].\begin{bmatrix} 1 & 2 & 0 & -4 \\ 0 & 1 & 0 & -3 \\ 0 & 0 & 1 & 4 \end{bmatrix}.

最後,再把第二個主元上方的 2 清掉:

R1R12R2,R_1 \leftarrow R_1 - 2R_2,

就得到 RREF

[100201030014].\begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & -3 \\ 0 & 0 & 1 & 4 \end{bmatrix}.

這時解可以直接讀出:

x=2,y=3,z=4.x = 2,\qquad y = -3,\qquad z = 4.

這個例子要你記住的,不是孤立的步驟,而是以下節奏:

  • 清主元下面的元素,建立 REF;
  • 清主元上面的元素,建立 RREF;
  • 到了 RREF,就可以直接讀解。

用互動步驟器再走一次

下面的步驟器保留同一條消元路徑,但刻意放慢節奏。每到一步,都請你 同時觀察:

  1. 正在處理哪一個主元;
  2. 正在做哪一個行變換;
  3. 做完之後,哪一部分變得更容易讀。

邊讀邊試

跟著走完一條行化簡路徑

互動步驟器會帶你走完一條完整的消元路徑,逐步顯示行變換、正在處理的主元,以及每一步得到的矩陣。

1224
1335
2656

行變換

先在第 1 列選主元。

要留意甚麼

第 1 列的第一行已經有方便的主元 1,所以暫時不用換行。

先由增廣矩陣開始。第一個主元的工作,是幫我們把它下面的元素清掉。

怎樣讀一個 RREF 矩陣

當矩陣已經在 RREF 時,最重要的閱讀問題有三個:

  • 每個變量列都有主元嗎?
  • 有沒有自由變量?
  • 有沒有矛盾行?

例題

先讀結構,再做計算

假設你最後得到

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

這裡第 1、2 列是主元列,但第 3 列不是,所以第三個變量是自由變量。

因此,這個系統不是唯一解。它會有無限多解,因為你可以先自由選 第三個變量,再回過頭求出另外兩個主元變量。

定理

矛盾行代表甚麼?

如果行化簡後出現

[0001],\begin{bmatrix} 0 & 0 & 0 & 1 \end{bmatrix},

它對應的方程就是 0=10 = 1。這是不可能成立的,所以原方程組不相容, 也就是無解。

常見錯誤

常見錯誤

REF 不等於 RREF

很多人只要看到主元下面全是 0 就停手。那樣可能已經足夠做回代,但 還未到 RREF。RREF 要求主元所在的列,其他位置也全部是 0

常見錯誤

做操作時沒有明確目標

不要因為「好像要減一下」就隨便做行變換。每一步之前,先把目的說清 楚:

  • 你現在用的是哪個主元?
  • 你想消去哪個元素?
  • 為甚麼這一步是最自然的下一步?

這個習慣會令你的計算更穩定,也更容易檢查符號錯誤。

快速檢查

快速檢查

甚麼情況下應該先換行,再繼續消元?

想一想目前的主元位置。如果那個位置是 0,但同一列更下面有非零元 素,會怎樣處理?

解答

答案

快速檢查

[0 0 0 | 1] 是一行無害的資料嗎?

先把它翻譯回一條方程,再決定答案。

解答

答案

練習

練習 1

[112323580112]\begin{bmatrix} 1 & 1 & 2 & 3 \\ 2 & 3 & 5 & 8 \\ 0 & 1 & 1 & 2 \end{bmatrix}

開始,如果你的目標是清掉第一個主元下面的元素,最自然的第一步行變 換是甚麼?

解答

練習 1 引導解答

練習 2

考慮矩陣

[102401130000].\begin{bmatrix} 1 & 0 & 2 & 4 \\ 0 & 1 & -1 & 3 \\ 0 & 0 & 0 & 0 \end{bmatrix}.

它代表的系統有唯一解、無限多解,還是無解?

解答

練習 2 引導解答

先讀這一頁

這一頁直接建立在 2.2 增廣矩陣與行變換 之上。如果你對「為甚麼行變換不會改變解集」仍然覺得不穩,請先回去 重讀那一頁,再練這裡的長消元路徑。

本單元重點詞彙