クラメルの公式

連立一次方程式を解く際に便利な公式、クラメルの公式(cramer's fomula)。
しかし、普通に生活していて行列が必要になることなんてまずないので、
扱い慣れないために、この方法を使う人は多くはないだろうと思います。
ま、普通の生活に連立一次方程式が現れるとも思いませんが。


ということで、クラメルの公式の使い方を紹介しちゃおうと。
序でに、行列云々も軽く説明しちゃおうと。
では、参りましょう。

クラメルの公式(2×2の場合)

先ず結論から。
複雑にしたくないので、二次の正方行列(2×2)の場合について書きます。

クラメルの公式(2×2の場合)
\b{A}=\begin{pmatrix}a & b \\c & d\end{pmatrix}が正則であるとき、
\begin{pmatrix}a & b \\c & d\end{pmatrix}\begin{pmatrix}x \\y\end{pmatrix}=\begin{pmatrix}p \\q\end{pmatrix}
の解は、
x=\frac{1}{\det \b{A}}\begin{vmatrix}p & b \\q & d\end{vmatrix}
y=\frac{1}{\det \b{A}}\begin{vmatrix}a & p \\c & q\end{vmatrix}
となる。

行列を一切使わずに同じことを書くと、

ad-bc \neq 0のとき、
\begin{cases}ax+by=p \\cx+dy=q\end{cases}
の解は、
x=\frac{dp-bq}{ad-bc}
y=\frac{aq-cp}{ad-bc}
となる。


使用例(2×2の場合)

簡単な例で確認してみましょう。
\begin{cases}2x+y=5 \\x+4y=6\end{cases}


代入法を使うと、
一つ目の式を移項してy=5-2x
二つ目の式に代入してx+4(5-2x)=6
計算すると、7x=14よりx=2
一つ目の式にx=2を代入して4+y=5よりy=1
よって、x=2,y=1です。


クラメルの公式を使ってみましょう。
a=2,b=1,c=1,d=4,p=5,q=6に対応しています。
ad-bc=2 \cdot 4-1 \cdot 1=7 \neq 0だから、公式を使えます。
x=\frac{dp-bq}{ad-bc}=\frac{4 \cdot 5-1 \cdot 6}{7}=2
y=\frac{aq-cp}{ad-bc}=\frac{2 \cdot 1-1 \cdot 5}{7}=1
おっと、もう求まりました。
便利でしょ?
ま、これは単純な場合なので、どちらでもさほど変わりませんが。


さて、2×2の場合は行列の知識がなくとも簡単に出来るのですが、
3×3以上になってくると、そうも言っていられません。
ということで、「行列」の話に入りましょう。

行列の作り方

クラメルの公式に当てはめるには、
先ず連立方程式を行列での式表現に変える必要があります。
といっても、簡単なことです。


\begin{cases}ax+by=p \\cx+dy=q\end{cases}
の場合、
\begin{pmatrix}a & b \\c & d\end{pmatrix}\begin{pmatrix} x \\y\end{pmatrix}=\begin{pmatrix}p \\q\end{pmatrix}


\begin{cases}ax+by+cz=p \\dx+ey+fz=q \\gx+hy+iz=r\end{cases}
の場合、
\begin{pmatrix}a & b & c \\d & e & f \\g & h & i\end{pmatrix}\begin{pmatrix}x \\y \\z\end{pmatrix}=\begin{pmatrix}p \\q \\r\end{pmatrix}


これは、行列の積の定義に拠ります。

行列の積の定義
lm列の行列\b{A}mn列の行列\b{B}の積、ln列の行列\b{C}の成分は、
c_{ij}=\sum_{k=1}^m a_{ik} b_{kj}


行列式

次は、「行列式」に入りましょう。
行列\b{A}=\begin{pmatrix}a & b \\c & d\end{pmatrix}に対して
行列式\begin{vmatrix}\b{A}\end{vmatrix}=\det \b{A}=\begin{vmatrix}a & b \\c & d\end{vmatrix}と書きます。


行列と行列式の大きな違いは、
行列式」は値を持つ、ということです。
つまり、「行列式」は計算することが出来ます。

\begin{vmatrix}a & b \\c & d\end{vmatrix}=ad-bc

ただし、こんな単純に計算できるのは2×2の場合だけです。
3×3の場合は、次のようになります。

\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}=aei+bfg+cdh-afh-bdi-ceg


行列式を小さくする

3×3以上の行列式の計算は面倒です。
大きい行列式になると、そのまま計算するのはほぼ不可能です。
そこで、色々なテクニックが登場します。
その一つに、行列式を小分けする方法があります。


さっきの3×3の行列式を見てみます。
\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}=aei+bfg+cdh-afh-bdi-ceg
これを、a,b,cで括ってみると、
a(ei-fh)+b(fg-di)+c(dh-eg)
ここで、括弧の中を2×2の行列式に直してみます。
a \begin{vmatrix}e & f \\h & i\end{vmatrix}+b \begin{vmatrix}f & d \\i & g\end{vmatrix}+c \begin{vmatrix}d & e \\g & h\end{vmatrix}
この式、実は3×3の行列式a,b,cのそれぞれがある行と列を隠した時の
2×2の行列式になっているということが分かりますか?
ただし、bに対応する行列式だけは逆になっています。
これで、3×3の行列式を2×2の行列式だけで表わすことが出来ました。
逆になっている部分を、マイナスを付けて反転しておくと、次のようになります。

\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}=a \begin{vmatrix}e & f \\h & i\end{vmatrix}-b \begin{vmatrix}d & f \\g & i\end{vmatrix}+c \begin{vmatrix}d & e \\g & h\end{vmatrix}

また、a,d,gd,e,fといった括り方も出来ます。

\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}=a \begin{vmatrix}e & f \\h & i\end{vmatrix}-d \begin{vmatrix}b & c \\h & i\end{vmatrix}+g \begin{vmatrix}b & c \\e & f\end{vmatrix}
\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}=-d \begin{vmatrix}b & c \\h & i\end{vmatrix}+e \begin{vmatrix}a & c \\g & i\end{vmatrix}-f \begin{vmatrix}a & b \\g & h\end{vmatrix}

ここで注意するべきは、とにかく符号。
左上をプラスとして、
横か下に移動するたびにマイナス、プラスと反転する、と覚えるのが好いと思います。


今は3×3の行列式を2×2の行列式で表わしましたが、
3×3の場合に限らず、どんな大きな行列式も、一つ小さい行列式で表わせます。
つまりこれで、どんなに大きな行列式でも2×2の行列式で表わせるのです。
4×4の行列式を2×2の行列式で表わしてみます。

\begin{vmatrix}a_1 & a_2 & a_3 & a_4\\b_1 & b_2 & b_3 & b_4\\c_1 & c_2 & c_3 & c_4\\ d_1 & d_2 & d_3 & d_4\end{vmatrix}
=a_1 \begin{vmatrix}b_2 & b_3 & b_4\\c_2 & c_3 & c_4\\d_2 & d_3 & d_4\end{vmatrix}-a_2 \begin{vmatrix}b_1 & b_3 & b_4\\c_1 &c_3 & c_4\\ d_1 & d_3 & d_4\end{vmatrix}+a_3 \begin{vmatrix}b_1 & b_2 & b_4\\c_1 & c_2 & c_4\\ d_1 & d_2 & d_4\end{vmatrix}-a_4 \begin{vmatrix}b_1 & b_2 & b_3\\c_1 & c_2 & c_3\\ d_1 & d_2 & d_3\end{vmatrix}
=a_1(b_2\begin{vmatrix}c_3 & c_4\\d_3 & d_4\end{vmatrix}-b_3\begin{vmatrix}c_2 & c_4\\d_2 & d_4\end{vmatrix}+b_4\begin{vmatrix}c_2 & c_3\\d_2 & d_3\end{vmatrix})
-a_2(b_1\begin{vmatrix}c_3 & c_4\\d_3 & d_4\end{vmatrix}-b_3\begin{vmatrix}c_1 & c_4\\d_1 & d_4\end{vmatrix}+b_4\begin{vmatrix}c_1 & c_3\\d_1 & d_3\end{vmatrix})
+a_3(b_1\begin{vmatrix}c_2 & c_4\\d_2 & d_4\end{vmatrix}-b_2\begin{vmatrix}c_1 & c_4\\d_1 & d_4\end{vmatrix}+b_4\begin{vmatrix}c_1 & c_2\\d_1 & d_2\end{vmatrix})
-a_4(b_1\begin{vmatrix}c_2 & c_3\\d_2 & d_3\end{vmatrix}-b_2\begin{vmatrix}c_1 & c_3\\d_1 & d_3\end{vmatrix}+b_3\begin{vmatrix}c_1 & c_4\\d_1 & d_4\end{vmatrix})

ちょっと長くなりますけどね。

「正則」とは

ここで言葉の説明を入れておきます。
「正則」というのは、逆行列が存在することです。
今回は逆行列には触れませんが、逆行列が存在するための必要十分条件
行列式の値が0でないこと、になるのです。
正則でない場合、連立方程式の解はどうなるのでしょう。
例を挙げます。
\begin{cases}2x+y=5 \\4x+2y=10\end{cases}
この場合、\begin{vmatrix}2 & 1 \\4 & 2\end{vmatrix}=2 \cdot 2-1 \cdot 4=0より、正則ではありません。
連立方程式の二つ目の式を2で割ると、一つ目の式に一致します。
これはつまり、2x+y=5を満たすなら、どんなx,yでも良いということです。
それは例えば、1と3だったり、2と1だったり、ということです。


もうひとつ、例を挙げます。
\begin{cases}2x+y=5 \\4x+2y=6\end{cases}
行列式はさっきと同じのため、正則ではありません。
二つ目の式を2で割ると、2x+y=3になります。
この連立方程式を満たすx,yは存在しません。
グラフを書くと分かるのですが、この2式は平行な直線だから、
x,yが交わる点が存在しないのです。
よって、解なし。


つまり、行列が正則でないときには、
その連立方程式は解を持たないか、無数の解を持つことになります。

クラメルの公式

では、今度は一般化したクラメルの公式を見てみましょう。

クラメルの公式
\b{A}=\begin{pmatrix}a_{11} & a_{12} & \dots & a_{1n} \\a_{21} & a_{22} & \dots & a_{2n} \\\dots & \dots & \dots & \dots \\a_{n1} & a_{n2} & \dots & a_{nn}\end{pmatrix}が正則であるとき、
\begin{pmatrix}a_{11} & a_{12} & \dots & a_{1n} \\a_{21} & a_{22} & \dots & a_{2n} \\\dots & \dots & \dots & \dots \\a_{n1} & a_{n2} & \dots & a_{nn}\end{pmatrix}\begin{pmatrix}x_1 \\x_2 \\\dots \\x_n\end{pmatrix}=\begin{pmatrix}p_1 \\p_2 \\\dots \\p_n\end{pmatrix}
の解は、
x_1=\frac{1}{\det \b{A}}\begin{vmatrix}p_1 & a_{12} & \dots & a_{1n} \\p_2 & a_{22} & \dots & a_{2n} \\\dots & \dots & \dots & \dots \\p_n & a_{n2} & \dots & a_{nn}\end{vmatrix}
x_2=\frac{1}{\det \b{A}}\begin{vmatrix}a_{11} & p_1 & \dots & a_{1n} \\a_{21} & p_2 & \dots & a_{2n} \\\dots & \dots & \dots & \dots \\a_{n1} & p_n & \dots & a_{nn}\end{vmatrix}

x_n=\frac{1}{\det \b{A}}\begin{vmatrix}a_{11} & a_{12} & \dots & p_1 \\a_{21} & a_{22} & \dots & p_2 \\\dots & \dots & \dots & \dots \\a_{n1} & a_{n2} & \dots & p_n\end{vmatrix}
となる。

……はっはっは。
いや、なんでもありません。

使用例(3×3の場合)

ということで、例を示します。
\begin{cases}2x+y+3z=10 \\3x-y-z=2 \\x-y+4z=3\end{cases}


行列で表現すると、
\begin{pmatrix}2 & 1 & 3 \\3 & -1 & -1 \\1 & -1 & 4\end{pmatrix}\begin{pmatrix}x \\y \\z\end{pmatrix}=\begin{pmatrix}10 \\2 \\3\end{pmatrix}
先ず、正則であることを確認します。
\begin{vmatrix}2 & 1 & 3 \\3 & -1 & -1 \\1 & -1 & 4\end{vmatrix}=2 \begin{vmatrix}-1 & -1 \\-1 & 4\end{vmatrix}-1 \begin{vmatrix}3 & -1 \\1 & 4\end{vmatrix}+3 \begin{vmatrix}3 & -1 \\1 & -1\end{vmatrix}=-10-13-6=-29 \neq 0
正則が示されたので、解を求めましょう。
分母は行列式の値だから-29ですね。
両辺に-29をかけておきます。
-29x=\begin{vmatrix}10 & 1 & 3 \\2 & -1 & -1 \\3 & -1 & 4\end{vmatrix}=10 \begin{vmatrix}-1 & -1 \\-1 & 4\end{vmatrix}-1 \begin{vmatrix}2 & -1 \\3 & 4\end{vmatrix}+3 \begin{vmatrix}2 & -1 \\3 & -1\end{vmatrix}=-50-11+3=-58
よって、x=2です。
同様に、
-29y=\begin{vmatrix}2 & 10 & 3 \\3 & 2 & -1 \\1 & 3 & 4\end{vmatrix}=2 \begin{vmatrix}2 & -1 \\3 & 4\end{vmatrix}-10 \begin{vmatrix}3 & -1 \\1 & 4\end{vmatrix}+3 \begin{vmatrix}3 & 2 \\1 & 3\end{vmatrix}=22-130+21=-87
-29z=\begin{vmatrix}2 & 1 & 10 \\3 & -1 & 2 \\1 & -1 & 3\end{vmatrix}=2 \begin{vmatrix}-1 & 2 \\-1 & 3\end{vmatrix}-1 \begin{vmatrix}3 & 2 \\1 & 3\end{vmatrix}+10 \begin{vmatrix}3 & -1 \\1 & -1\end{vmatrix}=-2-7-20=-29
これよりy=3,z=1と求まりました。


検算しておきましょう。
x=2,y=3,z=1を代入します。
\begin{cases}2 \cdot 2+3+3 \cdot 1=10 \\3 \cdot 2-3-1=2 \\2-3+4 \cdot 1=3\end{cases}
合ってますね。
無事、解を求めることが出来ました。
行列式のテクニックを駆使すれば、もう少し簡単に解けますが、
今使った2×2の行列式の計算と行列式の小分けさえ知っていれば、
もうどんな連立一次方程式でも解けるはずです。
あ、因みに連立一次方程式のことを線型方程式系と言ったりもします。

クラメルの公式の証明

クラメルの公式を使うと、解が手早く簡単に
求まることが分かって貰えましたか?
では、何故解が求まるのか、証明してみましょう。
ここで、普通なら逆行列を登場させるところなのですが、
そうなると余因子の説明が必要となって面倒なんですね。
ここはひとつ力技でやっちゃいましょうか。
3×3の場合を証明します。
他の場合は、各々で逆行列を駆使してやってみてください。

proof
先ずは線型方程式系を用意。
\begin{cases}ax+by+cz=p \\dx+ey+fz=q \\gx+hy+iz=r\end{cases}
zの係数を取ってしまいましょう。
\begin{cases}\frac{ax}{c}+\frac{by}{c}+z=\frac{p}{c} \\\frac{dx}{f}+\frac{ey}{f}+z=\frac{q}{f} \\\frac{gx}{i}+\frac{hy}{i}+z=\frac{r}{i}\end{cases}
一つ目の式−二つ目の式、二つ目の式−三つ目の式を連立させます。
\begin{cases}\frac{ax}{c}+\frac{by}{c}-\frac{dx}{f}-\frac{ey}{f}=\frac{p}{c}-\frac{q}{f} \\\frac{dx}{f}+\frac{ey}{f}-\frac{gx}{i}-\frac{hy}{i}=\frac{q}{f}-\frac{r}{i}\end{cases}
分母を払って整理します。
\begin{cases}(af-cd)x+(bf-ce)y=fp-cq \\(di-gf)x+(ei-hf)y=iq-fr \end{cases}
yに互いの係数を掛けて、二式の差を取ります。
[tex:*1x]
[tex:=*2]
展開・整理すると、
f(aei-ahf+cdh-dib+gbf-ceg)x
=f(pei-phf+cqh-iqb+rbf-rce)
fは共通因子だから取ってしまって、括弧の中に注目します。
見覚えありませんか?
3×3の行列式ですよ。
\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}x=\begin{vmatrix}p & b & c \\q & e & f \\r & h & i\end{vmatrix}


最後に両辺を\begin{vmatrix}a & b & c \\d & e & f \\g & h & i\end{vmatrix}で割れば、xについてのクラメルの公式です。
y,zについても同様。
Q.E.D.



0割りを考慮していませんが、成分が0なら変数が少なくなりますから、
より少ない手順になるはずです。
力技の証明、完結です。
やはり、逆行列を使う方がスパッと行きますね、うん。

挑戦

それでは、一通りの解説も終わったことだし、実践して貰いましょう。
次の線型方程式系を解くべし。
\begin{cases}2w+y=16 \\z+7=2w \\x=y+z \\4+w=x\end{cases}


解をw,x,y,zの順に並べれば、馴染みのある語呂になるはずです。
くれぐれも、代入法で解いてしまわないように!


さてさて、ちょっと変わったアプローチで行列に関することを書いてきたのですが、
いかがでしたでしょうか。
これで興味を持って貰って、さらに深いところへ進んで頂けると、
ぼくは、甲斐あったと泣いて喜ぶ次第でございます。
暗記事項を極力減らす書き方をしたので、
かゆい所に手が届いていない部分もあるかもしれませんが、
どうかご容赦くださいまし。
ともかくも、お疲れ様でした。

*1:af-cd)(ei-hf)-(di-gf)(bf-ce

*2:fp-cq)(ei-hf)-(iq-fr)(bf-ce