掃き出し法のやり方|基本変形で連立方程式を解く
連立一次方程式を解くとき、未知数を一つずつ消していくのが消去法である。この消去を行列のうえで機械的に進める手法が掃き出し法(ガウスの消去法)であり、その一手一手が行列の基本変形にあたる。手計算で連立方程式を解くことから、逆行列や階数の決定まで、線型代数の計算の多くはこの一つの技法に集約される。
行列の基本変形
行列に対して行う操作のうち、次の三種類を行基本変形と呼ぶ。
いずれの操作にも逆操作がある。「第 行を 倍する」の逆は「第 行を 倍する」、二行を入れ替える操作の逆はもう一度入れ替えること、「第 行に第 行の 倍を加える」の逆は同じ行から 倍を引くことである。逆操作があるという事実は、変形で情報が失われず、いつでももとの行列へ戻せることを保証する。列に対して同じ三操作を考えたものは列基本変形と呼ぶが、連立方程式を解く場面では行基本変形だけを使う。
基本変形がこれほど役立つのは、連立方程式の解を変えないからである。方程式の両辺を定数倍しても、二つの式を入れ替えても、ある式に別の式を足しても、解の集合は変わらない。基本変形は、この当たり前の操作を、係数と定数だけ取り出した拡大係数行列のうえで行っているにすぎない。だから変形後の行列が表す方程式は、もとの方程式と同じ解をもつ。
行階段形と被約行階段形
掃き出し法の目標は、拡大係数行列を階段状の形へ整えることである。各行の左端にある最初の非零成分をピボットと呼ぶ。行階段形とは、下の行ほどピボットが右へずれ、ピボットより下がすべて になった形をいう。ここまで来れば解はかなり読みやすいが、もう一段整えるとさらによい。
各ピボットを にし、ピボットの上も下もすべて にした形を被約行階段形(行簡約階段形)と呼ぶ。ここまで変形すると各未知数の値がそのまま右端に並び、あとは読み取るだけでよくなる。
ピボットより下だけを にした段階。前進消去で得られ、後退代入で解く。
ピボットを にし、上も下も にした形。解が右端にそのまま現れる。
掃き出し法の進め方
手順は二段構えである。まず左上のピボットで、その下の成分を消す前進消去を進めて行階段形にする。次にピボットの上を消しながらピボットを に整える後退代入を行い、被約行階段形へ仕上げる。以下、行のサイズ(式の数)と列のサイズ(未知数の数)を変えながら、この手順を実際にたどる。
例1:2×2 の連立方程式(ただ一つの解)
二本の式に二つの未知数をもつ、もっとも基本的な形から始める。, の拡大係数行列を変形する。
第一行と第二行を入れ替え、左上を にする。
で第一列の下を消す。
でピボットを にし、 で上を消すと被約行階段形になる。
右端がそのまま答えで、, である。もとの式に戻せば 、 と確かに成り立つ。係数行列が正則な正方行列のとき、解はいつもこのようにただ一つに定まる。
例2:3×3 の連立方程式(ただ一つの解)
未知数が三つに増えても手順は変わらない。, , を考える。
、 で第一列の下を消す。
で第二列の下を消すと、行階段形になる。
で三番目のピボットを にする。
あとは上を消す。、、続けて とすると被約行階段形に至る。
よって , , である。三つの式がそれぞれ独立に効いて、解は一点に定まる。
例3:3×3 で解をもたない場合
式の数と未知数の数がそろっていても、つねに解けるとは限らない。, , を変形する。
、 で第一列を掃く。
さらに とすると、左側がすべて の行が現れる。
第二行は という等式を表しており、これは決して成り立たない。したがってこの連立方程式に解はない。左辺が消えたのに右辺が残る行が出たら、その時点で解なしと判定できる。
例4:2×3 で解が無数にある場合
式より未知数が多いと、条件が足りず解を一つに絞り切れないことが多い。二本の式 , を変形する。
のあと、新しい第二行を使って とすると被約行階段形になる。
ピボットは第一列と第二列に立ち、第三列にはピボットがない。ピボットのない は自由に選べる変数で、 とおくと , となる。解は次のように書ける。
これは直線一本ぶんの無数の組である。自由変数の個数は、未知数の数からピボットの数を引いた に等しい。
例5:3×2 で解をもたない場合
逆に式が未知数より多いと、条件が過剰でどの組も全部の式は満たせないことが多い。, , の三本を、二つの未知数について解こうとする。
、 のあと、 でピボットを整える。
とすると、また矛盾する行が出る。
最下行は で、解はない。最初の二式だけなら , に定まるが、三本目の がこれを拒む。三つの直線が一点で交わらない状況である。
例6:3×2 でもただ一つに定まる場合
式が多いことが、そのまま「解なし」を意味するわけではない。三本目がほかと折り合えば、解はきちんと定まる。, , を解く。
、 のあと、、、 と進める。
最下行は で、何の制約も加えない当たり前の等式である。矛盾がないので解はあり、, とただ一つに定まる。三本目の式が最初の二本から導ける従属な式だったため、過剰に見えて条件はちょうど足りていた。
解の型は階数で決まる
ここまでの六つの例は、サイズも解の型もばらばらに見えるが、階数を使えば一つの規則にまとまる。行列の階数 とは、行階段形にしたときのピボットの個数である。係数行列 の階数、右辺まで含めた拡大係数行列 の階数、そして未知数の個数 を比べれば、解の型が決まる。
| 階数の関係 | 解の型 |
|---|---|
| rank A < rank[A|b] | 解なし |
| rank A = rank[A|b] = n | ただ一つ |
| rank A = rank[A|b] < n | 無数(自由度 n − rank A) |
例 1 と例 2 は の一意解、例 4 は の無数解、例 3 と例 5 は の解なし、例 6 は式が多くても にそろった一意解として読み解ける。掃き出して行階段形にした瞬間に、ピボットの位置が三つの型のどれかを教えてくれる。式の数や未知数の数そのものではなく、独立な式が何本あるか、すなわち階数が解の運命を握っている。
例7:逆行列を求める
掃き出し法は連立方程式を超えて使える。まず逆行列である。正則な 次正方行列 の右に単位行列を並べた を作り、左半分が単位行列になるまで行基本変形を施すと、右半分に が現れる。例として次の行列の逆行列を求める。
から出発する。
、、、 と進めると、左半分が単位行列になる。
右半分が逆行列であり、次を得る。
この方法が正しいのは、行基本変形が左から基本行列を掛ける操作だからである。左半分を にする変形の列を とまとめると 、すなわち であり、同じ変形を右半分の に施した結果が になる。左を単位行列へ均す作業が、右で逆行列を組み立てている。
例8:ランクを求める
行列の階数も掃き出し法で読める。行階段形にしたときのピボットの個数が、そのまま階数である。次の行列を変形する。
、 とすると次の形になる。
第二行がまるごと になった。行を入れ替えて階段状に整えれば、ピボットは第一行ともとの第三行の二つで、 である。第二行が第一行の 倍だったために、独立な行は二本しかなかったわけだ。階数は独立な行(および列)の本数、すなわち写像の像の次元を表す。
例9:行列式を求める
基本変形は行列式の計算にも使える。三つの操作が行列式をどう変えるかは決まっている。二行を入れ替えると符号が反転し、ある行を 倍すると行列式も 倍になり、ある行に別の行の定数倍を加えても行列式は変わらない。そこで「加える」操作だけで上三角形に持ち込めば、行列式は対角成分の積に等しくなる。
を、行を足し引きする操作だけで変形する。、、 とすると上三角形になる。
用いたのは「行に行を加える」操作だけで、これは行列式を変えない。したがって は対角成分の積 に等しい。途中で入れ替えや定数倍を使ったときは、その符号や倍率をあとで補正すればよい。
掃き出し法でできること
一つの技法が、連立方程式・逆行列・階数・行列式のすべてに効くことを最後にまとめておく。
拡大係数行列を被約行階段形にし、右端から解を読む。階数の比較で解の型も判定できる。
を掃き出して にする。左を単位行列に均せば、右に逆行列が残る。
行階段形のピボットの個数がそのまま階数になる。独立な行と列の本数を表す。
加える操作だけで上三角形にし、対角成分の積をとる。入れ替えと定数倍は符号・倍率で補正する。
これらはすべて、行基本変形という同じ動作の言い換えにすぎない。掃き出し法を一つ身につければ、線型代数の計算問題の大半はこの手順に流し込める。基本変形が試験で繰り返し問われるのも、そのためである。












