クラメルの公式

連立一次方程式を行列(係数行列)を用いて表す方法を導入します。また、行列式を用いた連立一次方程式の解法であるクラメルの公式を示します。

クラメルの公式は、係数行列が正則であるような、特定の形の連立一次方程式においてのみ使える解の公式です。

係数行列の導入

まず、連立一次方程式を行列(係数行列)を用いて表す方法を導入します。

連立一次方程式の行列による表現

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

$$ \begin{equation} \left\{ \; \, \begin{alignat*} {4} && 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 \\ &&&& \vdots \; \\ && a_{m1} x_1 &+ a_{m2} x_2 &+ \cdots &+ a_{mn} x_n &= b_m \\ \end{alignat*} \right. \end{equation} \tag{3.6.9} $$

いま、次のように行列 $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}$)といいます。

係数行列を用いることで、一般の連立方一次方程式を $A \bm{x} = \bm{b}$ のように簡単に表すことができます。このような表し方は汎用的であり、基本的にどのような連立一次方程式も (3.6.10)式のように表すことができます。

また、連立一次方程式を係数行列で表す方法は便利であるため、 基底と次元の準備や、行列の基本変形による 連立一次方程式の解法固有値と固有ベクトルなど、線形代数学の様々な領域において用いられます。


クラメルの公式

次に、行列式を用いた連立一次方程式の解法であるクラメルの公式を示します。


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

$A$ を $n$ 次の正方行列とする。$A$ が正則であるとき、$A$ を係数行列として持つ連立一次方程式 $A \bm{x} = \bm{b}$ の解はただ $1$ つに定まり、次の式により与えられる。

$$ \begin{equation} \tag{3.6.11} x_{j} = \frac{ \; \begin{vmatrix} \; a_{11} \; \cdots \; \, b_{1} \, \; \cdots \; a_{1n} \; \\ \; \vdots \quad \qquad \vdots \qquad \quad \vdots \; \; \\ \; a_{n1} \; \cdots \; \, b_{n} \, \; \cdots \; a_{nn} \; \\ \end{vmatrix} \; }{ \; \begin{vmatrix} \; a_{11} \; \cdots \; a_{1j} \; \cdots \; a_{1n} \; \\ \; \vdots \quad \qquad \vdots \qquad \quad \vdots \; \; \\ \; a_{n1} \; \cdots \; a_{nj} \; \cdots \; a_{nn} \; \\ \end{vmatrix} \; } \end{equation} $$

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



解説

行列式による連立一次方程式の解法

定理 3.23(クラメルの公式)は、行列式による連立一次方程式の解法を与えるものであり、クラメルの公式($\text{Cramer’s formula}$)と呼ばれます。

すなわち、係数行列 $A$ が正則であるような連立一次方程式 $A \bm{x} = \bm{b}$ の解 $\bm{x}$ の成分 $x_{j}$ $(\, j = 1, \cdots, n \,)$ は、 (3.6.11)式により与えられます。そのような意味で、クラメルの公式は、特定の形の連立一次方程式ついてのみ成り立つ、解の公式であるといえます。

クラメルの公式が使える条件

クラメルの公式が適用できるのは、「係数行列 $A$ が正則である(または、$\det A \neq 0$ である)」 場合に限られます。

  • 係数行列 $A$ が正則である
  • $\det A \neq 0$ である

より具体的には、 定理 3.23(クラメルの公式)は「連立一次方程式の変数の個数 $n$ と式の個数 $m$ が等しく、かつ係数行列 $A$ が正則である」ときのみ成り立つといえます。

変数の個数 $n$ と式の個数 $m$ が等しければ、係数行列は正方行列となります。また、係数行列が正方行列であることは、係数行列が正則であることの必要条件です( 正則行列の定義)。したがって、クラメルの公式が成り立つ条件は、単に「係数行列が正則である」ことと表すことができます。

また、「係数行列が正則である」という条件は、前項の 定理 3.22(逆行列を持つための条件)より、「$\det A \neq 0$ である」ことと同値です。

連立一次方程式の解法としての実用性

具体的に与えられた連立一次方程式を解くにあたって、クラメルの公式を用いることは必ずしも効率的ではありません。

クラメルの公式が実用的でない理由

(3.6.11)式からわかるとおり、解を得るためには $n$ 次行列式を $n + 1$ 個(分母となる係数行列の行列式 $1$ 個と、分子の行列式 $j$ 個)計算する必要があります。これは非常に面倒で手間のかかる作業です。

行列の基本変形による解法(より一般的な解法)

連立一次方程式の解法としては、一般的には、 行列の基本変形による方法が実用的です。基本変形による連立一次方程式の解法の手順は、次の通りです。

クラメルの公式が有効な場合

クラメルの公式が有効なのは、下記の 例題 2 のような場合です。すなわち、係数が文字であり、かつ規則的に並んでいるような連立一次方程式の場合などです。



証明

係数行列 $A$ は正則であるから、$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{split} \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{split} $$

したがって、次が成り立つ。

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



証明の考え方

$A$ が正則であることから、逆行列を用いて $\bm{x} = A^{-1} \bm{b}$ が得られます。ここで、 定理 3.19(行列式の展開 1)定理 3.22(逆行列を持つための条件)を用いて、$\bm{x}$ の具体的な形を求めることで証明できます。

解の唯一性の確認

  • 仮定より、係数行列 $A$ は正則であり、逆行列 $A^{-1}$ を持ちます。
  • $A \bm{x} = \bm{b}$ に左から $A^{-1}$ を掛けることで、$\bm{x} = A^{-1} \bm{b}$ を得ます。
    • 当然ながら、これは連立一次方程式 $A \bm{x} = \bm{b}$ の解となります。
  • また、逆行列の一意性から、$A \bm{x} = \bm{b}$ の解は、$\bm{x} = A^{-1} \bm{b}$ のみであることがわかります。

行列式による解の導出

  • $A \bm{x} = \bm{b}$ の解である、$\bm{x} = A^{-1} \bm{b}$ をより計算しやすい形に変形することを考えます。

  • いま、$A$ が正則であることが分かっていますので、 定理 3.22(逆行列を持つための条件)より、次が成り立ちます。

    $$ \begin{split} \bm{x} &\overset{(\text{i})}{=} A^{-1} \bm{b} \\ &\overset{(\text{ii})}{=} \frac{\, 1 \,}{\, \det A \,} \tilde{A} \, \bm{b} \\ &\overset{(\text{iii})}{=} \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} \\ &\overset{(\text{iv})}{=} \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} \\ &\overset{(\text{v})}{=} \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} $$

    • ($\text{ii}$) 定理 3.22(逆行列を持つための条件)より、$A^{-1} = \dfrac{1}{\det A} \tilde{A}$ が成り立ちます。

    • ($\text{v}$)において、右辺の列ベクトルの第 $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)における列に関する展開と同じ形となっています。

      $$ \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*} $$

    • $2$ つの式を比較してみると、$A$ の第 $j$ 列の成分 $a_{1j}, a_{2j}, \cdots, a_{nj}$ が、$\bm{b}$ の列ベクトルの成分 $b_1, b_2, \cdots, b_n$ に置き換わっていることが分かります。

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

      $$ \begin{align*} \sum_{i} \; b_i \, \tilde{a}_{ij} &= \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} \\ \\ &= \det A_j \end{align*} $$

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

    $$ \begin{align*} x_j = \frac{\; \begin{vmatrix} \; a_{11} \; \cdots \; \, b_{1} \, \; \cdots \; a_{1n} \; \\ \; \vdots \quad \qquad \vdots \qquad \quad \vdots \; \; \\ \; a_{n1} \; \cdots \; \, b_{n} \, \; \cdots \; a_{nn} \; \\ \end{vmatrix} \; }{ \; \begin{vmatrix} \; a_{11} \; \cdots \; a_{1j} \; \cdots \; a_{1n} \; \\ \; \vdots \quad \qquad \vdots \qquad \quad \vdots \; \; \\ \; a_{n1} \; \cdots \; a_{nj} \; \cdots \; a_{nn} \; \\ \end{vmatrix} \; } \end{align*} $$

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


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

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



例題 1(変数と式の数が $3$ の場合)

次の連立一次方程式の解を求めよ。

$$ \begin{equation*} \left\{ \; \, \begin{alignat*} {5} && x & - 6 & y &+ 3 & z &= & 1 \\ & 3 & x & \; + & y &- 2 & z &= - & 6 \\ & 2 & x & - 3 & y &+ 4 & z &= & 2 \\ \end{alignat*} \right. \end{equation*} $$


解答(例題 1)

$A, \, \bm{x}, \, \bm{b}$ を、それぞれ次のように置くと、与えられた連立一次方程式は $A \bm{x} = \bm{b}$ と表せる。

$$ \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} $$

いま、$\det A = 61 \; ( \, \neq 0 \, )$ であるから、クラメルの公式より、解 $\bm{x}$ は次のとおり。

$$ \begin{align*} 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{align*} $$



解答の考え方(例題 1)

クラメルの公式が使えること(係数行列が正則であること)を確認した上で、公式を適用します。



例題 2(係数行列が規則的である場合)

次の連立一次方程式の解を求めよ。ただし、$a \neq b, \,$ $b \neq c, \,$ $c \neq a$ とする。

$$ \begin{equation*} \left\{ \; \, \begin{alignat*} {5} && x &\; + & y &\; + & z &= 1 \\ && a x &\; + & by &\; + & cz &= d \\ && a^2 x &\; + &\; b^2 y &\; + &\; c^2 z &= d^2 \\ \end{alignat*} \right. \end{equation*} $$


解答(例題 2)

$A, \, \bm{x}, \, \bm{d}$ を、それぞれ次のように置くと、与えられた連立一次方程式は $A \bm{x} = \bm{d}$ と表せる。

$$ \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} $$

また、このとき、$\det A$ は次のようになる。

$$ \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 \, )$ である。したがって、クラメルの公式より、解 $\bm{x}$ は次のとおり。

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



解答の考え方(例題 2)

クラメルの公式が使えること(係数行列が正則であること)を確認した上で、公式を適用します。

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

まとめ

  • クラメルの公式:係数行列 $A$ が正則であるとき、連立一次方程式 $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 \quad \qquad \vdots \qquad \quad \vdots \; \; \\ \; a_{n1} \; \cdots \; \, b_{n} \, \; \cdots \; a_{nn} \; \\ \end{vmatrix} \; }{ \; \begin{vmatrix} \; a_{11} \; \cdots \; a_{1j} \; \cdots \; a_{1n} \; \\ \; \vdots \quad \qquad \vdots \qquad \quad \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] 三宅敏恒. 線形代数学 初歩からジョルダン標準形へ. 培風館. 2008.
[6] S. Lang. Linear Algebra Third Edition. Springer. 1987.
[7] T. Miyake. Linear Algebra From the Beginnings to the Jordan Normal. Springer. 2022.
[8] 雪江明彦. 代数学 $1$ 群論入門. 日本評論社. 2010.
[9] 雪江明彦. 代数学 $2$ 環と体とガロア理論. 日本評論社. 2010.
[10] 桂利行. 代数学 $\text{I}$ 群と環. 東京大学出版会. 2004.
[11] 松坂和夫. 代数系入門. 岩波書店. 1976.
[12] 高木貞治. 代数学講義 [改訂新版]. 共立出版. 1965.
[13] S. Lang. Algebra Revised Third Edition. Springer. 2002.
[14] M. Artin. Algebra Second Edition. Pearson Education Limited. 2014.
[15] 青本和彦 他. 数学入門辞典. 岩波書店. 2005.


初版:2023-01-01   |   改訂:2025-02-24