線形代数 – 掃き出し法(ガウスの消去法)

投稿者: | 2023年8月14日

1 連立方程式の解の求め方

掃き出し法とは?

連立\(1\)次方程式の解法について考えてみましょう。

連立\(1\)次方程式は以下のように行列で表すことができます。

以下のように定義すると、

上の式は、

$$A\boldsymbol{x}=\boldsymbol{b}$$

と表されます。

ここで、左辺の\(A\)が単位行列\(I\)になるまで両辺に行基本操作(後述)を繰り返し行います。その結果右辺は\(\boldsymbol{b}’\)に変わったとすると、

$$I\boldsymbol{x}=\boldsymbol{b}’$$

と表されますが、\(I\)は省略できるので、

$$\boldsymbol{x}=\boldsymbol{b}’$$

となり方程式の解が得られます。

これを掃き出し法またはガウスの消去法(Gaussian elimination)よびます。

掃き出し法では上記のようにそれぞれの行列と等号を使って書いてもよいのですが、未知数と等号を省略し以下のような表し方をすることが一般的です。

縦棒より左側の行列のように係数を集めたものを係数行列(coefficient matrix)、係数行列を含む複数の行列を集めたものを拡大係数行列あるいは単に拡大行列(augmented matrix)、とよびます。

さて、行基本変形について思い出しましょう。行基本変形とは以下の\(3\)種類の操作のことでした。

\(1.\ \ \)\(2\)つの行を入れ替える

\(2.\ \ \)ある行を定数倍する

\(3.\ \ \)ある行を定数倍し別の行に加える

これらを使って係数行列の対角成分を\(1\)、それ以外の成分を\(0\)に変えます。例えば、下の図では第\(1\)行を\(-2\)倍し第\(2\)行に加えることによって\( (1,2) \)成分を\(0\)にしています。このような操作を繰り返します。

連立方程式を解く際に演算の順序に決まりはなかったように、掃き出し法も決まった順序はありません。解きやすい順序を都度決めましょう。

ただし、以下の点に注意してください。

第\(2\)行を\(-2\)倍して第\(3\)行に足したとします。

\( (3,2)\)成分は\(0\)にすることができますが、もともと\(0\)であった\( (3,1)\)成分を\(0\)以外の値にしてしまいます。これではいつまでたっても終わりません。

そこで例えば、先に\((2,1)\)成分を\(0\)にし、

その後で\((3,2)\)成分を\(0\)にすれば

上記のようなことは避けることができます。

「始/止」を押すたびに実行/停止を切り替えます。「速」を押すと速さを切り替えます。速さは\(3\)段階です。「再」を押すごとにリセットします。画面に実行/停止と速度を表示していますがここを押しても何も変わらないので注意してください。

この例では対角成分の\(1\)つを\(1\)倍にするステップがありますが、これは説明のためのものであって実際には必要のない操作です。

次の例は前の例と似ていますが、\((2,1)\)成分が\(0\)になるよう演算をすると途中の演算結果が分数になるため、その前に第\(1\)行と第\(2\)行を入れ替えています。

次の例も\(1\)番目の例と似ていますが、最初に第\(2\)行の\(-1\)倍を第\(1\)行に加えています。これも途中の演算結果が分数となることを避けるためです。

2 逆行列の求め方

前章は連立方程式の解法でしたが、逆行列も同様に求めることができます。

行列\(A\)が正則である(逆行列が存在する)場合、以下のように表すことができます。

$$AA^{-1}=I$$

行基本操作によって\(A\)を\(I\)に変形し、その結果右辺の\(I\)が\(B\)になったとします。

$$IA^{-1}=B$$

左辺の\(I\)を消去し、

$$A^{-1}=B$$

となります。行基本操作の繰り返しによって\(A\)を\(I\)に変えると、\(I\)は\(B\)すなわち\(A^{-1}\)に変わります。

つまり、拡大係数行列の左に変形対象の行列、右に単位行列を配置し、左の行列が単位行列になるまで行基本変形を繰り返すと逆行列が得られます。