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

クラメルの公式とは,連立一次方程式の解を,係数を使って表す公式です。

クラメルの公式について,2変数の場合の具体例から一般形の証明までわかりやすく解説します。

2変数の場合のクラメルの公式

一般の場合のクラメルの公式を述べる前に,まずは2変数の連立方程式を見てみます。

{a11x1+a12x2=b1a21x1+a22x2=b2 \begin{cases} a_{11}x_1+a_{12}x_2=b_1\\ a_{21}x_1+a_{22}x_2=b_2 \end{cases}

という連立方程式の解は,a11a22a12a210a_{11}a_{22}-a_{12}a_{21}\neq 0 のもとで,

x1=b1a22a12b2a11a22a12a21x2=a11b2b1a21a11a22a12a21 x_1=\dfrac{b_1a_{22}-a_{12}b_2}{a_{11}a_{22}-a_{12}a_{21}}\\ x_2=\dfrac{a_{11}b_2-b_1a_{21}}{a_{11}a_{22}-a_{12}a_{21}}

となります。

これを,行列式を使って表すと,

x1=detA1detAx2=detA2detA x_1=\dfrac{\det A_1}{\det A}\\ x_2=\dfrac{\det A_2}{\det A}

となります。

ただし,

A=(a11a12a21a22)A=\begin{pmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{pmatrix} は係数を並べた行列です。

A1=(b1a12b2a22)A_1=\begin{pmatrix}b_1&a_{12}\\b_2&a_{22}\end{pmatrix}AA の第1列を bundefined\overrightarrow{b} に変えた行列です。

A2=(a11b1a21b2)A_2=\begin{pmatrix}a_{11}&b_1\\a_{21}&b_2\end{pmatrix}AA の第2列を bundefined\overrightarrow{b} に変えた行列です。

また,detA\det AAA の行列式と呼ばれる量です。→行列式の3つの定義と意味

※2変数の場合のクラメルの公式については,連立方程式の発展的な解き方(検算テクニック)でも解説しています。

一般の場合のクラメルの公式

2変数の場合を一般化した,以下の公式が成立します。

クラメル(Cramer)の公式

連立方程式 Axundefined=bundefinedA\overrightarrow{x}=\overrightarrow{b} の解は,detA0\det A\neq 0 のもとで, xi=detAidetA x_i=\dfrac{\det A_i}{\det A} である。ただし,xix_ixundefined\overrightarrow{x} の第 ii 成分であり,AiA_iAA の第 ii 列の部分を bundefined\overrightarrow{b} にしたもの。

nn 変数,nn 本の連立一次方程式は 係数行列の行列式 detA\det A00 でないならただ一つの解を持ちます。そのようなときに,連立方程式の係数を使って解を明示的に表したのがクラメルの公式です。

ちなみに,detA=0\det A=0 のときは解が存在しなかったり,無数に存在したりします。

3変数の場合の具体例

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

例題

以下の連立方程式を解け。

{x+2yz=3x+y+3z=62x+3y+5z=5 \begin{cases} x+2y-z=-3\\ x+y+3z=6\\ -2x+3y+5z=5 \end{cases}

解答

x=detA1detAx=\dfrac{\det A_1}{\det A}y=detA2detAy=\dfrac{\det A_2}{\det A}z=detA3detAz=\dfrac{\det A_3}{\det A}

ただし,

A=(121113235)A=\begin{pmatrix} 1&2&-1\\ 1&1&3\\ -2&3&5\\ \end{pmatrix}A1=(321613535)A_1=\begin{pmatrix} -3&2&-1\\ 6&1&3\\ 5&3&5\\ \end{pmatrix}

A2=(131163255)A_2=\begin{pmatrix} 1&-3&-1\\ 1&6&3\\ -2&5&5\\ \end{pmatrix}A3=(123116235)A_3=\begin{pmatrix} 1&2&-3\\ 1&1&6\\ -2&3&5\\ \end{pmatrix}

であり,頑張って計算すると detA=31\det A=-31detA1=31\det A_1=-31detA2=31\det A_2=31detA3=62\det A_3=-62 となる。

よって,x=1,y=1,z=2x=1,\:y=-1,\:z=2

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

証明

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

証明の概要

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

  1. detA0\det A\neq 0 のとき AA の逆行列 A1A^{-1} が存在して xundefined=A1bundefined\overrightarrow{x}=A^{-1}\overrightarrow{b} と書ける。

  2. AA の余因子行列を A~\tilde{A} とおくと,A1=A~detAA^{-1}=\dfrac{\tilde{A}}{\det A} である。

  3. AiA_i を第 ii 列で余因子展開することで,detAi\det A_iA~bundefined\tilde A\overrightarrow{b} の第 ii 成分と一致することが分かる。

クラメルの公式の計算量

クラメルの公式はおもしろいですし,理論的には重要ですが,計算量が多すぎて大規模な連立方程式を解くのには使えません

nn 変数の連立方程式に対してクラメルの公式を使おうとすると,nn 次の正方行列の行列式を計算する必要があります。ところが,行列式を(定義に従ってまともに)計算するとものすごい時間(n!n! くらいの計算量)がかかります。つまり,計算時間について考えると,

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

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

線形代数の重要性がなんとなくお分かりいただけると嬉しいです。