ガウスの消去法

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ガウス消去法から転送)
移動: 案内, 検索

ガウスの消去法(ガウスのしょうきょほう)あるいは掃き出し法(はきだしほう)とは、変数の数と方程式の本数が一致した連立一次方程式(線形方程式系)を解く為の解法である。基本的には、前進消去と後退代入という2つのステップから成り立つ。

目次

[編集] 基本的な考え方

n元連立方程式の解がx_1 = c_1,x_2=c2, ... x_n=c_nだとすると、これは次の連立方程式を略記したものと同じである。

1x_1 + 0x_2 + ... + 0x_n = c_1
0x_1 + 1x_2 + ... + 0x_n = c_2
...
0x_1 + 0x_2 + ... + 1x_n = c_n

与えられた方程式からこの形式を導くためには、対角成分に注目して左上から式を加減していけばよいが、未知数がk個定まった時点で未知数k+1個を含む式が解けるため、一度に全ての変数を孤立化させる必要はない。つまり、

1x_1 + m_{12}x_2 + ... + m_{1n}x_n = c_1'
0x_1 + 1x_2 + ... + m_{2n}x_n = c_2'
...
0x_1 + 0x_2 + ... + 1x_n = c_n

となった時点で、下から順に値を代入することで全ての解を確定できる。これがガウスの消去法である。

[編集]

  • 次のような線形方程式系の解を求める。
     2x_1 + 4x_2 + 2x_3 = 8
     4x_1 + 10x_2 + 3x_3 = 17
     3x_1 + 7x_2 + x_3 = 11
  • まず前進消去をする。
    • 1 番目の方程式を 1/2 倍する。
       x_1 + 2x_2 + x_3 = 4
       4x_1 + 10x_2 + 3x_3 = 17
       3x_1 + 7x_2 + x_3 = 11
    • 2 番目の方程式に 1 番目の方程式の -4 倍を足す。3 番目の方程式に 1 番目の方程式の -3 倍を足す。
       x_1 + 2x_2 +  x_3 = 4
             2x_2 -  x_3 = 1
              x_2 - 2x_3 = -1
    • 2 番目の方程式を 1/2 倍する。
       x_1 + 2x_2 +  x_3 = 4
              x_2 - \frac{1}{2} x_3 = \frac{1}{2}
              x_2 - 2x_3 = -1
    • 3 番目の方程式に 2 番目の方程式の -1 倍を足す。
       x_1 + 2x_2 +  x_3 = 4
              x_2 - \frac{1}{2} x_3 = \frac{1}{2}
                  - \frac{3}{2} x_3 = -\frac{3}{2}
  • 次に後退代入をする。
    • 3 番目の方程式を -2/3 倍する
       x_1 + 2x_2 +  x_3 = 4
              x_2 - \frac{1}{2} x_3 = \frac{1}{2}
                                x_3 = 1
    • x_3 = 1 を 2 番目の方程式に代入する。
       x_1 + 2x_2 +  x_3 = 4
              x_2 = 1
              x_3 = 1
    • x_3 = 1x_2 = 1 を 1 番目の方程式に代入する。
       x_1 = 1
       x_2 = 1
       x_3 = 1
  • これで解が求まった。

[編集] 注意

  • 対角成分が 0 になる場合には、枢軸選択(ピボット選択)という式の交換を行う必要がある。
    • 対角成分が 0 になる場合以外でも、対角成分が絶対値が最大の係数になるように枢軸選択を行ったほうが、解の丸め誤差が少なくなる。ただし、これは行列要素の絶対値が同程度の大きさの場合のみ成り立ち、スケーリングを行わずに枢軸選択を行うとむしろ精度が悪化する場合もあるため、注意が必要である
    • 枢軸選択には部分選択法と完全選択法がある。絶対値が最大の係数を探索する範囲が、部分選択法は掃出し列(下方向)のみであるのに対し、完全選択法ではすべての項目(右および下方向)である。完全選択の方が計算精度は高いが計算速度およびアルゴリズムの複雑化の面で不利であるため、完全選択法の採用は現実には少ない。
  • 疎行列に対してガウスの消去法のステップを行うと疎性を損なう。
  • 前進消去の段階において対角化を目指して、後退代入を行わずに x を直接計算する方法はガウスジョルダンの消去法と呼ぶ。アルゴリズムは単純になるが、計算量は多くなる(変数が多い場合、ほぼ 1.5 倍になる)。
  • 計算量(乗算の回数)は、変数の個数を n とすると、ほぼ {1\over3}n^3 になる。

[編集] 関連項目

個人用ツール
名前空間

変種
操作
案内
ヘルプ
ツールボックス
他の言語