Takatani Note

クラメルの公式【証明&応用】

$ \def\e{\bm{e}} $

この記事では、「クラメルの公式 (Cramer's rule)」の証明・応用・例題を紹介します。

クラメルの公式は線形代数学だけでなく他の分野でも用いられます。 なので、計算方法だけでなく「公式の証明」も理解しておいたほうがいいです。

クラメルの公式

$x_1,x_2,\cd,x_n$ に関する連立1次方程式: $$\begin{cases} \ a_{11}x_1+a_{12}x_2+ \cd +a_{1n}x_n=b_1 \\[5pt] \ a_{21}x_1+a_{22}x_2+ \cd +a_{2n}x_n=b_2 \\[5pt] \hspace{10pt} \cd \cd \cd \cd \\[5pt] a_{m1}x_1+a_{m2}x_2+ \cd +a_{mn}x_n=b_m \end{cases}$$ について, $A=(a_{ij}),\ $ $\x={}^t(x_1\ x_2\ \cd\ x_m),\ $ $\bm{b}={}^t(b_1\ b_2\ \cd\ b_m)$ とおくと $A\x=\bm{b}$ と表せる. もし, $n=m$ かつ $A$ が正則ならば次のクラメルの公式を用いて解 $\x=A^{-1}\bm{b}$ が一意に求まる.

定理 (クラメルの公式)
$A$ を $n$ 次正方行列とし, $\bm{b}\in \R^n$ とする. $\det A\neq 0$ ならば, $A\x=\bm{b}$ の解はただ一つであって, それは $\x=A^{-1}\bm{b}$ で与えられる. また, $A=(a_{ij}),\ $ $\x=(x_j),\ $ $\bm{b}=(b_j)$ とすると, 各 $x_j\ $ $(j=1,2,\cd,n)$ は次のように表せる. $$\eq{ x_j & =\f{1}{\det A} \md{a_{11} &\cd & a_{1,j-1}& b_1 & a_{1,j+1} &\cd & a_{1n} \cr a_{21} &\cd & a_{2,j-1}& b_2 & a_{2,j+1} &\cd & a_{2n} \cr & & \cd & \cd & \cd & & \cr a_{n1} &\cd & a_{1,j-1}& b_n & a_{n,j+1} &\cd & a_{nn} } \\[4pt] & =\f{1}{\det A} \det(\bm{a}_1,\cd,\bm{a}_{j-1},\ \bm{b},\ \bm{a}_{j+1},\cd,\bm{a}_n). }$$ (※$\bm{a}_i$ は $A$ の第 $i$ 列ベクトル.)

証明
[証明]  $A\x=\bm{b}$ は $$ x_1\bm{a}_1+x_2\bm{a}_2+\cd+x_n\bm{a}_n=\bm{b} $$ と表せるから, 行列式の多重線形性により, $$\eq{ & \det(\bm{a}_1,\cd,\bm{a}_{j-1},\ \bm{b},\ \bm{a}_{j+1},\cd,\bm{a}_n) \\ = & \det(\bm{a}_1,\cd,\bm{a}_{j-1},\ \sum_{k=1}^nx_k\bm{a}_k,\ \bm{a}_{j+1}\cd,\bm{a}_n) \\ = & \sum_{k=1}^nx_k \det(\bm{a}_1,\cd,\bm{a}_{j-1},\bm{a}_k,\bm{a}_{j+1},\cd,\bm{a}_n) \\ \Big(k \neq j & \Longrightarrow \det(\bm{a}_1,\cd,\bm{a}_{j-1},\bm{a}_k,\bm{a}_{j+1},\cd,\bm{a}_n)=0 \te{により}\Big) \\ = & x_j\det(\bm{a}_1,\cd,\bm{a}_{j-1},\bm{a}_j,\bm{a}_{j+1},\cd,\bm{a}_n) \\ = & x_j\det A. }$$ $$ \th \det(\bm{a}_1,\cd,\bm{b},\cd,\bm{a}_n)=x_j\det A. $$ よって定理が得られた.

このようにクラメルの公式は連立1次方程式の解を「行列式」によって簡潔に表せる便利なものである.

ただ, 上の定理は添え字が多くてわかりにくいので, 3次行列の場合を述べておく.

定理 (3次行列のクラメルの公式)
$A=(a_{ij})$ を $3$ 次正則行列とし, $\bm{b}=(b_i)\in \R^3$ とする. このとき, $A\x=\bm{b}$ は一意的な解 $\x=(x_j)\in \R^3$ をもち, その解は次のように表せる. $$\eq{ x_1 & =\f{1}{\det A} \md{ b_1 & a_{12} & a_{13} \cr b_2 & a_{22} & a_{23} \cr b_3 & a_{32} & a_{33}} =\f{\det(\bm{b},\bm{a}_2,\bm{a}_3)}{\det A}, \\[3pt] x_2 & =\f{1}{\det A} \md{ a_{11} & b_1 & a_{13} \cr a_{21} & b_2 & a_{23} \cr a_{31} & b_3 & a_{33}} =\f{\det(\bm{a}_1,\bm{b},\bm{a}_3)}{\det A}, \\[3pt] x_3 & =\f{1}{\det A} \md{ a_{11} & a_{12} & b_1 \cr a_{21} & a_{22} & b_2 \cr a_{31} & a_{32} & b_3} =\f{\det(\bm{a}_1,\bm{a}_2,\bm{b})}{\det A}. }$$

この公式を用いる例題や応用を次に紹介する.

例題

連立方程式

$x,y,z$ に関する連立1次方程式: $$\begin{cases} a_{11}x+a_{12}y+a_{13}z=b_1 \\[3pt] a_{21}x+a_{22}y+a_{23}z=b_2 \\[3pt] a_{31}x+a_{32}y+a_{33}z=b_3 \end{cases}$$ について, $A=(a_{ij}),\ $ $\x={}^t(x\ y\ z),\ $ $\bm{b}={}^t(b_1\ b_2\ b_3)$ とおくと $A\x=\bm{b}$ と表せる. 行列 $A$ が正則ならばクラメルの公式を用いて解 $\x=A^{-1}\bm{b}$ が一意に求まる.

問題
$a,b,c$ が相異なる実数であるとき, 次の連立方程式を解け.
$\begin{cases} \ x+y+z=1 \\[3pt] ax+by+cz=d \\[3pt] a^2x+b^2y+c^2z=d^2 \end{cases}$

解答
[解答]
係数行列式は簡単な計算により, $$ (a-b)(b-c)(c-a) $$ であるから, $$\eq{ & x=\f{(d-b)(b-c)(c-d)}{(a-b)(b-c)(c-a)}, \\ & y=\f{(a-d)(d-c)(c-a)}{(a-b)(b-c)(c-a)}, \\ & z=\f{(a-b)(b-d)(d-a)}{(a-b)(b-c)(c-a)}. }$$

クラメルの公式は, 文字を係数とする方程式や, 係数の配列が規則的な方程式の解の公式を作るのに有効である. 次の例のように実際の数値を係数とする方程式を解くためには必ずしも適当ではない.

問題
クラメルの公式を用いて, 次の連立方程式を解け.
$\begin{cases} -x+y+z=2 \\[3pt] \ \ \ x-y+z=4 \\[3pt] \ \ \ x+y-z=-2 \end{cases}$

解答
[解答]
$$ A= \m{ -1 & 1 & 1 \cr 1 & -1 & 1 \cr 1 & 1 & -1}, \ \ \x=\m{ x \cr y \cr z }, \ \ \bm{b}=\m{ 2 \cr 4 \cr -2} $$ とおくと, 与えられた連立方程式は $A\x=\bm{b}$ と表される.
$\det A=4\neq 0$ なので, $A$ は正則である. 従って, クラメルの公式により, $$ x=\f{1}{\det A} \md{2 & 1 & 1 \cr 4 & -1 & 1 \cr -2 & 1 & -1}=1.$$ $$ y=\f{1}{\det A} \md{-1 & 2 & 1 \cr 1 & 4 & 1 \cr 1 & -2 & -1}=0.$$ $$ z=\f{1}{\det A} \md{-1 & 1 & 2 \cr 1 & -1 & 4 \cr 1 & 1 & -2}=3.$$ よって, 連立方程式の解は $$ x=1,\ \ y=0,\ \ z=3. $$

例題を見てのとおり, 3次行列のときは計算量がそれほど多くない. ただ, この例題は掃き出し法を用いたほうがはやく簡単である. さらに, クラメルの公式は4次以上の行列だと計算量がとても多くなる.

従って, クラメルの公式は計算に関して実用に向かない. しかし, 理論では役立つことがある. つまり, なんらかの定理の証明に応用されることがある. その例を次に紹介する.

応用

逆行列を余因子行列で表す

クラメルの公式によって逆行列を「余因子行列」の形に表せる.

なお, 正方行列 $A$ の余因子行列 $\widetilde{A}$ とは, $(i,j)$ 成分が $(-1)^{i+j}\det(A_{ij})$ である行列のことである. ただし, $A_{ij}$ は $A$ の第 $i$ 行と第 $j$ 列を取り除いて得られる $n-1$ 次の行列を指す.

定理
$A$ を正則行列とし, $\widetilde{A}$ をその余因子行列とする.
このとき, $A$ の逆行列 $A^{-1}$ は次のように表せる. $$ A^{-1}=\f{1}{\det A}\widetilde{A}. $$

証明
[証明]  $A^{-1}=(\x_1,\cd,\x_n)$ と表すことにすると, $AA^{-1}=I$ により, $$ AA^{-1}=A(\x_1,\cd,\x_n)=(A\x_1,\cd,A\x_n) =(\e_1,\cd,\e_n). $$ したがって $A\x_j=\e_j$ が各 $j$ に対して成り立つ.

列ベクトル $\x_j$ の第 $i$ 成分を $x_{ij}$ と表すことにしよう.
すると, 連立1次方程式 $A\x_j=\e_j$ に対してクラメルの公式を使えば $$ x_{ij} =\f{\det(\bm{a}_1,\cd,\bm{a}_{i-1},\e_j,\bm{a}_{i+1},\cd,\bm{a}_n)} {\det A} .$$ 右辺の分子は $(-1)^{i+j}\det A_{ij}$ に等しいので,
$$ A^{-1}=\f{1}{\det A}\widetilde{A} $$ が成り立つ.

上の定理は有名であり他分野で使うので, 数学科はとくに覚えておいたほうがいい.

線型代数以外の分野で「クラメルの公式により,...」という文言が出てきたら, クラメルの公式そのものでなく、この逆行列に関する定理を指すことがあるので注意.

リー群論への応用

例として, リー群に関する次の定理を示そう.

定理
$G$ を一般線形群 $\GL_n(\R)$ とする.
写像 $G \to G,\ $ $A\mapsto A^{-1}$ は $C^{\infty}$ 級関数である.

証明
[証明]  クラメルの公式により, 与えられた写像は $$ A\mapsto A^{-1}=\f{1}{\det A}\widetilde{A} $$ と表せる.

$\det A$ と $\det A_{ij}$ を展開することによって, 逆行列 $A^{-1}$ の各成分は有理関数であることがわかる.
(※有理関数とは分母分子がともに多項式である関数)

したがって, この写像は $C^{\infty}$ 級関数である.

この定理は $\GL_n(\R)$ がリー群であることを証明するときに用いられる.
※上の定理は $\GL_n(\R)$ だけでなく特殊線形群 $\SL_n(\R)$ や 直交群 $O(n)$ のときでも成り立つ.

なお, $G$ がリー群であるとは群構造を持ち, 次の写像が $C^{\infty}$ 級関数の微分多様体のことである: $$ G\times G \to G,\ \ (A,B)\mapsto AB $$ $$ G \to G ,\ \ A\mapsto A^{-1} $$