連立一次方程式
拡大係数行列
個の未知数と個の等式からなる次の形の連立方程式
のことを連立一次方程式あるいは線形方程式系などという。 とが異なる場合は解がなかったり複数あったりするのでそのような場合を考える必要を感じないかもしれないが、さまざまな場合を扱えた方が良いのでここではとが異なる場合を含めて考える(そもそもでも解がなかったり複数あったりする場合が存在する)。 <h_twodim> で扱ったように、この連立一次方程式は行列とベクトルを用いて
と表すことができる。 ここで
として、型の行列を連立一次方程式の係数行列、次ベクトルを定数ベクトル、次ベクトルを未知数ベクトルとそれぞれ呼ぶ。 また、連立一次方程式は
のようにも変形できる。 この時の係数行列と定数ベクトルを並べて得られる型の行列
を連立一次方程式の拡大係数行列という。 連立一次方程式は係数行列と定数ベクトルが与えられたら定まるので、拡大係数行列は連立一次方程式の必要な情報をすべて表現する。
基本変形
<h_twodim> で紹介した連立一次方程式の解法は方程式
の両辺に係数行列の逆行列を左からかけるというものであったが、 この方法が適用できるのはが正方行列つまりであって逆行列を持つ場合である。 しかしながら今回は一般の状況で方程式を解くために別の方法を考える必要がある。 加えて逆行列の簡便な公式があるのは次の場合だけで、次以上だと連立一次方程式を発展させた方程式
を解く必要がある。
連立一次方程式を解くために使われる方法が基本変形である。 基本変形による方法は掃き出し法やガウスの消去法とも呼ばれる重要な解法である。
基本変形の基本的な着想は中学校で習う加減法である。 つまり、個の等式からなる連立一次方程式に対して次の三つの操作を考える。
- 二つの等式を入れ替える。
- ある等式をでない定数倍する。
- ある等式に、別の等式の定数倍を加える。
これらをまとめて連立方程式の基本変形という。 基本変形は同値な変形になっており、繰り返し用いることで連立一次方程式を解くことができる。
例 1
鶴亀算の方程式
を考える。 第2式に第1式の倍を足して、
第2式を倍して、
第1式に第2式の倍を足して、
これにて解が得られた。
これを拡大係数行列への操作に置き換えると次が対応する。
- 二つの行を入れ替える。
- ある行をでない定数倍する。
- ある行に、別の行の定数倍を加える。
これらをまとめて行列の行基本変形という。 なお、行のところを列に変えることで列基本変形も定義でき、行基本変形と列基本変形を合わせて行列の基本変形というが、 連立一次方程式の基本変形に対応するのは行基本変形であることに注意する。
行列の基本変形を導入する利点は基本変形は以下の通りの可逆行列をかけることとして定式化できることにある。 つまり型の行列に対する行基本変形はでをスカラーとして次の操作と考えられる。
第行と第行を入れ替える基本変形は、正方行列
を左からかけることである(三点で省略した部分は)。
第行を倍する基本変形は、正方行列
を左からかけることである(三点で省略した部分は)。
第行に第行の倍を加える基本変形は、正方行列
を左からかけることである(三点で省略した部分は)。
これらの正方行列, , をまとめて基本行列という。 なお、行基本行列と呼ばないのは、列基本変形は基本行列, , を右からかけることに相当するので行基本変形と共通であるためである。
基本行列はいずれも可逆である。 実際、
である。 そのため行列の基本変形は同値な変形となっている。
例 2
やっていることは連立一次方程式の基本変形と同じだが鶴亀算の方程式の拡大係数行列を行基本変形すると以下のようになる。
ここから解はが結論づけられる。
掃き出し法と行列の階数
基本変形を用いて一定の手続きで連立一次方程式を解く手法が掃き出し法(ガウスの消去法)である。 を型の行列として第成分について掃き出すことを以下で定義する。
- の第成分で第行を割る、つまり逆数をかける。
- の第行以外の行(第行とする)から第行の倍を引く、つまり倍を足す。
この操作により第列は第行だけでそれ以外の成分はすべてとなるように変形される。 なお、第成分がの場合はこの操作は行えないことに注意する。
この掃き出しを用いて型の行列を以下のように変形していく。
- 最初, とする。
- 第成分が零の場合はそれより下に、つまりとして第成分が非零の行を見つけて第行と第行を入れ替える。
- 第成分が非零になったところで第成分について掃き出し、を増やす。
- 非零の行が見つからない場合はを増やす。
- 上記のことを繰り返してがを超えたりがを超えたところで変形を終了する。
この掃き出しを行簡約化といい、それよって行列は以下の形になる。
定義 1 (行簡約行列)
型の行列が行簡約行列であるとは以下の条件が満たされることをいう。 各行(第行)に対して成分が非零である一番左の成分の列数をとして(ただし全ての成分が零の時はとする)、 は単調増加かつ第列は第成分だけがでそれ以外はすべて零である。 またこの時、第成分を行簡約行列の主成分といい、その個数を行簡約行列の階数という。例えば次は行簡約行列であり階数はである。
重要なことはこの行簡約行列は元の行列に対して一意に決まることである。 行簡約行列をと区分けすると左部分のも行簡約行列であることに注意する。
定理 2 (行簡約行列の一意性)
行列に行基本変形を繰り返し用いることで簡約行列が得られて、別の変形方法によって簡約行列が得られたとする時、である。証明
行基本変形は可逆なので、正則行列が存在して, が成立する。 よって、正則行列によりとでき、このときを示せばよい。 列数についての数学的帰納法で証明する。 すぐわかることとしての時は成立する(行簡約行列は縦零ベクトルかしかない)。 列数がで成立するとき列数がの場合について考える。 , と区分けして、 よりかつである。 よって数学的帰納法の仮定よりであり、これをとしてその階数をとおく。 このとき、行簡約行列の定義から各に対しての第行はで、からを得る。 ここで階数の定義からとの階数はまたはである。 の階数がの場合、の第行目以降はすべて零なので、スカラーを使ってとできる。 よって、
である。 なので同様の議論をすればの階数がの場合もがわかる。 残るはの階数がともにの場合であるが、この時はしかありえない。 以上より定理の証明が完成した。
このことにより、任意の型の行列に対して簡約行列が一意に定まり、 その簡約行列の階数をもって元の行列の階数としてと表す。
注意 3
本によっては上記の行に対する掃き出し法と同様にして列に対する掃き出し法や列簡約行列を導入して、 さらに行簡約行列かつ列簡約行列である行列、すなわち簡約行列の階数により行列の階数を定める。 この場合、階数の簡約行列は
と表される。
命題 4 (転置の階数)
行列に対して、
が成り立つ。
証明
に対応する行簡約行列はの列簡約行列の転置である。 の行簡約行列の階数も列簡約行列の階数も、簡約行列の階数に等しいので、二つは一致する。 したがって、がいえる。命題 5 (正則行列の階数)
次正方行列が正則であることはその階数がであることと同値であり、 その際の行簡約行列は単位行列である。 また、正則行列は基本行列の積になる。証明
次正方行列を、その行簡約行列をとする。 階数の定義からの階数はの階数に等しく以下であることに注意する。 の階数がでないとすると、の階数もでなく以下でありの第行は零ベクトルとなる。 したがっての第行も零ベクトルとなりこれは正則でない。 以上よりが正則の時、である。 次にの階数がの時、次正方行列の行簡約行列の階数もであり、階数の定義より
がわかるので、なので最終的にがわかる。 または基本行列の積になるので正則であり、逆に正則ならば基本行列の積になっている。
命題 6 (区分けと行簡約行列)
を型の行列、を型の行列とする。 型の行列の行簡約行列をとおくと、 はの行簡約行列である。 さらにである。注意 7
の方はの行簡約行列とは限らない。この節の最後に<h_matrix> で触れた逆行列の同値な条件の証明を与える。
定理 8 (逆行列の同値な条件)
を次正方行列とする。 ここでかのどちらか片方が成立したら、もう片方も成立してはの逆行列である。証明
議論は行と列を入れ替えれば同様なので、ならばを示す。 についての数学的帰納法による。 の時は次正方行列はスカラーにほかならなく、スカラーの乗法の交換法則よりなので成立する。 次正方行列に対して成り立つとき、次正方行列を考える。 第列が零ベクトルだとは成り立たないので、第成分が非零となるような第行が存在し、第行と第行を入れ替えてから第成分について掃き出すことで
となる次の正則行列が存在することがわかる。 ここでよりと区分けすると
よって、
特に次正方行列に対してなので、数学的帰納法の仮定からが成り立つ。 また、であることに注意する。 したがってを計算すると
以上より数学的帰納法から定理が示された。
連立一次方程式の解
連立一次方程式を解くことを考えると拡大係数行列に対する行基本変形は同値変形になる。 その結果として行簡約行列が得られたとすると実はそれで連立一次方程式はもう解かれた形になっていることがわかる。
つまり以下の流れで解くことができる。
- 連立一次方程式が与えられる。
- 対応する拡大係数行列を書く。
- 行基本変形して行簡約行列を求める。
- 対応する連立一次方程式を書く。
- 解を得る。
いくつかの具体例を見てみる。
例 1 (連立一次方程式の解法)
前の方で述べた通り解はただ一つに定まるとは限らず、解がない場合と複数ある場合が存在する。 複数ある場合は未知数のうちいくつかが自由に値を取れる状態になり解は無数にあることになる。
例 2 (解を持たない場合)
例 3 (解が無数にある場合)
これらの状況を一般化してまとめると以下の定理が得られる。
定理 4 (連立一次方程式の解)
上の型の行列を係数行列、次の縦ベクトルを定数項ベクトルとして連立一次方程式を考える。 を拡大係数行列とする。
- の時、は解を持たない。
の時、次のベクトルと個の次のベクトルが存在して、解は個のスカラーを使って
と書ける。 特にの時、解はただ一つである。
定数項がすべて零である連立一次方程式
を斉次連立一次方程式という。 この場合拡大係数行列を行基本変形しても一番右の列は常に零ベクトルである。 そのため拡大係数行列を考える必要はなく係数行列を行基本変形したので十分である。 特にである。 よく考えてみると零ベクトルは解なので解を持たないことはない。 そのため前の定理は斉次連立一次方程式に対しては以下のように単純になる。
定理 5 (斉次連立一次方程式の解)
上の型の行列を係数行列として斉次連立一次方程式を考える。 このとき、個の次のベクトルが存在して、解は個のスカラーを使って
と書ける。 特にの時、解は零ベクトルただ一つである。
係数行列の等しい連立一次方程式と斉次連立一次方程式
を考える。 ここでもし斉次とは限らない連立一次方程式の解が一つ見つかったとする。 このとき、斉次連立一次方程式の任意の解とスカラーに対しては連立一次方程式の解である。 そのため前の定理によって斉次連立一次方程式の全ての解
を得たとすると、連立一次方程式の全ての解は
となる。 つまり方程式の解を一つ見つけて斉次方程式を完全に解くと元の方程式も完全に解かれる。 このような解のことを特解という。 連立一次方程式だと拡大係数行列を行簡約化する手間も係数行列を行簡約化する手間とあまり変わらないので斉次方程式のありがたみを感じないが、 微分方程式に対しても同様のことができしばしば重要になる。
逆行列の計算
この章の始めの方で述べたように次正方行列の逆行列を計算することは
を満たす次正方行列を見つけることである。 正方行列と単位行列を
と区分けする(は次の標準基底ベクトル)と、
となる。 これらは連立一次方程式になっていて、つまり逆行列を求めることは上記の個の連立一次方程式を解くことに帰着される。
しかしながら個の連立一次方程式を順番に解くことは効率が悪い、なぜなら拡大係数行列はであり係数行列がで同じであるため同じ計算を何度もしてしまうためである。 そこで拡大係数行列をまとめて次の型の行列
を行簡約化する。 もしこの行列が次正方行列を使って と行簡約化されたとすると、各に対してはに簡約化されるので、 連立一次方程式の解はであり先述の議論によりこそがの逆行列であることがわかる。 一方でこの形に行簡約化されない場合は逆行列を持たないこともわかり、まとめると以下になる。
定理 1 (逆行列の計算)
を次正方行列とする。
- の時、は正則であり、型の行列はの形に行簡約化されて、はの逆行列である。
- の時、は正則でない。
注意 2
さらにとおくとなので、の逆行列は基本行列の積として表される。 特にすべての正則行列は基本行列の積として表される。区分けと基本変形
行列の行基本変形は一行ずつ処理していくが、まとめて処理すると区分けされた行列の行簡約化がやりやすい場合がある。 そこで次の三つの変形を導入する。
- いくつかの行をまとめて入れ替える。
- 個の行に次の正則行列を左からかける。
- ある個の行に、別の個の行に型の行列を左からかけたものを加える。
これらはいずれも行基本変形の繰り返しとして実現できる。 (1)と(3)は容易にわかるが、(2)は前節で述べた通り正則行列が基本行列の積として表されることにより証明できる。
例 1
<t_blockinv> で見た通りを次の正則行列、を次の正則行列として次の正方行列
の逆行列は
で与えられる。 これを導出しようとすると上記の変形により
とできるからわかる。