クラメルの公式は、連立一次方程式の正方系を行列式を使って解く方法です。1列ずつ置き換えて行列式を計算し、元の係数行列の行列式で割ります。使えるのは det(A)=0 のときだけです。
連立方程式が
Ax=b
と書けて、A が正方行列で det(A)=0 なら、その連立方程式はただ1つの解をもち、クラメルの公式で各変数を直接求められます。
クラメルの公式
変数 xi に対して、公式は
xi=det(A)det(Ai)
です。ここで Ai は、A の第 i 列を b の定数列で置き換えて作る行列です。
この条件は重要です。det(A)=0 なら分母が 0 になるので、クラメルの公式では一意な解は求まりません。
クラメルの公式を使える場合
次のすべてを満たすときにだけ使います。
- 方程式の本数と未知数の個数が同じである。
- 係数行列が正方行列である。
- 係数行列の行列式が 0 ではない。
1つでも条件を満たさなければ、そこで止めます。たとえば行列式が 0 の場合、その連立方程式は解をもたないか、無数に解をもつ可能性があるため、クラメルの公式は一意解を求める道具としては適切ではありません。
2×2 の連立方程式を順を追って解く
次を解きます。
{2x+y=5x−y=1
まず、係数行列と定数列を確認します。
A=[211−1],b=[51]
A の行列式を計算します。
det(A)=211−1=2(−1)−1(1)=−3
det(A)=−3=0 なので、この連立方程式は一意な解をもち、クラメルの公式を使えます。
x を求める
A の第1列を b で置き換えます。
Ax=[511−1]
すると
det(Ax)=511−1=5(−1)−1(1)=−6
次に、元の行列式で割ります。
x=det(A)det(Ax)=−3−6=2
y を求める
A の第2列を b で置き換えます。
Ay=[2151]
すると
det(Ay)=2151=2(1)−5(1)=−3
もう一度 det(A) で割ります。
y=det(A)det(Ay)=−3−3=1
したがって、解は
(x,y)=(2,1)
です。
これが全体の流れです。最初に元の行列の行列式を1つ求め、その後で各変数ごとにもう1つずつ行列式を求めます。
クラメルの公式が重要な理由
クラメルの公式は、大きな連立方程式では通常もっとも速い方法ではありません。それでも学ぶのは、次の3つの考え方をきれいにつなげてくれるからです。
- 連立一次方程式を解くこと
- 行列式
- 一意な解をもつ条件
det(A)=0 なら、その連立方程式はただ1つの解をもちます。det(A)=0 なら何かが成り立たず、解がないか、無数にある可能性があります。
クラメルの公式でよくあるミス
det(A)=0 なのに使う
これは最初に確認すべき点です。クラメルの公式は det(A) で割ることに依存しているので、行列式が 0 なら一意解を求める方法としては使えません。
間違った列を置き換える
x を求めるなら x の列を置き換えます。y を求めるなら y の列を置き換えます。定数列を横に付け足すのではなく、毎回1列だけ置き換えます。
どんな連立方程式にも最善の方法だと思う
より大きな系では、行基本変形や数値計算の方法のほうが普通は実用的です。クラメルの公式は、小さい系や、行列式の役割を理解したいときに特に役立ちます。
クラメルの公式が使われる場面
クラメルの公式は、速く解くことよりも理解を重視する代数や線形代数の授業でよく出てきます。特に、各変数が係数や定数にどう依存するかを示したいときに便利です。
実際には、2×2 の系や、ときには 3×3 の系で扱いやすい方法です。それより大きくなると行列式の計算が急に増えるため、標準的な方法ではなくなります。
似た問題に挑戦してみよう
次を解いてみましょう。
{3x+2y=8x−y=0
まず det(A) を計算します。0 でなければ、1列ずつ置き換えて x と y を求めます。手計算が終わったら、行列ソルバーと設定を比べて、行列式と最終的な答えの両方を確認してみましょう。