矩陣秩計算機:如何用列梯形式求出秩
矩陣秩計算機透過將矩陣化簡為列梯形式,並計算非零主元列的數量,來求出矩陣中線性獨立的列或行的數目。秩可以告訴你一個線性方程組是有唯一解、無窮多解,還是無解,並且在線性代數課程、電腦圖學和資料科學的降維技術中都會用到。本指南將逐步說明列化簡法並附上完整的運算過程,同時介紹方陣的行列式捷徑,並提供滿秩矩陣與秩虧矩陣的完整範例。你還會看到常見錯誤以及附有完整解答的練習題。
目錄
什麼是矩陣的秩?
矩陣的秩是指矩陣中線性獨立的列的最大數量——等同於線性獨立的行的最大數量。一個矩陣的維度可能很大(例如 5×5),但如果它的許多列或行都是其他列/行的組合,秩仍然可能很小。秩是介於 0 與列數、行數兩者較小值之間的一個數字:對於 m×n 矩陣,0 ≤ rank(A) ≤ min(m, n)。 秩等於 min(m, n) 的矩陣稱為滿秩矩陣。秩恰好為 n 的 n×n 方陣是可逆的;秩小於 n 的方陣稱為奇異矩陣,沒有逆矩陣。秩和矩陣的大小並不是同一件事——一個 4×4 矩陣如果有兩列是另外兩列的倍數,秩很可能只有 2。
秩 = 線性獨立的列數 = 線性獨立的行數 = 矩陣化簡為列梯形式後主元的位置數。
矩陣秩計算機如何用列梯形式求出秩?
矩陣秩計算機的運作方式是套用高斯消去法,將矩陣轉換為列梯形式(REF)——一種三角形式的排列,其中每一列的第一個非零元素(主元)都嚴格位於上一列主元的右側,而全零的列則排在最下方。一旦矩陣化為列梯形式,秩就等於非零列的數量,也就是主元的數量。 消去過程使用三種不會改變秩的合法列運算:交換兩列、將某一列乘上一個非零常數,以及把某一列的倍數加到另一列上。由於這些運算會保留線性相依關係,經過列化簡後的矩陣的秩永遠等於原矩陣的秩。
1. 步驟 1 — 找出第一個主元
從第一行的最上面一列往下掃描,找出第一個非零元素。如果第一列的元素為零,但下面某一列在第一行有非零元素,就交換兩列,讓非零值成為主元。
2. 步驟 2 — 消去主元下方的元素
對主元列下方的每一列,減去主元列的倍數,使該行主元所在的元素變成 0。重複此步驟,直到該行主元下方的所有元素都變成 0。
3. 步驟 3 — 移到下一行並重複
往下移動一列、往右移動一行,並在剩下的子矩陣中重新尋找非零主元。持續進行,直到列或行用盡為止。
4. 步驟 4 — 計算非零列的數量
當找不到更多主元時,計算不是全零的列數。這個數字就是矩陣的秩。
列運算(交換、縮放、加倍數)永遠不會改變秩。列梯形式讓秩一目了然:它等於非零列的數量。
範例:求出滿秩 3×3 矩陣的秩
考慮 A = [[1, 2, 3], [2, 5, 3], [1, 0, 8]]。這是一個用來示範滿秩列化簡的經典 3×3 矩陣。由於它是方陣,此處的滿秩代表秩為 3。
1. 步驟 1 — 消去第一行中主元下方的元素
主元是 a₁₁ = 1。 R2 = R2 - 2R1:[2-2(1), 5-2(2), 3-2(3)] = [0, 1, -3] R3 = R3 - 1R1:[1-1(1), 0-1(2), 8-1(3)] = [0, -2, 5] 矩陣現在變為:[[1, 2, 3], [0, 1, -3], [0, -2, 5]]
2. 步驟 2 — 消去第二行中主元下方的元素
現在的主元是第 2 列、第 2 行的元素 1。 R3 = R3 + 2R2:[0+2(0), -2+2(1), 5+2(-3)] = [0, 0, -1] 矩陣現在變為:[[1, 2, 3], [0, 1, -3], [0, 0, -1]]
3. 步驟 3 — 計算主元數量
每一列都有非零的首項:1、1 和 -1。三列都是非零列,因此 rank(A) = 3。由於 A 是秩為 3 的 3×3 矩陣,所以它是滿秩且可逆的。這與 det(A) = 1(5·8-3·0) - 2(2·8-3·1) + 3(2·0-5·1) = 40 - 26 - 15 = -1 相符,行列式不為零——確認了矩陣為滿秩。
結果:對於 A = [[1,2,3],[2,5,3],[1,0,8]],rank(A) = 3。三個非零主元列,與行列式 -1(非零)相符。
範例:求出秩虧矩陣的秩
現在考慮 B = [[1, 2, -1], [2, 4, 1], [3, 6, 3]]。注意第 2 行恰好是第 1 行的兩倍(2 = 2·1,4 = 2·2,6 = 2·3)——這是一個強烈的提示,說明這個矩陣不會是滿秩的。
1. 步驟 1 — 消去第一行中主元下方的元素
主元是 b₁₁ = 1。 R2 = R2 - 2R1:[2-2(1), 4-2(2), 1-2(-1)] = [0, 0, 3] R3 = R3 - 3R1:[3-3(1), 6-3(2), 3-3(-1)] = [0, 0, 6] 矩陣現在變為:[[1, 2, -1], [0, 0, 3], [0, 0, 6]]
2. 步驟 2 — 消去第三行中主元下方的元素
第 2 行沒有可用的主元(第 1 列以下的元素都是 0),因此移到第 3 行,此處第 2 列的主元是 3。 R3 = R3 - 2R2:[0-2(0), 0-2(0), 6-2(3)] = [0, 0, 0] 矩陣現在變為:[[1, 2, -1], [0, 0, 3], [0, 0, 0]]
3. 步驟 3 — 計算主元數量
只有兩列是非零的:第 1 列(主元在第 1 行)和第 2 列(主元在第 3 行)。第 3 列全為零。因此 rank(B) = 2,即使 B 是 3×3 矩陣。這與一開始發現的行相依關係相符:第 2 行 = 2 × 第 1 行,所以這三行只張成一個 2 維空間。
結果:對於一個 3×3 矩陣,rank(B) = 2——比滿秩少一維,因為第 2 行 = 2 × 第 1 行。
利用行列式捷徑求方陣的秩
對於 n×n 方陣,有一個捷徑:計算行列式。如果 det(A) ≠ 0,矩陣自動為滿秩,也就是 rank(A) = n——不需要進行列化簡。如果 det(A) = 0,你就知道 rank(A) < n,但單憑行列式無法告訴你確切的秩;你仍然需要透過列化簡(或檢查較小子矩陣的行列式)來找出秩到底比 n 少多少。
1. 步驟 1 — 計算行列式
對於 C = [[4, 2], [2, 1]]:det(C) = (4)(1) - (2)(2) = 4 - 4 = 0。
2. 步驟 2 — 由於 det = 0,透過列化簡確認秩小於 n
R2 = R2 - 0.5R1:[2-0.5(4), 1-0.5(2)] = [0, 0] 矩陣現在變為:[[4, 2], [0, 0]]。只剩一列非零,因此 rank(C) = 1,而不是 2。
方陣捷徑:det ≠ 0 代表秩 = n(滿秩),可立即得知。det = 0 只能告訴你秩 < n——需要列化簡才能找出確切的值。
列秩與行秩:為什麼它們永遠相等?
這聽起來可能令人意外,但對任何矩陣——無論是不是方陣——線性獨立的列的最大數量永遠等於線性獨立的行的最大數量。這個結果有時被稱為秩定理,這也是為什麼線性代數課程可以直接說「秩」而不需要區分列秩或行秩。 一種直觀的理解方式是:列化簡只會合併與重新排列列,而它所產生的主元行數,恰好就是原矩陣中獨立行的數量,而非零列的數量則是獨立列的數量。由於這兩個數量都來自同一組主元,它們必然相等。以先前範例中的 B = [[1, 2, -1], [2, 4, 1], [3, 6, 3]] 為例,列化簡後的形式在第 1 行和第 3 行有主元——確認恰好有 2 行是獨立的,與 2 個獨立的列相符。
列秩永遠等於行秩。這個共同的數值就直接被稱為矩陣的秩——並不存在分開的「列秩計算機」和「行秩計算機」。
秩能告訴你關於方程組的什麼資訊?
對於線性方程組 Ax = b,秩能準確決定你會得到哪一種解集。比較係數矩陣 A 的秩 rank(A),與增廣矩陣(把常數項加為額外一行)的秩 rank([A|b]):如果 rank(A) < rank([A|b]),方程組不一致且無解。如果 rank(A) = rank([A|b]) = n(未知數的數量),方程組恰好有一個解。如果 rank(A) = rank([A|b]) < n,方程組有無窮多解,其中有 n - rank 個自由變數。
1. 步驟 1 — 建立增廣矩陣
使用係數矩陣 B = [[1, 2, -1], [2, 4, 1], [3, 6, 3]],常數項 b = (4, 7, 10): [1, 2, -1 | 4] [2, 4, 1 | 7] [3, 6, 3 | 10]
2. 步驟 2 — 對增廣矩陣進行列化簡
R2 = R2 - 2R1:[0, 0, 3 | -1] R3 = R3 - 3R1:[0, 0, 6 | -2] R3 = R3 - 2R2:[0, 0, 0 | 0] 最後一列變成 0 = 0,這永遠成立——因此 rank([A|b]) = 2,與 rank(A) = 2 相符。
3. 步驟 3 — 解讀結果
由於 rank(A) = rank([A|b]) = 2 < 3 個未知數,方程組有無窮多解,其中有 1 個自由變數(y)。相較之下,若 b = (4, 7, 9):同樣的步驟會得到最後一列為 0 = -1,這是一個不可能成立的等式。此時 rank(A) = 2 但 rank([A|b]) = 3,因此方程組完全無解。
方程組的秩判準:若 rank(A) < rank([A|b]),則無解;若兩者都等於 n,則恰有一解;若兩者相等但小於 n,則有無窮多解。
計算矩陣秩時常見的錯誤
學生手動計算秩時,有幾種錯誤會一再出現。
1. 錯誤 1 — 把秩和矩陣大小搞混
4×4 矩陣並不會自動擁有秩 4。秩取決於線性獨立性,而不是列數或行數的多寡。
2. 錯誤 2 — 忘記在主元位置為零時交換列
如果需要作為主元的元素是 0,但它下方某一列在同一行有非零值,你必須先交換列再繼續——跳過這一步會產生錯誤的梯形式,進而算出錯誤的秩。
3. 錯誤 3 — 誤以為 det = 0 代表秩 = 0
det(A) = 0 對方陣而言只代表 rank(A) < n。實際的秩可能是 n-1、n-2 或任何更小的值——仍然需要透過列化簡才能確定。
4. 錯誤 4 — 過早停止列化簡
秩必須從完全化簡後的梯形式讀出。如果消去過程進行到一半就停止,可能會留下看似非零、但只要再多一步運算就會變成零的列,導致算出的秩偏高。
最常見的秩錯誤:在消去尚未完成前就直接讀出秩。務必先完成列化簡,再計算主元數量。
練習題:測試你對矩陣秩的理解
完成以下三道題目,再對照下方的解答檢查你的列化簡過程。
1. 題目 1 — 求 D = [[2, 4], [1, 2]] 的 rank(D)
解答:det(D) = (2)(2) - (4)(1) = 0,因此秩 < 2。R2 = R2 - 0.5R1 得到 [0, 0]。只剩 1 列非零,因此 rank(D) = 1。
2. 題目 2 — 求 E = [[1, 0, 2], [0, 1, 1], [1, 1, 3]] 的 rank(E)
解答:R3 = R3 - R1 - R2 得到 [1-1-0, 1-0-1, 3-2-1] = [0, 0, 0]。第 1 列和第 2 列保持非零且獨立(主元分別在第 1 行和第 2 行),因此 rank(E) = 2。
3. 題目 3 — x - y = 3 與 2x - 2y = 6 是否一致?其係數矩陣的秩是多少?
解答:係數矩陣 [[1, -1], [2, -2]] 中,第 2 列 = 2 × 第 1 列,因此秩 = 1。增廣矩陣 [[1, -1 | 3], [2, -2 | 6]](連同常數項那一行)同樣是第 2 列 = 2 × 第 1 列,所以它的秩也是 1。由於兩者的秩都等於 1,小於 2 個未知數,這個方程組是一致的,且有無窮多解——這兩個方程式描述的是同一條直線。
檢查你的作答:只要算出的秩看起來偏高,就重新完整化簡到梯形式,並確認每一個「非零」列真的擁有非零主元。
為什麼要用矩陣秩計算機來逐步練習?
手動進行列化簡時,在較長的矩陣運算中途很容易出錯——第 2 列的一個小小算術失誤,會一路傳遞影響到下方的每一列。矩陣秩計算機能顯示每一個消去步驟,讓你逐行檢查自己的計算,準確找出錯誤發生在哪裡,而不是只能看到最終的秩對不對。Solvify 的逐步解題工具和 AI 數學家教會用和本指南相同的方式,帶你走過列化簡、行列式捷徑和秩的相關問題,讓你可以核對作業、為考試練習,或是在特定矩陣上卡關時獲得協助,同時不會遺漏每一步背後的推理邏輯。
相關文章
相關數學解題工具
逐步解題
取得每一步的詳細說明,不只是最終答案。
智慧掃描解題工具
拍下任何數學題目的照片,立即取得逐步解答。
AI 數學家教
隨時提出後續問題,取得個人化的說明,全天候不中斷。
