掃き出し法を使った逆行列の計算

 逆行列を求めるには、行列の右に単位行列を並べたものに対して、左側の行列の
掃き出し計算(単位行列化)を行います。

    |  1   2   1  |   1   0   0  |
    |  2   1   0  |   0   1   0  |
    |  1   1   2  |   0   0   1  |

以下各ステップで行番号を、上から順に(1),(2),(3)と繰り返し使います。

[ステップ1]  1行1列目の係数を1にして、1列の他の係数を0に式変形する。     | 1 2 1 | 1 0 0 | (2)行 - (1)行×(+2): | 0 -3 -2 | -2 1 0 | ........(A) (2)行 - (1)行×(+1): | 0 -1 1 | -1 0 1 |

[ステップ2]  2行2列目の係数を1にして、2列の他の係数を0に式変形する。    | 1 2 1 | 1 0 0 | (2)行÷(-3): | 0 1 2/3 | 2/3 -1/3 0 |    | 0 -1 1 | -1 0 1 | (1)行 - (2)行×(+2): | 1 0 -1/3 | -1/3 2/3 0 |     | 0 1 2/3 | 2/3 -1/3 0 | ........(B) (3)行 - (1)行×(-1): | 0 0 5/3 | -1/3 -1/3 1 |

[ステップ3]  3行3列目の係数を1にして、3列の他の係数を0に式変形する。    | 1 0 -1/3 | -1/3 2/3 0 |    | 0 1 2/3 | 2/3 -1/3 0 | (3)行÷( 5/3 ): | 0 0 1 | -1/5 -1/5 3/5 | (1)行 - (3)行×(-1/3): | 1 0 0 | -2/5 3/5 1/5 | (2)行 - (3)行×(2/3): | 0 1 0 | 4/5 -1/5 -2/5 | ........(C)     | 0 0 1 | -1/5 -1/5 3/5 |  以上で左側の行列は単位行列になり、右側の行列が求める逆行列です。式変形の アルゴリズムは実質的にはガウス・ジョルダン法です。  各ステップの結果(A),(B),(C)を見ると、6つの列の内3列は常に0と1の係数 で、この部分は後の計算に関係しません。そこでプログラムでは、この部分を省略 することにより3行3列の行列だけで表現できます。

| 戻る |

Copyright(c) 1999 Yamada,K