Loading [MathJax]/jax/output/CommonHTML/jax.js
スポンサーリンク

「連立一次方程式の解の存在定理と解き方」【線型代数学の基礎シリーズ】行列編 その7

線型代数学

本記事の内容

本記事は「連立一次方程式の解の存在定理」と「実際に解くときにどう解くのか」ということについて解説する記事です。

本記事を読むにあたり、線型空間の次元について知っている必要があるため、以下の記事も合わせてご覧ください。

連立方程式の解の不定と不能

中学校での話

連立方程式については、中学校で習ったかと思います。
そのときに、「未知数の数と式の数が一緒だったら答えがありますよ」という主旨のことを習ったかと思います。
これは正しいです。
これの事実はすでに行列を用いて証明しています。

これからの話

上記を行列の言葉で表してみます。

連立一次方程式
Ax=b
で、未知数の個数と式の数が等しい、すなわちAが正方行列であって、かつ正則であるようなときに解が一意的に定まる。

ということでした。
実際、Aが正則であれば、Aの逆行列A1が存在するので、解はA1bとなるからです。

これからは、未知数の数と式の数が必ずしも一致しない場合、つまりAが必ずしも正方行列とは限らない場合と、Aが正方行列であっても正則行列でない場合について考えます。

そのためにイメージしとして1次方程式を思い出してみます。

1次方程式の不定と不能

1次方程式
ax=b
において、a0のとき、
x=ba
と解けます。
しかしながらa=0のときは必ずしもそうではありません。
この場合は以下の2パターンに分けられます。

  • b=0の場合
  • b0の場合

です。
前者の場合はxは任意の数が解になります(xがどんな数であっても0=0ということになるから)。
x本当に何でも良い、というわけです。
この場合は解は不定であるといいます。

後者の場合はxがどんな数れあれ、0=b0となってしまうので解が存在しません。
この場合、解は不能であるといいます。

実は、これらと同様の減少が一般の連立一次方程式についても起こるのです。

連立一次方程式の解の存在定理

では、解が存在することの必要十分条件について説明します。

拡大係数行列

まずは、拡大係数行列というものを説明します。
これは、実際に連立一次方程式を解くときに使う特殊な行列です。

拡大係数行列

x1,x2,,xnを未知数とする連立一次方程式 {a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm は、 A=(a11a1nam1amn),x=(x1xn),b=(b1bm) とおくことにより、 Ax=b と書くことができる。このとき、次の(m,n+1)型の行列 (a11a1nb1am1amnbm) を与えられた連立一次方程式の拡大係数行列といい、 (A,b) と書く。

要するに、拡大係数行列というのは、連立一次方程式の係数を集めてできる行列に、方程式の=の右側の数のベクトルをくっつけたものです。

連立一次方程式の解の存在定理

では、必要十分条件を述べます。

定理1.(連立一次方程式の解の存在定理)

連立一次方程式Ax=bが解をもつための必要十分条件は、線型写像A:RnRmの像空間Image(A)に定数項のベクトルbが含まれることである。 すなわち、 bImage(A) である。

これはもはや証明が不要と言ってもいいくらいなのですが、書きます。

定理1.の証明

連立一次方程式Ax=bが解を持つ、ということはAx=bを満たすようなxが存在する、ということです。
Ax=bを満たすようなxが存在する、ということはまさにbImage(A)ということに他なりません。

定理1.の証明終わり

「え?そんなん当たり前じゃね?」と思うかもしれませんが、そうです。その通りです。
トートロジーに近いのですが、行列Aを線型写像として捉える視点が重要なのであって、すべての基本となります。

実は、拡大係数行列のランクが解の存在とも関わってきます。

定理2.

m,nNA(m,n)型の行列とする。このとき連立一次方程式Ax=bが解を持つための必要十分条件はA,brank(A)=rank(A,b) を満たすことである。

定理2.の証明

割と簡単に証明できます。

Aの列ベクトルをa1,,anと書いたとします。
つまりA=(a1  ar)です。

このとき、次の同値の積み重ねによって証明できます。

(x) s.t. Ax=bbImage(A)(x=(x1xn)) s.t. x1a1++xnan=bbS[a1,,an]S[a1,,an]=S[a1,,an,b]dim(S[a1,,an])=dim(S[a1,,an,b])rank(A)=rank(A,b)
となって証明完了です。
ただし、以下の定理を使いました。

定理3.

m,nNA=(aij)(m,n)型の行列とし、a1,a2,,anAの列ベクトルとする。このとき、 rank(A)=dim(S[a1,a2,,an]) である。

定理3.の証明は【線型代数学の基礎シリーズ】行列編 その6を御覧ください。

定理2.の証明終わり

ちなみに、ax=bにおいて、a=0,b0の不能の場合は、この定理でいうところのrank(A)=0かつrank(A,b)=1であり、a=b=0の場合はrank(A)=rank(A,b)=0です。

この定理から、行列のランクを計算することで解が存在するのかどうかが分かるわけです。
しかし「え?毎回毎回像空間の次元を考えなきゃいけないの?面倒くさくない?」と思うかもしれません。
筆者はそうでした。
しかし、実は実用的に行列のランクを求める方法があります。
それについては次回解説します。

実用的な連立斉一次方程式の解き方

今までは理論的なことを見てきましたが、これからは実用的なことについて述べます。

連立一次方程式の基本変形(掃き出し法、消去法)

連立一次方程式の基本変形は以下の3つです。

  • (基本変形Ⅰ):1つの式に0でない数をかける。
  • (基本変形Ⅱ):1つの式にある数をかけたものを他の式に加える。
  • (基本変形Ⅲ):2つの式を入れ替える。

ここで「んぉ?なんか知ってるかも?」と思った方、鋭いです。
その通り。これは行列の行基本変形です。

実は、中学校で習った消去法は行列の言葉で書くと、行基本変形を行っている、ということなのです。

ちょいと計算してみようZE

例4. 次の連立一次方程式を考えてみましょう。
(α){2x+yz=2(1)x2y+3z=9(2)4x+2y+7z=31(3)
(1)および(2)を入れ替えます(基本変形Ⅲ)。
(β){x2y+3z=9(1)12x+yz=2(2)14x+2y+7z=31(3)1

(β)は基本変形Ⅲを行って得られたのですが、逆に(β)から基本変形Ⅲを行って(α)が得られるので、連立一次方程式(α)(β)は同値です。

次に、(2)1(1)1×2(3)1(1)1×4という基本変形Ⅱを行い、xを消去します(まさに消去法!)。
これらの式と(1)1とを組んで次の連立一次方程式を得ます。

(γ){x2y+3z=9(1)25y7z=16(2)210y5z=5(3)2
逆に、(γ)から基本変形Ⅱによって(β)が得られます。
従って、(β)(γ)は同値です。

次に(γ)において19((3)2(3)2×2)という基本変形ⅡとⅠを行うとzが求まります。
この結果の式を(3)3として、(1)2(2)2と組んで次の連立一次方程式を得ます。
(δ){x2y+3z=9(1)35y7z=16(2)3z=3(3)3
これもまた(δ)から(γ)が得られますので、(γ)(δ)は同値です。

次に、15((2)3+(3)3×7)という基本変形ⅡとⅠを行うとyが求まります。
この結果の式を(2)4として(1)3(3)3と組んで次の連立一次方程式を得ます。
(ϵ){x2y+3z=9(1)4y=1(2)4z=3(3)4

最後に(ϵ)において(1)4+(2)2×2(3)4×3という基本変形ⅡとⅠを行うとxが求まります。
この結果の式を(1)5として、(2)4(3)4と組んで次の連立一次方程式を得ます。
(ζ){x=2(1)5y=1(2)5z=3(3)5
これもまた(ϵ)(ζ)は同値です。
最後の式はx,y,zが具体的に与えられているので、最初の連立一次方程式の解に他なりません。

連立一次方程式の基本変形は可逆なんです。

そうなんです。可逆なんです。
これを明示すると、以下です。

定理5.

連立一次方程式の基本変形は可逆である。すなわち、基本変形を繰り返して連立一次方程式(α)(β)に移ったとすると、逆に(β)は適当な基本変形を繰り返して(α)に移る。つまり、連立一次方程式として(α)(β)は同値である。

定理5.の証明

なんてことありません。

  1. (Ⅰ)1つの式にc0をかけるという変形に対しては、同じ式に1c をかけることでもとに戻ります。
  2. (Ⅱ)pqとするとき、(p)式のa倍を(q)式に加えるという変形に対しては、(p)式のa倍を(q)式に加えることによりもとに戻ります。
  3. (Ⅲ)pqとするとき、(p)式と(q)式を入れ替えるという変形に対しては、もう一度(p)式と(q)式を入れ替えることによりもとに戻ります。

以上のことから基本変形(Ⅰ)、(Ⅱ)、(Ⅲ)はそれぞれ可逆です。

定理5.の証明終わり

行基本変形

今までの連立一次方程式の変形を見てみると、連立一次方程式の基本変形の”式”が行列において”行”に対応していることが分かると思います。
ここでは今までの連立一次方程式の基本変形の操作を行列の言葉で、すなわち行基本変形について少々書こうと思います。
行基本変形はランクとも関係がありますが、それは次回解説します。

行基本変形についてはサラッと学んでいますが、再度列挙します。

行列の行基本変形

行列の次の3つの変形を行基本変形という。
  • (Ⅰ)1つの行に0出ない数をかける。
  • (Ⅱ)1つの行にある数をかけたものを他の行に加える。
  • (Ⅲ)2つの行を入れ替える。

例4.の連立一次方程式を解くにあたって行った計算は、拡大係数行列の基本変形にほかならないのです。
実際にどうなるのか、ということを見てみましょう。

(2112123942731)(1239211242731)(12390571601055),(1239057160013),(123901010013)(100201010013)
ということです。
この結果、(x,y,z)=(2,1,3)が解になります。

これ、やばいでしょ?簡単でしょ?
急に言葉が乱れましたが、それくらい筆者は凄いな、と初めて学んだときに思いました。

要するに、拡大係数行列の係数行列の部分を行基本変形でもって単位行列にすることで解が求まるということで、その道中で、
(003)
のようになってしまうと、0=3(例えばの話)という等式が出てきて矛盾なので、解は存在しないことが分かります。

さらに、
(000)
というようになったら、変数の数と式の数が一致しないので一意的には解けない、ということが分かります。

行基本変形については次回あらためてランクとの関係性を見ていきます。

行基本変形は可逆なんです。

そうなんです。
これは今までの話から直ちに分かることだと思いますが、定理として明示します。

定理6.

行列の行基本変形は可逆である。すなわち、基本変形を繰り返して行列ABに移ったとすると、逆にBは適当な行基本変形を繰り返してAに移る。

「列基本変形はしないの?」「しません。やってはいけません。」

連立一次方程式を解くときには、行列の列基本変形をしてはダメです。

なぜかと言うことを先程の例を流用して説明します。

拡大係数行列
(2112123942731)
に列基本変形をしてみましょう。
例えば、第3列を第1列に加えてみると、
(11124239112731)
となります。
この拡大係数行列が表す連立一次方程式は
{x+yz=24x2y+3z=911x+2y+7z=31
ですので、連立一次方程式として別物になってしまうからです。
実際に中学校のときもこのようなことはしなかったはずです。

要するに、列基本変形をしてしまうと連立一次方程式として別物になってしまうので、列基本変形は連立一次方程式の拡大係数行列に対して行ってはいけません。

今回は連立一次方程式の解の存在定理と連立一次方程式を実際にどうやって行列で解くのかということについて解説しました。
そのために拡大係数行列という行列を導入しました。

結論としては、行基本変形をすることで、拡大係数行列の係数行列の部分を単位行列に変形して解く、ということです。

次回は行基本変形、列基本変形とランクの関係性について解説します。

乞うご期待!質問、コメントなどお待ちしております!

コメントをする

タイトルとURLをコピーしました