線形代数 · 第19回 · 動画2 · インタラクティブ教材

クラメルの公式:列を一つ入れ替えて解く、計算してはいけない美しい数学

I重要な公式

公式 名称 説明
xj=det⁡(Bj)det⁡(A)x_j = \dfrac{\det(B_j)}{\det(A)} クラメルの公式 BjB_j は AA の jj 列目を b\mathbf{b} で置き換えた行列
Cij=(−1)i+jdet⁡(Mij)C_{ij} = (-1)^{i+j}\det(M_{ij}) 余因子 MijM_{ij}:ii 行目と jj 列目を取り除く
A−1=1det⁡(A)CTA^{-1} = \dfrac{1}{\det(A)}C^T 逆行列の公式 逆行列と余因子を結びつける
det⁡(A)≠0\det(A) \neq 0 が必要 一意解 一意に解けるのは AA が可逆のときちょうど

II可視化1 — 列の入れ替え

動画の連立方程式 x+2y−z=3, 2x+y+z=1, 3x−y+2z=2x+2y-z=3,\ 2x+y+z=1,\ 3x-y+2z=2 で jj 番目の未知数を求めるには、AA の jj 列目を b\mathbf{b} で置き換えてから、det⁡(Bj)/det⁡(A)\det(B_j)/\det(A) を計算します。

jj 列目に沿った余因子は、AA と BjB_j でまったく同じです(使うのはそれ以外の列だけだからです)。そのため det⁡(Bj)\det(B_j) は、x=1det⁡A CTb\mathbf{x}=\tfrac{1}{\det A}\,C^{T}\mathbf{b} の分子をそのまま再現します。

III可視化2 — 2本の直線、1つの解

各方程式は1本の直線で、解はその交点です。det⁡(A)→0\det(A)\to 0 となって直線が平行に近づくと、交点は無限の彼方へ飛んでいきます。

det⁡(A)=0\det(A)=0 のとき、2本の直線は平行(解なし)か一致(解が無数)のどちらかです。いずれにしても、クラメルの公式の比は定義されません。

IV可視化3 — 定理であって、アルゴリズムではない

n×nn\times n の行列式1つにかかる演算は約 n!n! 回です。クラメルの公式はそれを (n+1)(n+1) 個必要とし、ガウスの消去法の ∼2n33\sim\tfrac{2n^3}{3} と比べることになります。

クラメルの公式を使うのは、記号を含む答え、1つの未知数だけの公式、手で解く小さな連立方程式のときです。大きな数値計算には決して使いません。

V確認クイズ

問1

3×3 の連立方程式 Ax=bA\mathbf{x} = \mathbf{b} で、クラメルの公式を使って yy(2番目の未知数)を求めるには、何を計算しますか?

✅ 正解です! jj 番目の未知数には、jj 列目を b\mathbf{b} で置き換えた行列を使います。

❌ 惜しい! 何番目の未知数かで、置き換える列が決まります。また、det⁡(Bj)\det(B_j) は分子に入ります。

解答を見る

解答:

クラメルの公式:xj=det⁡(Bj)det⁡(A)x_j = \dfrac{\det(B_j)}{\det(A)}。ここで BjB_j は、AA の jj 列目を b\mathbf{b} で置き換えた行列です。

yy は2番目の未知数(j=2j = 2)なので:

y=x2=det⁡(B2)det⁡(A)y = x_2 = \frac{\det(B_2)}{\det(A)}

ここで B2B_2 は、2列目を b\mathbf{b} で置き換えた行列です。

注意:公式は det⁡(Bj)/det⁡(A)\det(B_j)/\det(A) です。その逆数ではありません。

問2

動画の連立方程式では、次の値が求まりました: det⁡(A)=6\det(A) = 6,   det⁡(B1)=12\;\det(B_1) = 12,   det⁡(B2)=−4\;\det(B_2) = -4,   det⁡(B3)=−14\;\det(B_3) = -14.

zz の値はいくつですか?

✅ 正解です! z=det⁡(B3)/det⁡(A)=−14/6=−7/3z = \det(B_3)/\det(A) = -14/6 = -7/3.

❌ 惜しい!

解答を見る

解答:

zz は3番目の未知数なので、B3B_3 を使います:

z=det⁡(B3)det⁡(A)=−146=−73z = \frac{\det(B_3)}{\det(A)} = \frac{-14}{6} = -\frac{7}{3}

ほかの選択肢が誤りである理由:

  • z=2z = 2:これは x=det⁡(B1)/det⁡(A)=12/6x = \det(B_1)/\det(A) = 12/6 です。使う行列式が違います!
  • z=−2/3z = -2/3:これは y=det⁡(B2)/det⁡(A)=−4/6y = \det(B_2)/\det(A) = -4/6 です。これも使う行列式が違います!
  • z=−14z = -14:これは det⁡(B3)\det(B_3) だけです。det⁡(A)\det(A) で割るのを忘れています!

問3

正しいか誤りか:det⁡(A)=0\det(A) = 0 のときでも、クラメルの公式を使って一意解を求めることができる。

✅ 正解です! det⁡(A)=0\det(A) = 0 のとき公式は定義されず、一意解は存在しません。

❌ 惜しい! det⁡(A)=0\det(A) = 0 で割ると、どうなるでしょうか?

解答を見る

答え:誤り

クラメルの公式には det⁡(A)≠0\det(A) \neq 0 が必要です:

xj=det⁡(Bj)det⁡(A)x_j = \frac{\det(B_j)}{\det(A)}

det⁡(A)=0\det(A) = 0 のとき:

  • 0 で割ることになるので、公式は定義されません
  • 行列 AA は特異です(可逆ではありません)
  • 連立方程式は一意解をもちません。解がないか、解が無数にあるかのどちらかです

動画でも次のように述べています:「det A = 0 のときには、一意解が存在しないことを、公式がきちんと知らせてくれます。」

問4

次のうち、クラメルの公式を使うのに適さない場面はどれですか?

✅ 正解です! クラメルの公式が真価を発揮するのは、記号的な問題、理論的な問題、小規模な問題です。大規模な数値計算ではありません。

❌ 惜しい! クラメルの公式の階乗的な計算量が、どの場面で実用に耐えなくなるかを考えてみましょう。

解答を見る

答え:コンピューターで 100×100 の数値の連立方程式を解くことは、クラメルの公式の使い方として適切ではありません。

なぜでしょうか? n=100n = 100 のとき、余因子展開を使うクラメルの公式には天文学的な回数の演算が必要ですが、ガウスの消去法なら約 670,000 回で済みます。階乗的に増えるため、大きな連立方程式ではまったく実用になりません。

クラメルの公式が向いている場面:

  • ✅ 記号を含む連立方程式:係数が文字のままでも、閉じた形の答えが得られる
  • ✅ 1つの未知数の公式:全体を解かずに xjx_j だけを求められる
  • ✅ 理論的な証明:解が AA と b\mathbf{b} のすべての成分にどう依存するかが見える
  • ✅ 手で解く小さな連立方程式:2×2 や 3×3 なら扱える

「最良の公式が、いつも最速とは限りません。ときには、物事を見えるようにしてくれる公式こそが、最良なのです。」

正解数:0 / 4