【掃き出し法】行列演算で連立方程式が解ける理由をわかりやすく解説
連立方程式が行列演算で解ける理由を知りたい
連立一次方程式を効率的に解く方法として、拡大係数行列を使った掃き出し法があります。
例えば、
2x + 3y = 19
8x + 6y = 46
という連立方程式を、下記のように解く方法です。
しかし、なぜこの方法で解くことができるのでしょうか?
「中学で習った連立方程式の解き方で、係数だけを取り出したやり方だから」
といえばその通りですが、ならば係数だけを書けば良いだけで、わざわざカッコで括って行列理論を持ち出してくるまでもありません。
実は、
行基本変形=ある行列を左から掛けること
で、行基本変形をやるということは、立派な行列演算をやっていることと同じです。
この観点で、拡大係数行列に掃き出し法を適用することによって連立方程式が解ける理由を解説します。
これが分かれば、掃き出し法で逆行列が求められる理由も分かります。
掃き出し法は中学で習ったやり方と同じ
まず、中学で習った方法を復習します。
冒頭の
2x + 3y = 19
8x + 6y = 46
の連立方程式を解くのに、次のようにして計算したと思います。
これをもう少し丁寧に書くと、次のようになります。

この計算をするためにはxもyも=も関係ないので、次のように書いても問題ないはずです。

ですので、下記のように拡大係数行列を定義すれば、
- 行に定数を掛ける(割るのも逆数を掛けるのと同じこと)
- 行同士を足す
という行基本変形によって連立方程式が解けますよというのが、掃き出し法の考え方です。
行基本変形は行列の掛け算
行を定数倍する行列
ここで突然ですが、下記の行列を拡大係数行列の左から掛けてみます。
すると次のようになります。
なんと、拡大係数行列の1行目だけが2倍されました。
は単位行列(通常Eと表記する)といって、これを掛けても行列の値は変わりません。
先ほど掛けた行列は、単位行列の左上の成分を1から2に変えただけの行列です。
つまり、1行目を2倍するという行基本変形は、単位行列の1行1列成分を2に変えた行列を左から掛けることと同じです。
2つの行を足す行列
次に、
の行列を拡大係数行列の左から掛けてみます。
今度は拡大係数行列の2行目に1行目が足されました。
この左から掛けた行列は、単位行列の左下の成分を0から1に変えただけの行列です。
つまり、2行目に1行目を足すという行基本変形は、単位行列の2行1列成分を1に変えた行列を左から掛けることと同じです。
行基本変形は行列の掛け算で表せる
つまり、
- 行に定数を掛ける(割るのも逆数を掛けるのと同じこと)
- 行同士を足す
という行基本変形は、単位行列の成分を少し変えた行列を左から掛けることによって実現できます。
従って、先の7つの行基本変形は、対応する7つの行列を順番に掛けることと等価なので、次のように書くことができます。

ここで最初に立ち返り、行列Aとベクトルbを次のように定義します。
すると、行基本変形をした結果は、次のように2つの行列の式が成り立つことと等価です。
従って、下記が成り立ちます。
このように、行基本変形をしてできた行列
の最終列には連立方程式の答えが計算されるのです。
掃き出し法で逆行列を計算する
この掃き出し法は逆行列の計算にも使えます。
Aの逆行列を求めるということは、
AX = E
におけるXを求めることです。
先ほどの連立方程式の時と同じように拡大係数行列を次のように定義します。
そして、行基本変形をするために掛けるn個の行列をT1T2…Tnとします。
すると
のように書けます。
そして、これは次の2式と等価です。
1式より
がすぐに導かれます。
また、これを2式に代入すると、
となり、行基本変形をしてできた行列の右半分にAの逆行列が計算されることが分かります。
Udemyの関連講座
イメージでわかる線形代数 – 連立方程式と固有値問題 -:社会人になってから学ぶ数学(初級編)
最先端科学・テクノロジーに繋がる強力な数学理論「線形代数」を1時間で理解できる!小学校から大学まで一気に駆け上るスピード感のあるコースです。
機械学習や統計解析の理論としての前提である線形代数を分かりやすく,かつ本格的に解説します. 理論だけでなくPythonによる実践方法についても学習できます.データサイエンスを目指す人には必須のカリキュラムです.
【現役データサイエンティストが教える】AI・機械学習を学ぶための線形代数〜エクセルとPythonで実践
機械学習やAIの技術を学ぶためには、線形代数の理解がとても大切です!このコースでは線形代数学(ベクトルや行列)について学びながら、エクセルとPythonで簡単な行列計算を実践してみましょう!