サイト内検索

あらゆるワードの関連記事を検索できます!

おぐえもん
大学に通う理系学生です♪Webサイトやチラシ、冊子などのデザインや、システム開発などの経験があります。音楽が好きで、渋谷系サウンドが好物です!
たぶん今すぐ使えるテクニックから、きっと全く使えない豆知識まで。

【連立方程式編】解を網羅する(基本解や特殊解)

連立1次方程式の解は無数に生じることが多々あります。今回は、そんな場合も含めて解を網羅する方法について説明します。

おぐえもん

本カテゴリ
線形代数解説の定番サイト。大学1年生どころか再履のアホでも分かる丁寧な説明が特長。1年生前期〜後期の授業で学ぶ範囲を扱います。

こんにちは、おぐえもん(@oguemon_com)です。

前回の記事では、1次独立・1次従属の概念を紹介した上で、今まで扱ってきた階数(rank)は、実のところ1次独立な行or列の数を表すのだということを説明しました。
今回は、1次独立などを用いつつ、解を網羅する方法について説明します。

目次(クリックで該当箇所へ移動)

Ax=oの非自明解を考える

一般的な場合を考える前に、まずは\(A\boldsymbol{x}=\boldsymbol{o}\)の場合を考えましょう。これは、同次形の連立1次方程式、すなわち、右辺が全部0で定数項を持たない方程式のことですね。

Ax=oが解を持つとき

まず、\(A\boldsymbol{x}=\boldsymbol{o}\)は「\(\boldsymbol{x}=\boldsymbol{o}\)」(→どの変数も全部0)という解を絶対に持ちます。これは自明とみなして、\(\boldsymbol{x}=\boldsymbol{o}\)以外の解(非自明解)を求めます。

同次形の連立1次方程式が非自明解を持つのは、次の場合でした。

同次形の連立1次方程式が非自明解を持つとき

\(A\)の列数が\(n\)のとき、同次形の連立1次方程式\(A\boldsymbol{x}=\boldsymbol{o}\)が非自明解を持つ必要十分条件は以下の式の成立である。
$${\rm rank}[A \ \boldsymbol{o}] < n$$

厳密さを欠くの承知で簡単に言えば、変数の数が式の数よりも多い状況です。
さて、そんな時は、\(n-{\rm rank}[A \ \boldsymbol{o}]\)個の変数を任意にした上で、残りの変数をこれらの変数の組み合わせで表すことにもなっていました。
この辺の話については、例も含めて過去の記事をご覧ください。

Ax=oの非自明解を網羅する方法

ここで、真っ先に結論を言っちゃいますが、同次形の連立1次方程式が持つ非自明解を網羅するための方法は以下の通りになります。

同次形の連立1次方程式の非自明解

便宜を図るため\(r={\rm rank}[A \ \boldsymbol{o}]\)とする。\(n\)個の変数を持つ同次形の連立1次方程式\(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)\(\boldsymbol{x}\)は、\(n-r\)個の1次独立な解の1次結合により表される。
すなわち、\(A\boldsymbol{x}=\boldsymbol{o}\)を満たす\((x_1 \ x_2 \ \cdots \ x_n)\)の組み合わせ\(\boldsymbol{x_i}\)のうち、1次独立な\(n-r\)個(\(\boldsymbol{x_1},\boldsymbol{x_2},\cdots,\boldsymbol{x_{n-r}}\))を用いて
$$\boldsymbol{x}=\lambda_1\boldsymbol{x_1}+\lambda_2\boldsymbol{x_2}+\cdots+\lambda_{n-r}\boldsymbol{x_{n-r}}\\
(\lambda_1,\lambda_2,\ldots,\lambda_{n-r}は任意)$$と表すことができる。

網羅する方法の例

例として、5つの変数を持つ3式の同次連立1次方程式を用意しました。
$$\left\{
\begin{array}{rcl}
2x_1+2x_2+6x_3+2x_4+2x_5&=&0 \\
x_1+2x_2+6x_3+2x_4+3x_5&=&0 \\
x_1+x_2+4x_3+2x_4+2x_5&=&0
\end{array}
\right.
$$
これの拡大係数行列を階段行列にすると、
$$
\left(
\begin{array}{cccccc}
1 & 1 & 4 & 2 & 2 & 0 \\
0 & 1 & 2 & 0 & 1 & 0 \\
0 & 0 & 1 & 1 & 1 & 0
\end{array}
\right)
$$となり、階数が\(3\)だと判りました。
ここで、\(5-3=2\)つの変数を任意にしましょう。
$$x_4=\mu_1, \ x_5=\mu_2$$\(\mu_1,\mu_2\)は両方とも任意の数をとることにします。

そして、先ほどの式に\(x_4,x_5\)を代入することで、解が求まるのですが、互いに1次独立な解を\(5-3=2\)つ用意すれば良いので、\((\mu_1,\mu_2)=(1,0)\)の場合と\((\mu_1,\mu_2)=(0,1)\)の場合について解を探してみましょう!\((\mu_1,\mu_2)\)に与える値は’基本的に’何でも良い(求まった解が全て1次独立じゃないとNG)のですが、簡単な数の方が計算が楽です。
また、解を導くにあたって、連立1次方程式は階段行列に変形したときのものを使うとショートカットできます。
$$\left\{
\begin{array}{rcl}
x_1+x_2+4x_3+2x_4+2x_5&=&0 \\
x_2+2x_3+x_5&=&0 \\
x_3+x_4+x_5&=&0
\end{array}
\right.
$$

【\((\mu_1,\mu_2)=(1,0)\)の場合】
連立1次方程式は
$$\left\{
\begin{array}{rcl}
x_1+x_2+4x_3+2&=&0 \\
x_2+2x_3&=&0 \\
x_3+1&=&0
\end{array}
\right.
$$
となります。既に\(x_3\)の値が分かっちゃってますし、楽勝すぎワロタですね。
解は\((x_1,x_2,x_3,x_4,x_5)=(0,2,-1,1,0)\)です。

【\((\mu_1,\mu_2)=(0,1)\)の場合】
連立1次方程式は
$$\left\{
\begin{array}{rcl}
x_1+x_2+4x_3+2&=&0 \\
x_2+2x_3+1&=&0 \\
x_3+1&=&0
\end{array}
\right.
$$
となります。先ほどと同様にして、解は\((x_1,x_2,x_3,x_4,x_5)=(1,1,-1,0,1)\)です。

このように、簡単に2つの解が導けました。この2解は互いに1次結合で表せない1次独立の関係性なので、非自明解\(\boldsymbol{x}\)は
$$\boldsymbol{x}=\lambda_1
\left(
\begin{array}{c}
0 \\
2 \\
-1 \\
1 \\
0
\end{array}
\right)
+\lambda_2
\left(
\begin{array}{c}
1 \\
1 \\
-1 \\
0 \\
1
\end{array}
\right)=
\left(
\begin{array}{c}
\lambda_2 \\
2\lambda_1+\lambda_2 \\
-\lambda_1-\lambda_2 \\
\lambda_1 \\
\lambda_2
\end{array}
\right)$$という形にすることで網羅できます!
ただし、ここでも\(\lambda_1,\lambda_2\)は任意の数をとることとします。

基本解について

同次形の連立1次方程式の非自明解は、1次独立な「変数の個数 – 階数」個の解の1次結合で表わすことで、これを網羅することができました。
ここで、非自明解の網羅に必要な「変数の個数 – 階数」個の解を基本解と呼びます。

基本解は、「変数の個数 – 階数」個の解が1次独立ならばなんでも構いません(これ!ってのが1つに定まるタイプのものではありません)。
しかし、1次独立であることが何よりも重要なので、1次独立であることが確実で、なおかつシンプルな組み合わせが良く用いられます。

その例が、先ほども用いた、「ある\(\mu\)が\(1\)で、それ以外の\(\mu\)が全部\(0\)の場合における解」の組み合わせです。
つまり、任意の値を与えることになる「変数の個数(\(n\)) – 階数(\(r\))」個の解\(x_{r+1},\cdots,x_{n}\)について、
\((x_{r+1},x_{r+2},x_{r+3},\cdots,x_{n})=(1,0,0,\cdots,0)\)の場合の解\((x_1,\cdots,x_{r+1},\cdots,x_{n})\)と、
\((x_{r+1},x_{r+2},x_{r+3},\cdots,x_{n})=(0,1,0,\cdots,0)\)の場合の解\((x_1,\cdots,x_{r+1},\cdots,x_{n})\)と、
\((x_{r+1},x_{r+2},x_{r+3},\cdots,x_{n})=(0,0,1,\cdots,0)\)の場合の解\((x_1,\cdots,x_{r+1},\cdots,x_{n})\)と、
\(\vdots\)
\((x_{r+1},x_{r+2},x_{r+3},\cdots,x_{n})=(0,0,0,\cdots,1)\)の場合の解\((x_1,\cdots,x_{r+1},\cdots,x_{n})\)
の\(n-r\)個を基本解とするのがオススメです!

基本解の一次結合って自明解も包含してるくない?

その通り!!解にある任意定数を全て0にすると、当然ながら解は0になるので、自明解も含みます!やったね!

まとめ

以上から、同次形の連立1次方程式は次の形で網羅できます。

同次連立1次方程式の任意解(全ての解)

\(n\)個の変数を持つ同次形の連立1次方程式\(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)\(\boldsymbol{x}\)について考える。
ここで、\(r={\rm rank}[A \ \boldsymbol{o}]\)とする。

\(r = n\)のとき
自明解しか持たないので、\(\boldsymbol{x}=\boldsymbol{o}\)でおわり。

\(r < n\)のとき
\(n-r\)個の1次独立な解の1次結合により表される。
$$\boldsymbol{x}=\lambda_1\boldsymbol{x_1}+\lambda_2\boldsymbol{x_2}+\cdots+\lambda_{n-r}\boldsymbol{x_{n-r}}\\
(\lambda_1,\lambda_2,\ldots,\lambda_{n-r}は任意)$$

Ax=bが解を持つとき

次は、より一般的な場合について考えます。今度は、先ほどとは異なり定数項がある(0でない)場合の解です。

これも先に結論を言いますと、\(A\boldsymbol{x}=\boldsymbol{b}\)の解を1つ求めて、\(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)を足し合わせると網羅できます!
ここで、\(A\boldsymbol{x}=\boldsymbol{b}\)を満たす解の1つを特殊解と呼びます。

Ax=bの解に関する定理

連立1次方程式の解に関する2つの定理

\(A\boldsymbol{x}=\boldsymbol{b}\)を満たす解の1つを\(\boldsymbol{x_0}\)とすると、次の(1)と(2)が成り立つ。
(1)\(A\boldsymbol{x}=\boldsymbol{b}\)の任意解(全ての解)\(\boldsymbol{x}\)を
$$\boldsymbol{x}=\boldsymbol{x_0}+\boldsymbol{y}$$と表すと、\(\boldsymbol{y}\)は、\(A\boldsymbol{x}=\boldsymbol{o}\)の解(任意解とは限らない)である。

(2)\(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)を\(\boldsymbol{z}\)と表すとき、
$$\boldsymbol{w}=\boldsymbol{x_0}+\boldsymbol{z}$$について、\(\boldsymbol{w}\)は\(A\boldsymbol{x}=\boldsymbol{b}\)の解(任意解とは限らない)である。

理由は簡単。

1.について
\(x=x_0+y\)を変形して、\(y=x-x_0\)にすると、
$$
\begin{eqnarray}
A\boldsymbol{y}
&=&A(\boldsymbol{x-x_0})\\
&=&A\boldsymbol{x}-A\boldsymbol{x_0} \ ←分配法則\\
&=&\boldsymbol{b}-\boldsymbol{b}\\
&=&\boldsymbol{o}
\end{eqnarray}
$$となり、\(y\)が\(A\boldsymbol{x}=\boldsymbol{o}\)の解であることが示されました。

2.について
\(w=x_0+z\)直接代入します。
$$
\begin{eqnarray}
A\boldsymbol{w}
&=&A(\boldsymbol{x_0+z})\\
&=&A\boldsymbol{x_0}+A\boldsymbol{z} \ ←分配法則\\
&=&\boldsymbol{b}+\boldsymbol{o}\\
&=&\boldsymbol{b}
\end{eqnarray}
$$より、\(w\)が\(A\boldsymbol{x}=\boldsymbol{b}\)の解であることが示されました。

(1),(2)ともに、命題の結びには(任意解とは限らない)と書いているのですが、(1),(2)を結びつけることで、これらの解は任意解(全ての解)であることになります。よって、\(A\boldsymbol{x}=\boldsymbol{b}\)の任意解(全ての解)が、解の1つと、\(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)の和で表せることが言えました!

網羅する方法の例

先ほど解いた同次連立1次方程式の右辺に値を加えたものを用意しました。
$$\left\{
\begin{array}{rcl}
2x_1+2x_2+6x_3+2x_4+2x_5&=&2 \\
x_1+2x_2+6x_3+2x_4+3x_5&=&1 \\
x_1+x_2+4x_3+2x_4+2x_5&=&2
\end{array}
\right.
$$
ここで、改めて拡大係数行列を用意して、階段行列を作ります。
$$
\left(
\begin{array}{cccccc}
1 & 1 & 4 & 2 & 2 & 2 \\
0 & 1 & 2 & 0 & 1 & -1 \\
0 & 0 & 1 & 1 & 1 & 1
\end{array}
\right)
$$となり、\({\rm rank}[A \ \boldsymbol{b}]={\rm rank}A\)である上、階数が\(3\)だと判りました。

同次形のときと同じく、\(5-3=2\)個の変数を任意に与えることができるので、計算を簡単にするため、\((x_4,x_5)=(0,0)\)として計算を進めます。
階段行列を利用しつつ、\((x_4,x_5)\)を代入した式がこちら。
$$\left\{
\begin{array}{rcl}
x_1+x_2+4x_3&=&2 \\
x_2+2x_3&=&-1 \\
x_3&=&1
\end{array}
\right.
$$これを解くと、 \((x_1,x_2,x_3,x_4,x_5)=(1,-3,1,0,0)\)が導かれました。この解が特殊解です。

連立方程式の任意解は、これと同次連立1次方程式の任意解の和でした。よって、先ほど求めた同次連立1次方程式の任意解
$$\left(
\begin{array}{c}
\lambda_2 \\
2\lambda_1+\lambda_2 \\
-\lambda_1-\lambda_2 \\
\lambda_1 \\
\lambda_2
\end{array}
\right)$$を合わせて、
$$\left(
\begin{array}{c}
1 \\
-3 \\
1 \\
0 \\
0
\end{array}
\right)+\left(
\begin{array}{c}
\lambda_2 \\
2\lambda_1+\lambda_2 \\
-\lambda_1-\lambda_2 \\
\lambda_1 \\
\lambda_2
\end{array}
\right)=\left(
\begin{array}{c}
1+\lambda_2 \\
-3+2\lambda_1+\lambda_2 \\
1-\lambda_1-\lambda_2 \\
\lambda_1 \\
\lambda_2
\end{array}
\right)$$が連立方程式の任意解になります。

まとめ

以上の話を改めてまとめます。

連立1次方程式の任意解(全ての解)

連立1次方程式\(A\boldsymbol{x}=\boldsymbol{b}\)の任意解(全ての解)\(\boldsymbol{x}\)は、
\(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)と、\(A\boldsymbol{x}=\boldsymbol{b}\)の解の1つ(特殊解)の和である。

連立1次方程式の解を網羅する方法(まとめ)

以上のクソ長い説明をまとめると、連立1次方程式の解は以下のようにして網羅できることになります。(解が求まるシチュエーションが前提です)

連立1次方程式の解を網羅する方法

連立1次方程式\(A\boldsymbol{x}=\boldsymbol{b}\)の任意解(全ての解)\(\boldsymbol{x}\)を求める方法は以下の通り。
Step1: \(A\boldsymbol{x}=\boldsymbol{b}\)の解の1つ(特殊解)を求める
階段行列を作って階数を求め、「変数の個数 – 階数」個の変数に好きな値を与える(オール0がオススメ)。
その上で導いた連立方程式の解\(\boldsymbol{x_0}\)が特殊解である。

Step2: \(A\boldsymbol{x}=\boldsymbol{o}\)の任意解(全ての解)を求める
「変数の個数 – 階数」個の変数に好きな値を与え(1つだけ「1」で、残りはオール0がオススメ)、これを用いて連立方程式を解く。
これを繰り返して、1次独立な「変数の個数 – 階数」組の解を求める。
そして、これらの解を1次結合させた解(\(\lambda_1\boldsymbol{x_1}+\cdots+\lambda_{n-r}\boldsymbol{x_{n-r}}\))が任意解である。

Step3: 特殊解と任意解を足す
Step1とStep2で求めた解の和が、連立方程式の任意解である。
$$\boldsymbol{x}=\boldsymbol{x_0}+\lambda_1\boldsymbol{x_1}+\cdots+\lambda_{n-r}\boldsymbol{x_{n-r}}$$

これで連立方程式編はおしまいです!ありがとうございました!