こんにちは、おぐえもん(@oguemon_com)です。
前回の記事で、連立方程式の係数と右辺の定数項部分をまとめた「拡大係数行列」というものを扱い、そこから行基本操作をチマチマ繰り返して得られる「階段行列」と、その「階数」について学習しました。
今回は、これらを用いて連立方程式の解について見ていきます。
連立方程式が解を持つとき
解を持たない場合の例
大抵の場合は解を持ちますが、以下のような場合、連立方程式は成り立たなくなります。
⎩⎨⎧4x−2y+3z2x−2y+4zx−y+2z===587(1)(2)(3)
これを変形する((3)に(2)の−21倍を加える)と、以下のようになります。
⎩⎨⎧4x−2y+3z2x−2y+4z0===583(1)(2)(3)
一番下に「0=3」という式が現れました。当然ながらこの式はいかなる場合も成り立ちません。
したがって、上の連立方程式はx,yにいかなる値を入れても成立しない、すなわち「解なし」の状況になります。
連立方程式の解は、全ての式が同時に成り立つような値でなければなりません。よって、変形中に「0=(0 じゃない値)」みたいな絶対に成り立たない式が出た時点で解なしが確定するのです。
このようなシチュエーションを拡大係数行列で表すとこのようになります。
420−2−20340583
一番下の行のように、右辺の定数項部分を示す一番右の列以外が全て 0 となっている(=左辺が 0)状況ですね。このような場合は解なしです。
上の行列はまだ階段行列でないので、階段行列になるまで行基本操作を繰り返しました ↓
200−2204−508−113
右端以外が全て 0 の行があったら解なし。階数を使ってこれを表現すると、
rankA=rank[A b]
ということになります([A b]は行列Aとベクトルbを左右にくっつけた行列です)。つまり、右辺の定数項部分(b)で段数が増えたらアウトということです。
解を持つための必要十分条件
さて、一般に、連立方程式が解を持つための必要条件は次のようになります。
連立1次方程式が解を持つための必要十分条件
連立 1 次方程式Ax=bが解を持つための必要十分条件は、次の式の成立である。
rankA=rank[A b]
この定理は、先ほどの説明とは少し趣が異なります。
というのも、「rankA=rank[A b]なら解なし」と言っていた先ほどの説明と異なり、
「rankA=rank[A b]なら解ありだし、逆に解ありならこの式が成り立つ」と主張しているからです。
【例1】
変数の数に対して式の数が圧倒的に少ない以下の式はどうでしょうか。
{x+2y+z+wx+y+z+w==5−1(1)(2)
これを拡大係数行列にして階段行列を作ると以下のようになります。
(10111010−16)
係数行列の階数と、拡大階数行列の階数が同じ(階数 2)なので、解を持つことになります。
階段行列の 2 行目より、y=6であることは明らかで、これより(1)式が
x+z+w=−7
となるので、これがうまく成り立つように変数の値を設定すると解が現れます。
x=1,y=6,z=2,w=−10
は解の一例ですし、これが成り立つ解は無数に存在します。
(この場合、2 つの変数を設けてx=λ,y=6,z=μ,w=−7−λ−μ(λとμは任意の数)」とすれば、解を網羅することができます)。
【例2】
変数の数に対して式の数が圧倒的に多い以下の式はどうでしょうか。
⎩⎨⎧x−yx+y2x+yx+2y====−2454(1)(2)(3)(4)
これを拡大係数行列にして階段行列を作ると以下のようになります。
1000−1200−26−30
あ〜!3 行目が右端だけになった(rankA=rank[A b])ので、「0=−3」という不可能な条件が浮かび上がってきて、ゆえに解なしです。
勘違いして欲しくないのは、これは別に式が多いからではありません。式が多くても解が存在する例を次に示します。
【例3】
【例 2】と変数と式の数が同じである以下の連立方程式
⎩⎨⎧x−yx+y2x+yx+2y====−2457(1)(2)(3)(4)
の場合、階段行列を作ると、
1000−1200−2600
となり、「rankA=rank[A b]」が成立します。実際、計算を繰り返すと「x=1,y=3」が解になります。
階段行列への変換とは結局何か
結局のところ、拡大係数行列から階段行列を作る操作ってのは、与えられた連立方程式に対して意味を保ちながら簡単化していくことで、矛盾を洗い出しつつ必要な式を絞る作業でした。
例えば、ある式を定数倍したり、既存の複数式を実数倍して足し合わせただけの式は排除されます。
{x+y2x+2y==48(1)(2)
のような式の組について、(2)式は(1)式を 2 倍したものに過ぎないので、拡大係数行列にして行列基本操作を経ると
(101040)
となって、(2)式に相当する部分は見事に消え去ります。
また、式の組み合わせに矛盾を孕んでいると「0=0じゃない数」という式が現れ、矛盾の存在を明確に指摘してくれます。
{x+yx+y==64(1)(2)
上の連立方程式に対して階段行列の作成を試みるとこうなります ↓
(101062)
はい、アウト〜!
解の組み合わせが1つしかないとき
階段行列の階数と、連立方程式を構成している変数の個数を比較したとき、両者が等しければ、解が導き出せる場合において、その解の組み合わせが 1 通りだけになります。
連立1次方程式が1組だけの解を持つための必要十分条件
連立 1 次方程式Ax=bが 1 組の解を持つための必要十分条件は、次の式の成立である。
rankA=rank[A b]=n
ただし、nは係数行列Aの列数(変数の個数)である。
高校時代、「連立方程式を解こうと思うと、少なくとも式数が変数の数だけないと解が 1 つにならない」みたいな話を聞いたことがあると思いますが、そのような話を表した定理となります。
では、**「{\rm rank}[A \ \boldsymbol{b}] < n」**の場合はどうなるのでしょう?
この場合、変数の数から式の数(階数)を引いた数の変数について、答えを任意の記号(定数)で表した上で、残りの変数をこれらの記号を用いた解で書き表わせば ok です(前項における【例 1】がまさにそれです)。
念のため、**「rank[A b]>n」**の可能性についても説明しておきましょう。
階数の定義から、階数が階段行列の列数を上回ることはありません。階段行列の「段差」が 1 増える度に、左から並ぶ 0 の数が 1 つ以上増えるので、少なくとも階数が列数を上回ると、左から並ぶ 0 が列数より多くなるというあり得ない状況が生じます。
唯一、列数と階数が同じrank[A b]=n+1というシチュエーションが考えられますが、この場合はrankA=nなのが確定なので、rank[A b]=rankAとなり、解なしであることがわかります。
同次形の連立方程式
定数項が全て 0 の連立方程式を同次形の方程式と言います。
同次形の方程式
Ax=oで表される方程式を同次形の方程式と呼ぶ。一般形は以下の通り。
⎩⎨⎧a∗11x1+a∗12x∗2+…+a∗1nxna∗11x1+a∗12x∗2+…+a∗1nxn⋮a∗m1x1+a∗m2x∗2+…+a∗mnxn====00⋮0
このような連立方程式を拡大係数行列で表すと、一番右の列が全て 0 になるので、
rankA=rank[A o]
は絶対に成り立ちます。
っていうか、このような方程式は、変数が全部 0 のときに必ず成立するので、少なくとも
x1=x2=…=xn=0
を解の 1 つとして有します。正直言って当たり前すぎる話なので、上の解は自明解と呼ばれます。
一方で、自明解以外の解は必ずしも簡単に導くことができません。自明解以外の解を非自明解と呼びます。
非自明解が存在するための条件は以下の通りです。
同次形の連立方程式が非自明解を持つ条件
同次形の連立方程式が非自明解を持つ必要十分条件は以下の式の成立である。
rank[A o]<n
階数と変数の個数nが同じだと解が 1 組のみになるので、同次形の連立方程式は自明解の身を持つ(非自明解を持たない)ことになることを押さえると理解できると思います。
もうお察しのことと思いますが、非自明解は、必ずなんらかの変数が記号(定数)で表され、解を無数に持つことになります。