クラメルの公式とは何か?|行列式で連立方程式を解く

数学
スポンサーリンク

はじめに

前回の記事では、余因子展開について見てきました。余因子展開を使うと、3次の行列式を2次の行列式へ、4次の行列式を3次の行列式へというように、大きな行列式を小さな行列式へ分解して計算できます。

また、ここまでの記事で、行列式がどのように作られているのか、その計算にどんな意味があるのかを見てきました。では、そもそも行列式は何に使えるのでしょうか?

その代表的な例のひとつが、連立方程式です。たとえば、

$$
\begin{cases}
a_{11}x+a_{12}y=p\\
a_{21}x+a_{22}y=q
\end{cases}
$$

という連立方程式を考えます。もちろん、代入法や加減法を使えば解くことができます。

ところが、この \(x\) と \(y\) は行列式だけを使って表すこともできます。それがクラメルの公式です。

クラメルの公式だけを見ると、「なぜ求めたい変数の列を右辺と入れ替えるの?」「なぜ行列式どうしを割ると答えになるの?」と、不思議に思うかもしれません。

クラメルの公式は、単に「列を入れ替えて行列式を計算する公式」ではありません。行列式の性質を使って、連立方程式から欲しい変数だけを取り出す公式として理解することができます。

今回は、公式を覚えるのではなく、なぜ行列式を使うと連立方程式が解けるのかというところから考えてみましょう。

▶ 前回の記事はこちら
余因子展開とは何か?|行列式を小さな行列式に分解する
余因子展開とは何をしている計算なのか。3次の行列式を例に、小行列式がどこから現れるのか、なぜ符号が「+、-、+」になるのかを順番に解説します。余因子の意味から、大きな行列式を小さな行列式へ分解する仕組みまで、図形と数式をつなげて理解します。

1.連立方程式を行列で表してみる

まず、

$$
\begin{cases}
a_{11}x+a_{12}y=p\\
a_{21}x+a_{22}y=q
\end{cases}
$$

という連立方程式を考えます。これを行列で表すと、

$$
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
p\\
q
\end{pmatrix}
$$

となります。

ここで、

$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}
$$

とおけば、

$$
A
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
p\\
q
\end{pmatrix}
$$

です。

ここまでは、連立方程式を行列に書き換えただけです。しかし、この式を列ベクトルとして見ると、クラメルの公式につながる重要な関係が見えてきます。

2.連立方程式を「ベクトルの組み合わせ」として見る

係数行列 \(A\) の2本の列ベクトルを、

$$
\vec{a}_1=
\begin{pmatrix}
a_{11}\\
a_{21}
\end{pmatrix},
\quad
\vec{a}_2=
\begin{pmatrix}
a_{12}\\
a_{22}
\end{pmatrix}
$$

とします。また、右辺のベクトルを、

$$
\vec{b}=
\begin{pmatrix}
p\\
q
\end{pmatrix}
$$

とします。

すると、

$$
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}
\begin{pmatrix}
x\\
y
\end{pmatrix}
=
\begin{pmatrix}
p\\
q
\end{pmatrix}
$$

は、

$$
x\vec{a}_1+y\vec{a}_2=\vec{b}
$$

と書くことができます。

これは、\(\vec{a}_1\) を \(x\) 倍し、\(\vec{a}_2\) を \(y\) 倍して足すと、\(\vec b\) になるということです。

図で表すと、次のようになります。

xa1+ya2=bを表す図

図では、まず原点から \(x\vec{a}_1\) だけ進み、そこから \(y\vec{a}_2\) だけ進むと、\(\vec b\) の先端に到達しています。これは、\(\vec b\) を2本のベクトル \(\vec a_1,\ \vec a_2\) の組み合わせとして表している、と見ることもできます。

連立方程式を解くことは、「\(\vec a_1\) と \(\vec a_2\) をそれぞれ何倍すれば、\(\vec b\) を作れるのか?」を求めることだと考えられます。その「何倍」が \(x\) と \(y\) です。

では、この式から \(x\) だけを取り出すことはできるのでしょうか。ここで、これまで学んできた行列式の性質が役に立ちます。

3.行列式を使って \(x\) だけを取り出してみる

先ほど、

$$
\vec b=x\vec{a}_1+y\vec{a}_2
$$

という関係がありました。ここで、上の式と \(\vec{a}_2\) から作る行列式、つまり \(\det(\vec b,\ \vec{a}_2)\) を考えてみます。

\(\vec b=x\vec{a}_1+y\vec{a}_2\) なので、

$$
\det(\vec b,\ \vec{a}_2)
=
\det(x\vec{a}_1+y\vec{a}_2,\ \vec{a}_2)
$$

です。

ここで、以前の記事で見た行列式の加法性を使うと、

$$
\det(\vec b,\ \vec{a}_2)
=
\det(x\vec{a}_1,\ \vec{a}_2)
+
\det(y\vec{a}_2,\ \vec{a}_2)
$$

となります。さらに、1本のベクトルを定数倍すると、その定数を行列式の外に出せるので、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
+
y\det(\vec{a}_2,\ \vec{a}_2)
$$

となります。

ここで重要なのが、

$$
\det(\vec{a}_2,\ \vec{a}_2)=0
$$

です。同じベクトルが2本あると、2本が作る平行四辺形はつぶれて面積が \(0\) になるため、行列式も \(0\) になります。

したがって、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
+
y\times0
$$

となり、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
$$

だけが残ります。

\(\vec b\) と \(\vec a_2\) の行列式を取ると、\(\vec a_2\) が2本現れる \(y\) の項が \(0\) になります。その結果、\(x\) を含む項だけを取り出すことができます。

この関係は、図形として見るとさらに分かりやすくなります。

det(b, a2) と det(xa1, a2) の比較

\(\vec b=x\vec{a}_1+y\vec{a}_2\) なので、\(x\vec{a}_1\) の先端から、\(\vec{a}_2\) と平行な方向へ \(y\vec{a}_2\) だけ移動したところに、\(\vec b\) の先端があります。

ここで、\(\vec{a}_2\) を底辺として2つの平行四辺形を比べてみましょう。\(x\vec{a}_1\) に \(y\vec{a}_2\) を加えても、先端は底辺 \(\vec{a}_2\) と平行な方向へ移動するだけなので、底辺からの高さは変わりません。

したがって、2つの平行四辺形の面積も変わらず、

$$
\det(\vec b,\ \vec{a}_2)
=
\det(x\vec{a}_1,\ \vec{a}_2)
$$

となります。

さらに、行列式では1本のベクトルを \(x\) 倍すると行列式も \(x\) 倍になるので、

$$
\det(x\vec{a}_1,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
$$

です。したがって、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
$$

となります。

代数的には「同じベクトルが2本ある項が \(0\) になる」。図形的には「底辺と平行な方向へずらしても高さが変わらない」。この2つは、同じことを別の見方から表しています。

これが、クラメルの公式を理解するうえで最も重要なポイントです。

▶ 行列式の意味を詳しく知りたい
行列式は何を表しているのか?|2次は面積、3次は体積になる
行列式は単なる計算ではありません。2次の行列式は平行四辺形の面積、3次の行列式は平行六面体の体積と関係しています。行列式を図形の大きさという視点から考え、その幾何学的な意味を分かりやすく解説します。
▶ 行列式の性質を詳しく知りたい
行列式の7つの性質|3次の行列式でなぜ成り立つのかを理解する
行列式の7つの性質を、3次の行列式とベクトルが作る図形から解説。行の入れ替えや倍、行の加算で行列式がどう変化するのかを理解し、余因子展開につながる考え方まで図解します。

4.\(x\) を行列式の比として表す

先ほど、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
$$

となりました。\(\det(\vec{a}_1,\ \vec{a}_2)\neq0\) なら、両辺を \(\det(\vec{a}_1,\ \vec{a}_2)\) で割ることができます。

したがって、

$$
x=
\frac{\det(\vec b,\ \vec{a}_2)}
{\det(\vec{a}_1,\ \vec{a}_2)}
$$

となります。

ここで、

$$
\det(\vec{a}_1,\ \vec{a}_2)
=
\begin{vmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{vmatrix}
=
\det A
$$

です。

一方、分子の \(\det(\vec b,\ \vec{a}_2)\) を行列で書くと、

$$
\begin{vmatrix}
p&a_{12}\\
q&a_{22}
\end{vmatrix}
$$

となります。つまり、もとの係数行列、

$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}
$$

の第1列を右辺の \(p,\ q\) に置き換えた行列になっています。

これを \(A_x\) とすると、

$$
A_x=
\begin{pmatrix}
p&a_{12}\\
q&a_{22}
\end{pmatrix}
$$

です。したがって、

$$
x=\frac{\det A_x}{\det A}
$$

となります。

5.なぜ \(x\) を求めるときに第1列を入れ替えるのか

ここで、クラメルの公式の少し不思議なルールの意味が見えてきます。なぜ \(x\) を求めるときに、第1列を右辺の、

$$
\vec b=
\begin{pmatrix}
p\\
q
\end{pmatrix}
$$

へ置き換えるのでしょうか。

先ほど見たように、\(\vec b=x\vec a_1+y\vec a_2\) に対して、\(\vec b\) と \(\vec a_2\) の行列式を取ると、

$$
\det(\vec b,\ \vec a_2)
=
x\det(\vec a_1,\ \vec a_2)
$$

となり、\(y\) の項を消すことができました。

ここで、\(\det(\vec b,\ \vec a_2)\) を行列で書けば、

$$
\begin{vmatrix}
p&a_{12}\\
q&a_{22}
\end{vmatrix}
$$

です。つまりこれは、もとの係数行列の第1列 \(\vec a_1\) を、右辺のベクトル \(\vec b\) に置き換えた行列式になっています。

\(x\) を求めたい
↓
\(\vec b\) と、もう一方の列 \(\vec a_2\) から行列式を作る
↓
\(\vec a_2\) が2本現れる項が \(0\) になる
↓
\(y\) が消えて \(x\) だけが残る
↓
結果として、第1列を \(\vec b\) に置き換えた形になる

つまり、「\(x\) を求めるなら第1列を右辺に置き換える」というルールを先に決めているわけではありません。\(x\) だけを残そうとすると、結果として第1列を \(\vec b\) に置き換えた行列式が現れるのです。

6.同じように \(y\) も取り出せる

では、\(y\) はどうでしょうか。今度は、\(\det(\vec{a}_1,\ \vec b)\) を考えます。

\(\vec b=x\vec{a}_1+y\vec{a}_2\) なので、

$$
\det(\vec{a}_1,\ \vec b)
=
\det(\vec{a}_1,\ x\vec{a}_1+y\vec{a}_2)
$$

となります。行列式の加法性を使うと、

$$
\det(\vec{a}_1,\ \vec b)
=
x\det(\vec{a}_1,\ \vec{a}_1)
+
y\det(\vec{a}_1,\ \vec{a}_2)
$$

です。

ここで、\(\det(\vec{a}_1,\ \vec{a}_1)=0\) なので、

$$
\det(\vec{a}_1,\ \vec b)
=
y\det(\vec{a}_1,\ \vec{a}_2)
$$

だけが残ります。したがって、

$$
y=
\frac{\det(\vec{a}_1,\ \vec b)}
{\det(\vec{a}_1,\ \vec{a}_2)}
$$

です。

行列で書くと、分子は、

$$
\begin{vmatrix}
a_{11}&p\\
a_{21}&q
\end{vmatrix}
$$

となります。これは、もとの係数行列 \(A\) の第2列を右辺の \(p,\ q\) に置き換えたものです。

そこで、

$$
A_y=
\begin{pmatrix}
a_{11}&p\\
a_{21}&q
\end{pmatrix}
$$

とすると、

$$
y=\frac{\det A_y}{\det A}
$$

となります。

7.これがクラメルの公式

ここまでの結果をまとめてみましょう。

連立方程式、

$$
\begin{cases}
a_{11}x+a_{12}y=p\\
a_{21}x+a_{22}y=q
\end{cases}
$$

に対して、

$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix}
$$

とします。そして、

$$
A_x=
\begin{pmatrix}
p&a_{12}\\
q&a_{22}
\end{pmatrix},
\quad
A_y=
\begin{pmatrix}
a_{11}&p\\
a_{21}&q
\end{pmatrix}
$$

とすると、\(\det A\neq0\) のとき、

$$
x=\frac{\det A_x}{\det A},
\quad
y=\frac{\det A_y}{\det A}
$$

となります。これがクラメルの公式です。

クラメルの公式では、求めたい変数に対応する列を右辺のベクトルに置き換えます。その裏側では、「同じベクトルが2本あると行列式が \(0\) になる」という性質を利用して、求めたい変数以外を消しています。

8.実際の連立方程式を解いてみる

具体的な数字でも確認してみましょう。次の連立方程式を考えます。

$$
\begin{cases}
2x+y=5\\
x+3y=5
\end{cases}
$$

係数行列は、

$$
A=
\begin{pmatrix}
2&1\\
1&3
\end{pmatrix}
$$

です。まず、\(\det A\) を計算すると、

$$
\det A
=
\begin{vmatrix}
2&1\\
1&3
\end{vmatrix}
=
2\cdot3-1\cdot1
=
5
$$

となります。

8.1.\(x\) を求める

\(x\) に対応する第1列を、右辺の、

$$
\begin{pmatrix}
5\\
5
\end{pmatrix}
$$

に置き換えます。すると、

$$
A_x=
\begin{pmatrix}
5&1\\
5&3
\end{pmatrix}
$$

です。その行列式は、

$$
\det A_x
=
5\cdot3-1\cdot5
=
10
$$

となります。したがって、

$$
x
=
\frac{\det A_x}{\det A}
=
\frac{10}{5}
=
2
$$

です。

8.2.\(y\) を求める

今度は第2列を右辺に置き換えます。

$$
A_y=
\begin{pmatrix}
2&5\\
1&5
\end{pmatrix}
$$

その行列式は、

$$
\det A_y
=
2\cdot5-5\cdot1
=
5
$$

です。したがって、

$$
y
=
\frac{\det A_y}{\det A}
=
\frac{5}{5}
=
1
$$

となります。

よって、連立方程式の解は、

$$
x=2,\quad y=1
$$

です。

9.なぜ \(\det A=0\) ではクラメルの公式を使えないのか

クラメルの公式では、

$$
x=\frac{\det A_x}{\det A},
\quad
y=\frac{\det A_y}{\det A}
$$

と計算します。そのため、分母である \(\det A\) が \(0\) では、この形で割ることができません。

しかし、これは単に「\(0\) では割れないから」という計算上の問題だけではありません。

係数行列の2本の列ベクトル、

$$
\vec{a}_1=
\begin{pmatrix}
a_{11}\\
a_{21}
\end{pmatrix},
\quad
\vec{a}_2=
\begin{pmatrix}
a_{12}\\
a_{22}
\end{pmatrix}
$$

を考えてみましょう。

以前の記事で見たように、\(|\det A|\) は、この2本のベクトルが作る平行四辺形の面積を表します。したがって、\(|\det A|=0\) ということは、平行四辺形の面積が \(0\) になるということです。

つまり、2本のベクトルは一次独立ではなくなり、独立した2つの方向を作ることができません。一方がもう一方の定数倍になっている場合には、2本は同じ直線上に並びます。

すると、

$$
x\vec{a}_1+y\vec{a}_2=\vec b
$$

において、\(x\) と \(y\) を一意に決められなくなります。実際、\(\det A=0\) の場合には、連立方程式は解を持たないか、無数の解を持つことになります。

逆に、\(\det A\neq0\) なら、2本のベクトルは独立した2つの方向を持つため、\(\vec b\) を作る \(x,\ y\) の組み合わせを一意に決めることができます。

\(\det A\neq0\)
↓
平行四辺形の面積が \(0\) ではない
↓
2本のベクトルが独立した方向を持つ
↓
連立方程式の解が一意に決まる

つまり、クラメルの公式で \(\det A\neq0\) という条件が必要なのは、単に分母を \(0\) にしないためだけではありません。連立方程式の解が一意に決まることと、行列式が \(0\) ではないことがつながっているのです。

10.3元連立方程式でも考え方は同じ

クラメルの公式は、2元連立方程式だけに使えるものではありません。たとえば、

$$
\begin{cases}
a_{11}x+a_{12}y+a_{13}z=p\\
a_{21}x+a_{22}y+a_{23}z=q\\
a_{31}x+a_{32}y+a_{33}z=r
\end{cases}
$$

という3元連立方程式を考えます。

係数行列を、

$$
A=
\begin{pmatrix}
a_{11}&a_{12}&a_{13}\\
a_{21}&a_{22}&a_{23}\\
a_{31}&a_{32}&a_{33}
\end{pmatrix}
$$

とします。\(\det A\neq0\) なら、

$$
x=\frac{\det A_x}{\det A},
\quad
y=\frac{\det A_y}{\det A},
\quad
z=\frac{\det A_z}{\det A}
$$

と表すことができます。

ここで \(A_x\) は、第1列を、

$$
\begin{pmatrix}
p\\q\\r
\end{pmatrix}
$$

に置き換えた行列です。同じように、\(A_y\) は第2列を、\(A_z\) は第3列を右辺のベクトルに置き換えた行列です。

3元連立方程式でも考え方は同じです。求めたい変数に対応する列を、右辺のベクトルに置き換えることで、その変数を行列式の比として取り出すことができます。

11.クラメルの公式で本当に大切なこと

クラメルの公式を学ぶと、

$$
x=\frac{\det A_x}{\det A}
$$

という式を覚えることに目が向きがちです。しかし、今回の記事で大切なのは、この公式そのものよりもなぜこの式になるのかです。

出発点は、

$$
\vec b=x\vec{a}_1+y\vec{a}_2
$$

でした。

ここで \(\vec b\) と \(\vec{a}_2\) の行列式を取ると、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
+
y\det(\vec{a}_2,\ \vec{a}_2)
$$

となります。そして、\(\det(\vec{a}_2,\ \vec{a}_2)=0\) なので、

$$
\det(\vec b,\ \vec{a}_2)
=
x\det(\vec{a}_1,\ \vec{a}_2)
$$

となります。

クラメルの公式の核心は、「同じベクトルが2本あると行列式が \(0\) になる」という性質を使って、不要な変数を消すことです。

ここでは、以前の記事で学んだ、

  • 行列式はベクトルの足し算に対して分配できる
  • ベクトルを \(k\) 倍すると行列式も \(k\) 倍になる
  • 同じベクトルが2本あると行列式は \(0\) になる

という性質が、すべてつながっています。クラメルの公式は、これらの性質を使って連立方程式から欲しい変数だけを取り出す方法なのです。

まとめ

今回は、クラメルの公式について見てきました。

連立方程式、

$$
\begin{cases}
a_{11}x+a_{12}y=p\\
a_{21}x+a_{22}y=q
\end{cases}
$$

は、ベクトルを使うと、

$$
x\vec{a}_1+y\vec{a}_2=\vec b
$$

と表すことができます。そして、行列式の加法性や「同じベクトルが2本あると \(0\) になる」という性質を使うと、不要な変数を消すことができます。

その結果、

$$
x=\frac{\det A_x}{\det A},
\quad
y=\frac{\det A_y}{\det A}
$$

というクラメルの公式が得られます。

連立方程式
↓
ベクトルの組み合わせとして見る
↓
行列式を取る
↓
同じベクトルを含む項が \(0\) になる
↓
欲しい変数だけが残る
↓
クラメルの公式

クラメルの公式は、単に「求めたい変数の列を入れ替えて行列式を計算する公式」ではありません。その裏側には、これまで見てきた行列式の性質を使って、連立方程式から1つの変数だけを取り出すという仕組みがあります。

また、\(\det A=0\) かどうかを見ることで、連立方程式の解が一意に決まるかどうかも分かります。ここでも、行列式の「面積・体積を表す」という幾何学的な意味と、連立方程式を解くという代数的な問題がつながっています。

▶ ベクトル・行列・行列式のつながりを最初から整理したい
線形代数とは何か?|ベクトル・行列・行列式のつながりを図で理解する
線形代数とは何かを、ベクトル・行列・行列式のつながりから図解。線形結合、線形独立、基底、線形変換、逆行列、連立方程式、ランクまで、バラバラに見える概念をひとつの流れとしてわかりやすく整理します。
▶ 行列式についてもっと知りたい

そう感じた人には、行列や行列式を基礎から解説してくれる本もおすすめです。

理工学の基礎「線形代数」に心震える | 佐藤 敏明 |本 | 通販 | Amazon
Amazonで佐藤 敏明の理工学の基礎「線形代数」に心震える。アマゾンならポイント還元本が多数。佐藤 敏明作品ほか、お急ぎ便対象商品は当日お届けも可能。また理工学の基礎「線形代数」に心震えるもアマゾン配送商品なら通常配送無料。
キーポイント線形代数 (理工系数学のキーポイント 2) | 薩摩 順吉, 四ツ谷 晶二 |本 | 通販 | Amazon
Amazonで薩摩 順吉, 四ツ谷 晶二のキーポイント線形代数 (理工系数学のキーポイント 2)。アマゾンならポイント還元本が多数。薩摩 順吉, 四ツ谷 晶二作品ほか、お急ぎ便対象商品は当日お届けも可能。またキーポイント線形代数 (理工系数...
プログラミングのための線形代数 | 平岡 和幸, 堀 玄 |本 | 通販 | Amazon
Amazonで平岡 和幸, 堀 玄のプログラミングのための線形代数。アマゾンならポイント還元本が多数。平岡 和幸, 堀 玄作品ほか、お急ぎ便対象商品は当日お届けも可能。またプログラミングのための線形代数もアマゾン配送商品なら通常配送無料。

コメント

タイトルとURLをコピーしました