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

2.2 增廣矩陣與行變換

把方程組寫成 `Ax = b` 和 `[A|b]`,並嚴格理解為甚麼基本行變換會保留解集。

筆記系列

MATH1030:線性代數 I

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

章節 1

方程組

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

章節 2

矩陣與消元

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

章節 3

矩陣代數

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

章節 4

解的結構

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

章節 5

可逆性

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

一個線性方程組包含兩類資料:變數前面的係數,以及右邊的常數。當我們 解方程組時,變數符號、加號和等號的排列模式其實沒有改變;真正會改變 的是那些數字。

這正是增廣矩陣有用的原因。它把會被行變換改寫的資料集中起來,令你不 用每做一步都重寫所有變數符號。

為甚麼增廣矩陣是恰當的包裝

考慮一個有 m 條方程、n 個未知數的線性方程組:

a11x1+a12x2++a1nxn=b1,a21x1+a22x2++a2nxn=b2, am1x1+am2x2++amnxn=bm.\begin{aligned} 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{aligned}

參考筆記把它同時寫成三種平行形式:

  • 方程列表;
  • 矩陣方程 Ax=bAx = b
  • 增廣矩陣 [A|b]

定義

係數矩陣、常數向量與增廣矩陣

對於系統 Ax=bAx = b

  • AA 稱為係數矩陣
  • b 稱為常數向量
  • [A|b] 稱為增廣矩陣,即把常數列接在係數矩陣右邊所得的矩陣。

中間那條直線只是記號上的提示,用來提醒你最後一列來自等號右邊。它不 代表有另一種獨立的矩陣運算。

還有一種很重要的列向量讀法。若 AA 的各列由左至右分別是 a1,a2,,ana_1, a_2, \ldots, a_n,那麼

Ax=bx1a1+x2a2++xnan=b.Ax = b \quad\Longleftrightarrow\quad x_1 a_1 + x_2 a_2 + \cdots + x_n a_n = b.

這個觀點在之後學張成與列空間時會再出現。不過就算在現階段,它亦說明 了同一個線性系統可以從「按行閱讀」和「按列閱讀」兩方面理解。

例題

把同一個系統寫成三種形式

考慮

x1+2x2+2x3=4,x1+3x2+3x3=5,2x1+6x2+5x3=6.\begin{aligned} x_1 + 2x_2 + 2x_3 &= 4, \\ x_1 + 3x_2 + 3x_3 &= 5, \\ 2x_1 + 6x_2 + 5x_3 &= 6. \end{aligned}

它的係數矩陣和常數向量分別是

A=[122133265],b=[456].A = \begin{bmatrix} 1 & 2 & 2 \\ 1 & 3 & 3 \\ 2 & 6 & 5 \end{bmatrix}, \qquad b = \begin{bmatrix} 4 \\ 5 \\ 6 \end{bmatrix}.

所以這個系統可以寫成 Ax=bAx = b,其中

x=[x1x2x3],x = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix},

而它的增廣矩陣是

[122413352656].\left[ \begin{array}{ccc|c} 1 & 2 & 2 & 4 \\ 1 & 3 & 3 & 5 \\ 2 & 6 & 5 & 6 \end{array} \right].

三種基本行變換

本地筆記只容許三種行變換:

  1. 交換兩行;
  2. 用一個非零純量乘一行;
  3. 用一行的倍數加到另一行。

第二種操作中的「非零」非常重要。若你用 0 乘一行,就會把整條方程 抹走,而不是把它等價地改寫,所以那一步不再可逆。

定義

基本行變換

對增廣矩陣可做的行變換只有以下三種:

  1. RiRjR_i \leftrightarrow R_j
  2. RiαRiR_i \leftarrow \alpha R_i,其中 α0\alpha \ne 0
  3. RjαRi+RjR_j \leftarrow \alpha R_i + R_j

這三種操作稱為基本行變換

為甚麼這些操作會保留解集

真正要緊的,不是行變換令矩陣「變得好看」;真正要緊的是它保留了解集。

定理

行等價的增廣矩陣代表等價方程組

若一個增廣矩陣可由另一個增廣矩陣經有限次基本行變換得到,則兩者所代 表的線性方程組是等價的,也就是說,它們有完全相同的解集。

證明

逐種解釋為甚麼基本行變換是安全的

參考筆記亦特別強調「可逆」。這一點很重要,因為它把真正的等價改寫, 和會破壞資料的捷徑清楚分開。

把每一個行變換讀成方程操作

做行變換時,不要只想「我在表格裡改數字」。更準確的想法是:「我正用 其中一條方程去改寫另一條方程。」

例題

先讀懂消元,再背步驟

[122413352656]\left[ \begin{array}{ccc|c} 1 & 2 & 2 & 4 \\ 1 & 3 & 3 & 5 \\ 2 & 6 & 5 & 6 \end{array} \right]

開始,做

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

就會得到

[122401110212].\left[ \begin{array}{ccc|c} 1 & 2 & 2 & 4 \\ 0 & 1 & 1 & 1 \\ 0 & 2 & 1 & -2 \end{array} \right].

這不是魔法,它只是表示:

  • 第二條方程被換成「第二條方程減第一條方程」;
  • 第三條方程被換成「第三條方程減 2 倍第一條方程」。

因此,同一個系統只是被改寫成更容易看出下方零項結構的形式。問題本身 沒有變,變的只是呈現方式。

下一節會仔細處理高斯消元。此處最重要的觀念較為基礎:增廣矩陣只是同 一個系統的壓縮記錄,而行變換之所以合法,是因為它保留解集。

實際解題時的基本策略

參考筆記把矩陣方法概括成三步:

  1. 先把方程組寫成增廣矩陣;
  2. 用行變換把它化成較簡單的矩陣;
  3. 把較簡單的矩陣重新讀成較簡單的方程組,或直接從夠簡單的形式讀出 解答。

這個策略說起來很短,但只有當你一路清楚知道每一步保留了甚麼、想建立 哪種結構時,它才會真正可靠。

用下面的互動圖去對照:每一個行變換符號,究竟對應系統的哪種受控改寫。

邊讀邊試

把一個方程組翻成矩陣

互動探索器會突顯每條方程如何變成矩陣的一行和一個常數項。

方程組

  1. x + 2y = 5
  2. 3x - y = 4

結果

125
3-14

常見錯誤與細節

常見錯誤

[A|b] 中的直線不是可以忽略的牆

最後一列和前面的係數列屬於同一個系統。若你只對係數做行變換而不改常 數列,你就不再是在改寫同一個方程組。

常見錯誤

0 乘一行不是合法步驟

合法的縮放操作要求乘數非零。用 0 乘一行會抹走方程,既不可逆,也不 保證保留解集。

常見錯誤

行變換改的是方程,不是變數的意思

行變換是把方程彼此線性組合,不是「把 x2x_2 換成別的東西」,也不是改 變未知數本身的意義。

快速檢查

快速檢查

為甚麼 Ri0RiR_i \leftarrow 0R_i 不是合法的行變換?

請從可逆性與資料流失兩方面回答。

解答

答案

快速檢查

若只是交換兩條方程,系統的解集會改變嗎?

不要只看外觀,要想「同時滿足全部方程」這件事本身有沒有變。

解答

答案

練習

快速檢查

把系統 x12x2x3+x4=1x_1 - 2x_2 - x_3 + x_4 = 1x2+x3x4=2x_2 + x_3 - x_4 = 2x3+2x4=3x_3 + 2x_4 = 3 寫成增廣矩陣。

即使某條方程沒有出現某個變數,也要在該變數的欄位留出係數位置。

解答

引導解答

快速檢查

對同一個系統,用哪一個單一步驟可以消去第一條方程中的 x2x_2 項?新的一條方程會是甚麼?

第一條方程中的 x2x_2 係數是 2-2,而第二條方程中的 x2x_2 係數是 1

解答

引導解答

預備連結

這一頁建基於 1.1 方程與解集2.1 矩陣基礎, 並為 2.3 高斯消元與 RREF 作準備。

本單元重點詞彙