為甚麼要學消元
很多同學第一次接觸高斯消元時,都會覺得它像一堆死規則:
- 換行,
- 乘一行,
- 減一行,
- 一直做到矩陣看起來「整齊」為止。
這個理解太弱。
高斯消元真正的作用,是把本來難讀的方程組,逐步改寫成容易閱讀的 形式。每一步行變換都應該回答一個很清楚的問題,例如:
- 我下一步想把哪個變量的位置弄清楚?
- 哪個元素正在阻礙我?
- 用哪個操作,可以在不改變解集的情況下製造更多 0?
如果你一直帶著這些問題去做,消元就不再像機械重複,而會變成一種 有方向的閱讀方法。
先講直覺:我們想得到甚麼形狀?
我們想得到的,不只是「比較簡單的矩陣」,而是方便讀出結構的矩 陣。
實際上,這表示你要不斷做以下事情:
- 選一個主元,
- 把它下面的元素清掉,
- 轉到右下角較小的子矩陣,
- 如果想要最易讀的形式,再把主元上方的元素也清掉。
所以,消元其實是在一步一步建立一條主元階梯。
定義
REF 與 RREF
矩陣屬於 行階梯形(REF),表示:
- 全 0 行都放在最下面;
- 每一個非零行的第一個非零元素,都比上一行的第一個非零元素更靠 右。
矩陣屬於 最簡行階梯形(RREF),則還要再滿足:
- 每個主元都等於
1; - 每個主元所在的列,除了那個主元之外,其餘位置全部都是
0。
每一個非零行最左邊的第一個非零元素,叫做 主元。含有主元的列, 叫做 主元列。沒有主元的列,對應的是 自由變量。
這些詞彙很重要,因為之後你判斷「唯一解 / 無限多解 / 無解」時,就 是靠它們。
定理
為甚麼行化簡是安全的?
如果兩個增廣矩陣是行等價的,那麼它們代表的是等價方程組,也就是說 它們有相同的解集。
所以,行化簡不是在改題目,而是在重新排列同一題的資訊。
走一次完整的消元路徑
本地講義 MATH1030-Notes.pdf §2.2 的核心做法,是由增廣矩陣開始,
然後反覆利用主元去清掉它下面的元素。現在我們跟著這個思路看一個
小例子:
它的增廣矩陣是
例題
把每個行變換都讀成一個目的
左上角的 1 已經是一個很方便的主元,所以第一個目標很清楚:
把這個主元下面的元素全部變成
0。
做
就得到
現在第 1 列已經完成。下一個主元在第 2 行第 2 列,所以用它清掉下面
的 2:
矩陣變成
到這一步,其實已經是 REF,可以用回代法解題。不過,如果你想得到最 方便直接閱讀的形式,就繼續做成 RREF。
先把最後一個主元改成 1:
然後清掉這個主元上方的元素:
得到
最後,再把第二個主元上方的 2 清掉:
就得到 RREF
這時解可以直接讀出:
這個例子要你記住的,不是孤立的步驟,而是以下節奏:
- 清主元下面的元素,建立 REF;
- 清主元上面的元素,建立 RREF;
- 到了 RREF,就可以直接讀解。
用互動步驟器再走一次
下面的步驟器保留同一條消元路徑,但刻意放慢節奏。每到一步,都請你 同時觀察:
- 正在處理哪一個主元;
- 正在做哪一個行變換;
- 做完之後,哪一部分變得更容易讀。
邊讀邊試
跟著走完一條行化簡路徑
互動步驟器會帶你走完一條完整的消元路徑,逐步顯示行變換、正在處理的主元,以及每一步得到的矩陣。
| 1 | 2 | 2 | 4 |
| 1 | 3 | 3 | 5 |
| 2 | 6 | 5 | 6 |
行變換
先在第 1 列選主元。
要留意甚麼
第 1 列的第一行已經有方便的主元 1,所以暫時不用換行。
先由增廣矩陣開始。第一個主元的工作,是幫我們把它下面的元素清掉。
怎樣讀一個 RREF 矩陣
當矩陣已經在 RREF 時,最重要的閱讀問題有三個:
- 每個變量列都有主元嗎?
- 有沒有自由變量?
- 有沒有矛盾行?
例題
先讀結構,再做計算
假設你最後得到
這裡第 1、2 列是主元列,但第 3 列不是,所以第三個變量是自由變量。
因此,這個系統不是唯一解。它會有無限多解,因為你可以先自由選 第三個變量,再回過頭求出另外兩個主元變量。
定理
矛盾行代表甚麼?
如果行化簡後出現
它對應的方程就是 。這是不可能成立的,所以原方程組不相容, 也就是無解。
常見錯誤
常見錯誤
REF 不等於 RREF
很多人只要看到主元下面全是 0 就停手。那樣可能已經足夠做回代,但
還未到 RREF。RREF 要求主元所在的列,其他位置也全部是 0。
常見錯誤
做操作時沒有明確目標
不要因為「好像要減一下」就隨便做行變換。每一步之前,先把目的說清 楚:
- 你現在用的是哪個主元?
- 你想消去哪個元素?
- 為甚麼這一步是最自然的下一步?
這個習慣會令你的計算更穩定,也更容易檢查符號錯誤。
快速檢查
快速檢查
甚麼情況下應該先換行,再繼續消元?
想一想目前的主元位置。如果那個位置是 0,但同一列更下面有非零元
素,會怎樣處理?
解答
答案
快速檢查
[0 0 0 | 1] 是一行無害的資料嗎?
先把它翻譯回一條方程,再決定答案。
解答
答案
練習
練習 1
由
開始,如果你的目標是清掉第一個主元下面的元素,最自然的第一步行變 換是甚麼?
解答
練習 1 引導解答
練習 2
考慮矩陣
它代表的系統有唯一解、無限多解,還是無解?
解答
練習 2 引導解答
先讀這一頁
這一頁直接建立在 2.2 增廣矩陣與行變換 之上。如果你對「為甚麼行變換不會改變解集」仍然覺得不穩,請先回去 重讀那一頁,再練這裡的長消元路徑。