2015/01/30

クラメルの公式の具体例と証明

分野: 線形代数  レベル: 大学数学

クラメルの公式:
連立方程式 $A\overrightarrow{x}=\overrightarrow{b}$ の解は,
$x_i=\dfrac{\det A_i}{\det A}$
である。ただし,$x_i$ は $\overrightarrow{x}$ の第 $i$ 成分であり, $A_i$ は $A$ の第 $i$ 列の部分を $\overrightarrow{b}$ にしたもの。


よく分からない方も後述の三変数の場合の具体例を見れば感動していただけると思います!

行列式

クラメルの公式をきちんと理解するためには前提知識として行列式が必要です。→行列式の3つの定義と意味
特に,後述の具体例で感動していただくためにも三次の行列式の定義を知っておく必要があります。

なお,行列式を知らない方でもクラメルの公式がなんとなく理解できるよう,二変数の連立一次方程式に対するクラメルの公式を連立方程式の発展的な解き方(検算テクニック)で解説しています。

連立一次方程式

  • $n$ 変数,$n$ 本の連立一次方程式は係数行列の行列式が $0$ でないならただ一つの解を持ちます。
  • そのようなときに,連立方程式の係数を使って解を明示的に表したのがクラメル(Cramer)の公式です。
  • ちなみに,係数行列の行列式が $0$ のときは解が存在しなかったり,無数に存在したりします。

三変数の場合の具体例

クラメルの公式を使って連立方程式を解いてみます。三次の行列式を四つ計算しないといけないのでけっこう大変です。

例題

以下の連立方程式を解け。
$x+2y-z=-3$
$x+y+3z=6$
$-2x+3y+5z=5$

解答

$x=\dfrac{\det A_1}{\det A},\:y=\dfrac{\det A_2}{\det A},\:z=\dfrac{\det A_3}{\det A}$
ただし,
$A=\begin{pmatrix}
1&2&-1\\
1&1&3\\
-2&3&5\\
\end{pmatrix}$,$A_1=\begin{pmatrix}
-3&2&-1\\
6&1&3\\
5&3&5\\
\end{pmatrix}$
$A_2=\begin{pmatrix}
1&-3&-1\\
1&6&3\\
-2&5&5\\
\end{pmatrix}$,$A_3=\begin{pmatrix}
1&2&-3\\
1&1&6\\
-2&3&5\\
\end{pmatrix}$
であり,頑張って計算すると $\det A=-31,\:\det A_1=-31,\:\det A_2=31,\:\det A_3=-62$ となる。
よって,$x=1,\:y=-1,\:z=2$

※:手計算はめんどくさいのでWolfram Alphaで計算しました。→Wolfram Alphaのいろいろな使い方23選

証明

クラメルの公式の証明を理解するには,前提知識として余因子展開(ラプラス展開)が必要になります。

証明

以下の三つを組み合わせることで証明できる!

1:$\det A\neq 0$ のとき $A$ の逆行列 $A^{-1}$ が存在して $\overrightarrow{x}=A^{-1}\overrightarrow{b}$ と書ける。

2:$A$ の余因子行列を $\tilde{A}$ とおくと,$A^{-1}=\dfrac{\tilde{A}}{\det A}$ である。

3:$A_i$ を第 $i$ 列で余因子展開することで,$\det A_i$ は $\tilde A\overrightarrow{b}$ の第 $i$ 成分と一致することが分かる。

クラメルの公式の計算量

クラメルの公式は美しいし理論的には重要な公式だが,計算量が多すぎて実際に方程式を解くのには使えない。

$n$ 変数の連立方程式に対してクラメルの公式を使おうとすると,$n$ 次の正方行列の行列式を計算する必要があります。ところが,行列式を余因子展開などでまともに計算しようとするとものすごい時間($n!$ くらいの計算量)がかかります。

大雑把なめやす

二変数の場合には検算テクニックとして使えるレベル。→連立方程式の発展的な解き方(検算テクニック)
三変数の場合には頑張れば手計算できるレベル(先ほどの例)。
五変数以上になると手計算では無理!
20変数くらいになるとコンピュータでも無理!

このようにクラメルの公式だと時間がかかり過ぎるので変数がたくさんある連立一次方程式の解法にはガウスの消去法などが用いられます。

線形代数の重要性がなんとなくお分かりいただけると嬉しいです。
分野: 線形代数  レベル: 大学数学