ガウス・ジョルダン法
理系大学生であれば一度は耳にしたことがあるかもしれませんが,数学を専門としていない人にはあまり馴染みがないかもしれませんね^^;
でも,言葉は知らなくても,実は中学を卒業している人なら誰もが一度は触れたことがある方法なんですよ!!
皆さんは中学の時の数学で連立方程式を学んだことを覚えているでしょうか?
おそらく,連立方程式の解き方には「代入法」と「加減法」の2通りがあるって先生から教わっていると思います.
実は,「加減法」こそが「ガウス・ジョルダン法」の正体なのです!!
もし中学生の読者がいたら,是非ともクラスの友人にこの話題を話してみましょう!!
きっと「xxさんって物知りなんだね!!」って注目を浴びることが出来るかもしれませんよ(確証はないけどww)
中学校で学んだ「加減法」並びに「ガウス・ジョルダン法」はそのシンプルさが故に,あまり記憶に残っていない人も多いかもしれません.
ですが,この方法は線形代数学的にも非常に理にかなっており,今日の連立方程式を解くプログラムの基礎となる,非常に重要なアルゴリズムなんです!!
ガウス・ジョルダン法は次の基本ルールから成り立っているといえます.
- ある方程式の両辺に定数を掛ける
- ある方程式の両辺に定数を掛け,別の方程式に加える
言葉だけだと伝わり辛いと思うので,次の三元連立方程式を例に
挙げて説明します(中学校は二元連立方程式が主流ですが,方程式の数が増えてもやり方は変わらないので,こっちで説明させていただきます).
それでは,1,2のルールを用いて,変数をどんどん消していきます.
これで連立方程式を解くことができました.
特別なことをしていないので,中学生の読者でも解くことができたのではないでしょうか?
この単純な解法のことこそ「ガウス・ジョルダン法」なんです.
ここから線形代数の知識を織り交ぜて「ガウス・ジョルダン法」を見ていくことにします.
先程の連立方程式は,行列の形で表すと次のように表すことができます.
ここで,係数をまとめた行列のことを「係数行列」,変数をまとめた行列
(ベクトル)を「変数ベクトル」,定数項をまとめたベクトルを
「定数ベクトル」と呼びます.まんまですね.
線形代数学的にいえば,この連立方程式を解くということは即ち,
となるようなの逆行列を求め,
を計算することに相当します.ここでは単位行列といい,いわゆる数字のに相当する行列です.
「を求める」のは,の行列までならサラスの公式を使って手計算で行えますが,それ以上の大きさになるとより複雑になってしまいます.
そこで,より簡潔に連立方程式を解く方法の一つが「ガウス・ジョルダン法」です.そしてこの方法が線形代数学的に見て理にかなっていることをこれから実証しようと思います.
先程の例で,の形に変形したのを行列で表してみると,
となります.行列の計算を嗜んでいる読者の方は実際に計算してみて確認してみてくださいね.
ここで,のことを変換行列って呼んだりします.変換行列の見方についてはいつかの機会で話すことにして,注目してほしいのは両辺左側からを掛けていることです.当たり前のことですが,変換後の式全体は変換前の関係をちゃんと維持していることが分かります.
同様にその後の式変形についても見ていきましょう.
以上から,ガウス・ジョルダン法の変換のすべては変換行列で表すことができ,新たに変換が行われたら,両辺左側から新しい変換行列が掛け合わされることが分かります.
そして,この変形を何回か繰り返していくと,左辺は最終的に
となり,右辺は
となります.
気が付いた方もいるかもしれませんが,変換行列をすべて掛け合わせたものは逆行列になる,すなわち,
となることが分かります.
長々と計算ばかりしてきましたが,つまり結論をいうと,ガウス・ジョルダン法を行えば自ずと逆行列を求めることができ,さらには方程式の解まで分かっちゃうんです!!
ちょっと面白さを感じますよね~(私だけかな^^;)