ガウスの消去法
ガウスの消去法(ガウスのしょうきょほう、英: Gaussian elimination)あるいは掃き出し法(はきだしほう、英: row reduction)とは、連立一次方程式を解くための多項式時間アルゴリズムであり、通常は問題となる連立一次方程式の係数からなる拡大係数行列に対して行われる一連の変形操作を意味する。 同様のアルゴリズムは歴史的には前漢に九章算術で初めて記述された。連立一次方程式の解法以外にも
行列の階数の計算
行列式の計算
正則行列の逆行列の計算
などに使われる。このアルゴリズムは、大きな方程式系を系統的な方法で小さな系へ分解する方法を与えるものと理解することができ、基本的には、前進消去 (forward elimination) と後退代入 (backward substitution) という2つのステップから成る。
行列に対して掃き出し法を行う為には、行に関する基本変形を行列に可能な限り繰り返し行って行列の左下部分の成分を全て 0 にする。行に関する基本変形には、
二つの行を入れ替えるもの
ある行を0でない定数倍するもの
ある行に他のある行の定数倍を加えるもの
の3種類の操作があり、必ず行列を上三角型に変形することができる。実際には、ゼロでない成分を持つ行が、ゼロしか成分に持たない行よりも上に位置し、主成分(行内の 0 でない成分のうち最も左にあるもの)が、その行の上にある行の主成分よりも、真に右側に位置する行階段形に変形される。 特に全ての主成分が 1 になり、主成分を含む列にある主成分以外の成分が 0 であるとき、この行列は行簡約階段形であると呼ばれる。この最終形は一意的であり、どのような行基本変形が行われたかには依存しない。
次の連立一次方程式の解を拡大係数行列を用いずにガウスの消去法のアルゴリズムで求めてみる。 式の本数が固定されていること、式の入れ替えもまた一つの操作であることに注意すべきである。
2 x 1 + 4 x 2 + 2 x 3 + 2 x 4 = 8 4 x 1 + 10 x 2 + 3 x 3 + 3 x 4 = 17 2 x 1 + 6 x 2 + x 3 + x 4 = 9 3 x 1 + 7 x 2 + x 3 + 4 x 4 = 11 {\displaystyle {\begin{aligned}&2x_{1}&+&4x_{2}&+&2x_{3}&+&2x_{4}&&=8\\&4x_{1}&+&10x_{2}&+&3x_{3}&+&3x_{4}&&=17\\&2x_{1}&+&6x_{2}&+&x_{3}&+&x_{4}&&=9\\&3x_{1}&+&7x_{2}&+&x_{3}&+&4x_{4}&&=11\end{aligned}}}
まず前進消去をする。 1 番目の方程式を 1/2 倍する。 x 1 + 2 x 2 + x 3 + x 4 = 4 4 x 1 + 10 x 2 + 3 x 3 + 3 x 4 = 17 2 x 1 + 6 x 2 + x 3 + x 4 = 9 3 x 1 + 7 x 2 + x 3 + 4 x 4 = 11 {\displaystyle {\begin{aligned}&x_{1}&+&2x_{2}&+&x_{3}&+&x_{4}&&=4\\&4x_{1}&+&10x_{2}&+&3x_{3}&+&3x_{4}&&=17\\&2x_{1}&+&6x_{2}&+&x_{3}&+&x_{4}&&=9\\&3x_{1}&+&7x_{2}&+&x_{3}&+&4x_{4}&&=11\end{aligned}}} 2 番目の方程式に 1 番目の方程式の −4 倍を足す。