C9 Gauss Elimination (高斯消去法)

  • 用來解聯立方程式的方法
  • 小於 3 個方程式時,可以使用用圖形法、Cramer’s rule (克拉默法則)等方法求解。
  • 無解、無限多解、斜率非常接近時,可能會有問題。

9.1.2 Determinants and Cramer’s rule

  • Cramer’s rule (克拉瑪法則):
    • 對於一聯立方程式:,其中:
      • (係數矩陣):
      • (未知數矩陣):
      • (常數矩陣):
    • 則,行列式值 為:
    • 此時:
      • 依此類推:

9.1.3 The Elimination Method (消去法)

  • 透過消去法,將方程式轉化為上三角矩陣,再進行回代求解。
  • 步驟:
    1. 將方程式轉化為增廣矩陣。
    2. 進行消去法,將矩陣轉化為上三角矩陣。
    3. 進行回代,求解
    4. 重複步驟 3,直至求得所有

9.2 Naive Gauss Elimination (高斯消去法)

  • 方法:

    1. 已知題目:
    2. 將方程式轉化為增廣矩陣:
    3. 進行消去法,將矩陣轉化為上三角矩陣:
    4. 進行回代,求解
  • 舉例:

    1. 已知增廣矩陣:
    2. 進行消去法,將矩陣轉化為上三角矩陣:
      1. 消去:

      2. 消去:
    3. 進行回代求解:

9.3 Pitfalls of Elimination Methods (消去法的問題)

  • 除零問題 (Division by Zero):當 時,將無法進行消去法。
    • 可使用 Pivotting (樞軸化) 解決此問題。
      1. 先找出最大的係數,將其設為主對角線 (樞紐)。
      2. 進行消去法。
  • 捨位誤差 (Round-Off Error):多次運算後,誤差會傳播放大。(次數大於 100 時影響很大)
    • 可使用 Scaling (縮放) 解決此問題。
      1. 將每一行的係數縮放到最大係數為 1。
      2. 進行消去法。
  • 病態矩陣 (III-Conditioing):當矩陣的條件數 (Condition number) 過大時,將導致誤差放大。
    • Well-Conditioing System (良態系統)
    • III-Conditioing System (病態系統)
      • 假設有聯立方程式:
      • 因此:
      • 而,當 接近 0 時,容易導致誤差放大 (III-Conditioing)。
      • 由於接近 0 難以判斷,在實務上,會讓每一行的係數縮放到最大係數為 1,藉此標準化後以利評估。

9.7 Gauss-Jordan Method (高斯-喬登消去法)

  • 原理:透過消去法,將增廣矩陣轉化為單位矩陣。
    • 當增廣矩陣為:
    • 轉化為:
    • 則: