條件數計算器 - 矩陣條件與穩定性

使用 1 範數、無窮範數或 Frobenius 範數計算 2×2 或 3×3 矩陣的條件數。快速判斷線性系統的數值穩定性。

選擇矩陣大小與範數,輸入矩陣元素,計算器會回傳 κ(A) = ‖A‖ · ‖A⁻¹‖,並說明該矩陣的條件狀況。

條件數計算器 - 矩陣條件與穩定性
使用 1 範數、無窮範數或 Frobenius 範數計算 2×2 或 3×3 矩陣的條件數。快速判斷線性系統的數值穩定性。

關於條件數計算器

可逆矩陣 A 的條件數定義為 κ(A) = ‖A‖ · ‖A⁻¹‖,其中 ‖·‖ 表示任何相容的矩陣範數。它衡量線性系統 A·x = b 的解 x 中,相對誤差會被右端項 b 的相對誤差放大多少。直觀來說,條件數小的矩陣是條件良好的:輸入中的微小誤差只會造成很小的輸出誤差。條件數大的矩陣則條件不佳:即使資料裡只有極小的浮點捨入誤差,也可能產生非常不準確的解。 這個計算器支援 2 × 2 與 3 × 3 矩陣,以及三種最常用的矩陣範數。1 範數是絕對值欄和的最大值,‖A‖₁ = max_j Σᵢ |aᵢⱼ|。無窮範數是絕對值列和的最大值,‖A‖∞ = max_i Σⱼ |aᵢⱼ|。Frobenius 範數是所有元素平方和的平方根,‖A‖_F = √(Σᵢⱼ |aᵢⱼ|²),可視為矩陣版的歐幾里得向量範數。對於 2 × 2 矩陣,反矩陣使用解析公式計算:A⁻¹ = (1/det A) · [[d, −b], [−c, a]]。對於 3 × 3 矩陣,使用餘因子(伴隨矩陣)公式。 條件數是數值線性代數中的核心概念。當你在電腦上使用 LU 分解或高斯消去法求解線性系統時,計算結果的相對誤差上界大致是 κ(A) · ε,其中 ε 是機器精度(IEEE-754 雙精度約為 10⁻¹⁶)。因此,條件數為 10⁶ 代表僅因捨入誤差就可能損失多達 6 位有效數字。作為粗略經驗法則,κ < 100 的矩陣通常視為條件良好,κ 在 100 到 1000 之間的是中度條件,而超過 10³ 的則條件不佳,應謹慎處理。 還有一些重要注意事項。條件數取決於所選範數,因此用不同範數算出的數值不能直接比較,雖然它們通常只差一個小的常數因子。基於奇異值定義的 2 範數(譜範數)條件數在理論上最自然,但計算成本較高,這裡未提供。奇異矩陣的行列式精確為零,沒有反矩陣,條件數為無窮大;計算器會明確偵測這種情況。 當你需要檢查一個小型線性系統是否可以安全地做數值反矩陣運算、教學數值分析入門,或在更大的模擬與機器學習流程中解方程組前做快速檢查時,都可以使用這個工具。

範例演算

以下是幾個從條件良好到條件不佳的示範矩陣。

矩陣(2×2 或 3×3)條件數說明
[[1, 0], [0, 1]], 1-normκ = 1單位矩陣的條件最理想。無論採用哪一種標準範數,它的條件數都等於 1。
[[2, 1], [1, 3]], Frobeniusκ ≈ 3.0一個對稱正定矩陣,條件數很小。含有它的線性系統通常很容易精確求解。
[[1, 1], [1, 1.0001]], infinity-normκ ≈ 40004接近奇異的矩陣。只要 (2,2) 元素稍有擾動,解就會產生劇烈變化。
[[1, 2, 3], [4, 5, 6], [7, 8, 10]], 1-normκ ≈ 380一個條件中度的 3×3 矩陣。在單精度浮點運算中,預期會有一些精度損失。

如何使用條件數計算器

  1. 選擇矩陣大小,2 × 2 或 3 × 3。
  2. 選擇要使用的矩陣範數——1 範數、無窮範數或 Frobenius 範數。
  3. 將每個矩陣元素輸入對應的格子中。
  4. 按下「計算條件數」。結果面板會顯示 κ(A)、矩陣範數、反矩陣範數、行列式,以及白話說明。
  5. 按下「重設」即可清除所有輸入並開始新的矩陣。

條件數常見問題

條件數告訴我什麼?
它給出線性系統 A·x = b 中右端項 b 的相對誤差會在解 x 中被放大多少的上界。條件數為 10^k,表示僅因捨入誤差就可能損失多達 k 位精度。
什麼樣的條件數算「好」?
通常小於 100 視為條件良好,100–1000 為中度條件,超過 1000 則條件不佳。門檻會隨運算精度以及你對最終答案所需的精度而改變。
我該用哪一種範數?
1 範數和無窮範數計算成本低,而且資訊非常接近;Frobenius 範數也很容易計算,並且是歐幾里得向量範數的矩陣對應形式。譜(2 範數)條件數在理論上最自然,但計算更昂貴,這裡未提供。
為什麼我的矩陣被標記為奇異?
當矩陣的行列式為零(或在數值上與零不可區分,小於 10⁻¹⁰)時,它就是奇異矩陣。奇異矩陣沒有反矩陣,因此條件數為無窮大,線性系統 A·x = b 要麼無解,要麼有無限多解。
條件數和右端項 b 有關嗎?
沒有。條件數只取決於矩陣 A。它提供的是 b 的相對誤差放大的最壞情況上界,與你選擇的具體 b 無關。
條件數會小於 1 嗎?
不會。對任何相容的矩陣範數,κ(A) = ‖A‖ · ‖A⁻¹‖ ≥ ‖A · A⁻¹‖ = ‖I‖ ≥ 1。最小值 1 可由正交矩陣(或在 2 範數下的酉矩陣)達到。