クラメルの公式

連立一次方程式を行列を用いて表す方法を導入した後、特定の連立一次方程式ついて成り立つ解の公式であるクラメルの公式($\text{Cramer’s formula}$)を示します。また、具体的に与えられた連立一次方程式ついて、クラメルの公式による解法の例を示します。

連立一次方程式と係数行列

$n$ 個の変数 $x_1, x_2, \cdots, x_n$ についての $m$ 個の式からなる連立一次方程式について考えます。

$$ \begin{equation} \tag{3.6.9} \left\{ \begin{array} {l} a_{11} x_1 + a_{12} x_2 + \cdots + a_{1n} x_n = b_1 \\ a_{21} x_1 + a_{22} x_2 + \cdots + a_{2n} x_n = b_2 \\ \quad \vdots \\ a_{m1} x_1 + a_{m2} x_2 + \cdots + a_{mn} x_n = b_m \\ \end{array} \right. \end{equation} $$


いま、次のように行列 $A$ と列ベクトル $\bm{x}, \bm{b}$ を置きます。

$$ \begin{align*} \begin{array} {ccc} A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{pmatrix} , & \bm{x} = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} , & \bm{b} = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix} \end{array} \end{align*} $$


このとき、連立一次方程式(3.6.9)式は、次のように表すことができます。

$$ \begin{equation} \tag{3.6.10} A \bm{x} = \bm{b} \end{equation} $$


ここで $A$ は $m \times n$ 行列、$\bm{x}$ は $n$ 項列ベクトル、$\bm{b}$ は $m$ 項列ベクトルであり、$A$ を特に係数行列($\text{coefficient matrix}$)といいます。

連立一次方程式を係数行列により表す方法は汎用的であり、どのような連立一次方程式も(3.6.10)式のように表すことができます。一方で、以下に導入するクラメルの公式は、特定の場合にしか成り立たないものである点に注意が必要です。


クラメルの公式


定理 3.23(クラメルの公式)

$m=n$ かつ $\det A \neq 0$ であるとき、連立一次方程式 $A \bm{x} = \bm{b}$ の解はただ $1$ つに定まり、次の式により与えられる。

$$ \begin{equation} \tag{3.6.11} \begin{array} {ccc} x_{j} = \frac{ \begin{vmatrix} \; a_{11} & \cdots & b_{1} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & b_{n} & \cdots & a_{nn} \; \\ \end{vmatrix} }{ \begin{vmatrix} \; a_{11} & \cdots & a_{1j} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & a_{nj} & \cdots & a_{nn} \; \\ \end{vmatrix} } && (\; j = 1, \cdots, n\; ) \end{array} \end{equation} $$


ここで、$x_j$ の分母は係数行列の行列式、分子は係数行列の第 $j$ 列を $\bm{b}$ に置き換えた行列の行列式である。



クラメルの公式は特定の連立一次方程式ついて成り立つ解の公式であるといえます。クラメルの公式が成り立つのは「$m=n$ かつ $\det A \neq 0$ である」ときです。また、より丁寧には「変数の個数と式の個数が等しく、かつ係数行列が正則であるとき」と表すことができます。変数の個数と式の個数が等しいとき、係数行列は正方行列となりますが、係数行列が正方行列であることは係数行列が正則であることの必要条件でありますので、単に「係数行列が正則であるとき」であるともいえます。

具体的に与えられた連立一次方程式を解くにあたって、クラメルの公式を用いることは必ずしも効率的ではありません。(3.6.11)式からわかるとおり、解を得るためには $n$ 次行列式を $n + 1$ 個(分母となる係数行列の行列式 $1$ 個と、分子の行列式 $j$ 個)計算する必要がありますが、これは非常に面倒な作業になります。一般的には、行列の基本変形を用いる方法の方が実用的であるといえます。クラメルの公式が有効なのは、例えば以下の例($2$)に示すように係数が文字で規則的に並んでいるような連立一次方程式の場合などです。



証明

$m=n$ かつ $\det A \neq 0$ であるので、係数行列 $A$ は正則であり逆行列 $A^{-1}$ を持つ。逆行列は一意的であるから $A \bm{x} = \bm{b}$ の解は $\bm{x} = A^{-1} \bm{b}$ により与えられ、ただ $1$ つに定まる。定理 3.22より、$A$ が正則であるとき $A^{-1} = \dfrac{1}{\det A} \tilde{A}$ であるから、

$$ \begin{split} \bm{x} &= A^{-1} \bm{b} \\ &= \frac{1}{\det A} \tilde{A} \, \bm{b} \\ &= \frac{1}{\det A} \begin{pmatrix} \tilde{a}_{11} & \tilde{a}_{21} & \cdots & \tilde{a}_{n1} \\ \tilde{a}_{12} & \tilde{a}_{22} & \cdots & \tilde{a}_{n2} \\ \vdots & \vdots & \ddots & \vdots \\ \tilde{a}_{1n} & \tilde{a}_{2n} & \cdots & \tilde{a}_{nn} \\ \end{pmatrix} \begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{n} \end{pmatrix} \\ &= \frac{1}{\det A} \begin{pmatrix} \displaystyle \sum_{i} \; b_i \, \tilde{a}_{i1} \\ \displaystyle \sum_{i} \; b_i \, \tilde{a}_{i2} \\ \vdots \\ \displaystyle \sum_{i} \; b_i \, \tilde{a}_{in} \\ \end{pmatrix} \\ \end{split} $$


右辺の列ベクトルの第 $j$ 成分 $\displaystyle \sum_{i} \; b_i \, \tilde{a}_{ij}$ は、係数行列 $A$ の第 $j$ 列を $\bm{b}$ で置き換えた行列を $A_j$ としたとき、$A_j$ の行列式を第 $j$ 列に関して展開したものに他ならない。すなわち、次が成り立つ。

$$ \begin{align*} \det A_j = \begin{vmatrix} \; a_{11} & \cdots & b_{1} & \cdots & a_{1n} \; \\ \; a_{21} & \cdots & b_{2} & \cdots & a_{2n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & b_{n} & \cdots & a_{nn} \; \\ \end{vmatrix} = \sum_{i} \; b_i \, \tilde{a}_{ij} \end{align*} $$


したがって、

$$ \begin{align*} x_j = \frac{\det A_j}{\det A} = \frac{ \begin{vmatrix} \; a_{11} & \cdots & b_{1} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & b_{n} & \cdots & a_{nn} \; \\ \end{vmatrix} }{ \begin{vmatrix} \; a_{11} & \cdots & a_{1j} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & a_{nj} & \cdots & a_{nn} \; \\ \end{vmatrix} } \end{align*} \quad \quad \quad \square $$



証明の骨子

定理 3.19(行列式の展開 1)定理 3.22(逆行列を持つための条件)を用いて示します。

  • まず、解の唯一性を示します。
    • 定理の仮定より、係数行列 $A$ は正則であるため逆行列 $A^{-1}$ を持ちます。
    • $A \bm{x} = \bm{b}$ に左から $A^{-1}$ を掛け、$\bm{x} = A^{-1} \bm{b}$ を得ます。
    • 定理 2.4(逆行列の一意性)より、$A$ に対して逆行列 $A^{-1}$ は一意に定まることから、方程式の解も $\bm{x} = A^{-1} \bm{b}$ のただ $1$ つに定まることがわかります。
  • 次に、$x_j$ の具体的な形を求めます。
    • 上の考察から方程式の解は $\bm{x} = A^{-1} \bm{b}$ であり、これをより計算しやすい形に変形することを考えます。

    • いま、$A$ が正則であることが分かっていますので、定理 3.22(逆行列を持つための条件)より、$A^{-1} = \dfrac{1}{\det A} \tilde{A}$ を用います。

      $$ \begin{split} \bm{x} &= A^{-1} \bm{b} \\ &= \frac{1}{\det A} \tilde{A} \, \bm{b} \\ &= \frac{1}{\det A} \begin{pmatrix} \tilde{a}_{11} & \tilde{a}_{21} & \cdots & \tilde{a}_{n1} \\ \tilde{a}_{12} & \tilde{a}_{22} & \cdots & \tilde{a}_{n2} \\ \vdots & \vdots & \ddots & \vdots \\ \tilde{a}_{1n} & \tilde{a}_{2n} & \cdots & \tilde{a}_{nn} \\ \end{pmatrix} \begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{n} \end{pmatrix} \\ &= \frac{1}{\det A} \begin{pmatrix} b_1 \, \tilde{a}_{11} + b_2 \, \tilde{a}_{21} + \cdots + b_n \, \tilde{a}_{n1} \\ b_1 \, \tilde{a}_{12} + b_2 \, \tilde{a}_{22} + \cdots + b_n \, \tilde{a}_{n2} \\ \vdots \\ b_1 \, \tilde{a}_{1n} + b_2 \, \tilde{a}_{2n} + \cdots + b_n \, \tilde{a}_{nn} \\ \end{pmatrix} \\ &= \frac{1}{\det A} \begin{pmatrix} \displaystyle \sum_{i} \; b_i \, \tilde{a}_{i1} \\ \displaystyle \sum_{i} \; b_i \, \tilde{a}_{i2} \\ \vdots \\ \displaystyle \sum_{i} \; b_i \, \tilde{a}_{in} \\ \end{pmatrix} \\ \end{split} $$

      • ここで、右辺の列ベクトルの第 $j$ 成分(第 $j$ 行)に注目すると、次の通りです。

        $$ \begin{align*} b_1 \, \tilde{a}_{1j} + b_2 \, \tilde{a}_{2j} + \cdots + b_n \, \tilde{a}_{nj} = \sum_{i} \; b_i \, \tilde{a}_{ij} \end{align*} $$

      • これは、定理 3.19(行列式の展開 1)における列に関する展開と同じ形となっていることがわかります。係数行列 $A$ の行列式の第 $j$ 列に関する次の展開式と比較してみると、$A$ の第 $j$ 列の成分 $a_{1j}, a_{2j}, \cdots, a_{nj}$ が、$\bm{b}$ の列ベクトルの成分 $b_1, b_2, \cdots, b_n$ に置き換わっていることが分かります。

        $$ \begin{align*} a_{1j} \, \tilde{a}_{1j} + a_{2j} \, \tilde{a}_{2j} + \cdots + a_{nj} \, \tilde{a}_{nj} = \sum_{i} \; a_{ij} \, \tilde{a}_{ij} \end{align*} $$

      • すなわち、$\displaystyle \sum_{i} \; b_i \, \tilde{a}_{ij}$ は、係数行列 $A$ の第 $j$ 列を $\bm{b}$ で置き換えた行列を $A_j$ としたとき、$A_j$ の行列式を第 $j$ 列に関して展開したものと等しいということがわかります。

        $$ \begin{align*} \det A_j = \begin{vmatrix} \; a_{11} & \cdots & b_{1} & \cdots & a_{1n} \; \\ \; a_{21} & \cdots & b_{2} & \cdots & a_{2n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & b_{n} & \cdots & a_{nn} \; \\ \end{vmatrix} = \sum_{i} \; b_i \, \tilde{a}_{ij} \end{align*} $$

    • したがって、$x_j$ は次のようになります。これはすべての $j \; (= 1, 2, \cdots, n)$ について成り立ちます。

      $$ \begin{align*} x_j = \frac{\det A_j}{\det A} = \frac{ \begin{vmatrix} \; a_{11} & \cdots & b_{1} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & b_{n} & \cdots & a_{nn} \; \\ \end{vmatrix} }{ \begin{vmatrix} \; a_{11} & \cdots & a_{1j} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & a_{nj} & \cdots & a_{nn} \; \\ \end{vmatrix} } \end{align*} $$

    • 以上から(3.6.11)式が成り立つことが示されました。


例(クラメルの公式による解法)

クラメルの公式による解法の例として、次の $2$ つの連立一次方程式の解を求めます。




$$ \begin{array} {ccccc} (1) & \left\{ \begin{array} {l} x - 6 y + 3 z = 1 \\ 3 x + y - 2 z = -6 \\ 2 x - 3 y + 4 z = 2 \\ \end{array} \right. , & & (2) & \left\{ \begin{array} {l} x + y + z = 1 \\ a x + b y + c z = d \\ a^2 x + b^2 y + c^2 z = d^2 \\ \end{array} \right. & (a \neq b, \; b \neq c, \; c \neq a) \end{array} $$


$(1)$

$$ \begin{array} {ccc} A = \begin{pmatrix} 1 & -6 & 3 \\ 3 & 1 & -2 \\ 2 & -3 & 4 \\ \end{pmatrix}, & \bm{x} = \begin{pmatrix} x \\ y \\ z \end{pmatrix}, & \bm{b} = \begin{pmatrix} 1 \\ -6 \\ 2 \end{pmatrix} \end{array} $$


とおくと、連立一次方程式は $A \bm{x} = b$ と表せます。$\det A = 61 \; ( \, \neq 0 \, )$ であるから、クラメルの公式より解は次のとおり。

$$ \begin{align*} \begin{array} {ll} x = \dfrac{1}{61} \begin{vmatrix} 1 & -6 & 3 \\ -6 & 1 & -2 \\ 2 & -3 & 4 \\ \end{vmatrix} = - \dfrac{74}{61} , & y = \dfrac{1}{61} \begin{vmatrix} 1 & 1 & 3 \\ 3 & -6 & -2 \\ 2 & 2 & 4 \\ \end{vmatrix} = \dfrac{18}{61} , \\ z = \dfrac{1}{61} \begin{vmatrix} 1 & -6 & 1 \\ 3 & 1 & -6 \\ 2 & -3 & 2 \\ \end{vmatrix} = \dfrac{81}{61} \end{array} \end{align*} $$


クラメルの公式が使えること(係数行列が正則であること)を確認した上で、公式を適用します。係数行列の行列式と $x, y, z$ の分子の行列式を合わせて、$3$ 次の行列式を合計 $4$ つ計算しなければなりません。



$(2)$

$$ \begin{array} {ccc} A = \begin{pmatrix} 1 & 1 & 1 \\ a & b & c \\ a^2 & b^2 & c^2 \\ \end{pmatrix}, & \bm{x} = \begin{pmatrix} x \\ y \\ z \end{pmatrix}, & \bm{d} = \begin{pmatrix} 1 \\ d \\ d^2 \end{pmatrix} \end{array} $$


とおくと、連立一次方程式は $A \bm{x} = d$ と表せます。

$$ \begin{split} \det A &= \begin{vmatrix} \; 1 & 1 & 1 \; \\ \; a & b & c \; \\ \; a^2 & b^2 & c^2 \; \\ \end{vmatrix} = \begin{vmatrix} \; 0 & 0 & 1 \; \\ \; a-b & b-c & c \; \\ \; a^2 - b^2 & b^2 - c^2 & c^2 \; \\ \end{vmatrix} \\ &= (a-b) (b-c) \begin{vmatrix} \; 1 & 1 \; \\ \; a+b & b+c \; \\ \end{vmatrix} \\ &= (a-b) (b-c) (c-a) \\ \end{split} $$


$a, b, c$ は互いに異なるから $\det A = (a-b) (b-c) (c-a) \; ( \, \neq 0 \, )$ であるといえます。よって、クラメルの公式より解は次のとおり。

$$ \begin{split} x &= \dfrac{(d-b) (b-c) (c-d)}{(a-b) (b-c) (c-a)} = \dfrac{(d-b) (c-d)}{(a-b) (c-a)} , \\ \\ y &= \dfrac{(a-d) (d-c) (c-a)}{(a-b) (b-c) (c-a)} = \dfrac{(a-d) (d-c)}{(a-b) (b-c)} , \\ \\ x &= \dfrac{(a-b) (b-d) (d-a)}{(a-b) (b-c) (c-a)} = \dfrac{(b-d) (d-a)}{(b-c) (c-a)} \end{split} $$


クラメルの公式が使えること(係数行列が正則であること)を確認した上で、公式を適用します。係数行列は規則的な配列であり、その行列式は $\det A = (a-b) (b-c) (c-a)$ ときれいな形になります。クラメルの公式を適用する際、例えば $x$ を求めるときは、$a$ を含む第 $1$ 列を $d$ を含む列に置き換えればよいため、分子の行列式の値は $a$ を $d$ に置き換えた $(d-b) (b-c) (c-d)$ になることが直ちにわかります。$y, z$ についても同様です。このように、係数が文字で規則的に並んでいるような連立一次方程式の場合、クラメルの公式を用いることで効率的に解を得ることができます。


まとめ

  • クラメルの公式:$m=n$ かつ $\det A \neq 0$ であるとき、連立一次方程式 $A \bm{x} = \bm{b}$ の解はただ $1$ つに定まり、次の式により与えられる。

    $$ \begin{equation*} \begin{array} {ccc} x_{j} = \frac{ \begin{vmatrix} \; a_{11} & \cdots & b_{1} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & b_{n} & \cdots & a_{nn} \; \\ \end{vmatrix} }{ \begin{vmatrix} \; a_{11} & \cdots & a_{1j} & \cdots & a_{1n} \; \\ \; \vdots & & \vdots & & \vdots \; \\ \; a_{n1} & \cdots & a_{nj} & \cdots & a_{nn} \; \\ \end{vmatrix} } && (\; j = 1, \cdots, n\; ) \end{array} \end{equation*} $$

    • クラメルの公式は、係数行列が正則である場合にのみ成り立つ。
    • 文字で規則的に並んでいる場合などに有効であるが、一般に効率的な解法とはいえない。

参考文献

[1] 齋藤正彦. 線型代数入門. 東京大学出版会. 1966.
[2] 永田雅宣 他. 理系のための線型代数の基礎. 紀伊國屋書店. 1986.
[3] 川久保勝夫. 線形代数学 [新装版]. 日本評論社. 2010.
[4] 松坂和夫. 線型代数入門 [新装版]. 岩波書店. 2018.
[5] S. Lang. Linear Algebra Third Edition. Springer. 1987.
[6] 雪江明彦. 代数学 $1$ 群論入門. 日本評論社. 2010.
[7] 雪江明彦. 代数学 $2$ 環と体とガロア理論. 日本評論社. 2010.
[8] 桂利行. 代数学 $\text{I}$ 群と環. 東京大学出版会. 2004.
[9] 松坂和夫. 代数系入門. 岩波書店. 1976.
[10] 高木貞治. 代数学講義 [改訂新版]. 共立出版. 1965.
[11] S. Lang. Algebra Revised Third Edition. Springer. 2005.
[12] M. Artin. Algebra Second Edition. Pearson Education Limited. 2014.
[13] 青本和彦 他. 数学入門辞典. 岩波書店. 2005.

初版:2023-01-01   |   改訂:2024-08-23