当ブログは記事内にプロモーションを含みます。ご了承ください。

クラメルの公式による連立1次方程式の解法

行列を用いて連立1次方程式を解く方法を考える。

ここでは、クラメルの公式を紹介する。計算量が多いため実用性は高くないが、簡潔で美しい公式なので知っておいて損はない。

より実用的な解法としては、ガウスの消去法(掃き出し法)を別の記事で紹介する。

 

余因子行列と逆行列

まず、余因子行列により逆行列を求める方法を述べる。

\(n\)次正方行列\(A\)の余因子行列を\(\tilde{A}\)とするとき、逆行列\(A^{-1}\)は次式で求めることができる。

$$A^{-1}=\frac{\tilde{A}}{|A|}$$

 

上式が確かに逆行列になっていることを確認しよう。

\[\begin{align*}
A・A^{-1} &= \frac{1}{|A|}A・\tilde{A} \\&= \frac{1}{|A|}\left(
\begin{array}{ccccc}
a_{11} & a_{12} & \ldots & a_{1n} \\
\vdots & \vdots & & \vdots \\
a_{i1} & a_{i2} & \ldots & a_{in} \\
\vdots & \vdots & & \vdots \\
a_{n1} & a_{n2} & \ldots & a_{nn}
\end{array}
\right)\left(
\begin{array}{ccccc}
A_{11} & \ldots & A_{j1} & \ldots & A_{n1} \\
A_{12} & \ldots & A_{j2} & \ldots & A_{n2} \\
\vdots & & \vdots & & \vdots \\
a_{1n} & \ldots & a_{jn} & \ldots & a_{nn}
\end{array}
\right)
\end{align*}\]

ここで

$$c_{ij}=a_{i1}A_{j1}+a_{i2}A_{j2}+\cdots+a_{in}A_{jn}$$

とおく。

(ⅰ)\(i=j\)のとき

$$c_{ii}=\sum_{k=1}^{n}a_{ik}A_{ik}=|A|$$

これは、余因子展開の式になっている。

対角成分はすべて\(|A|\)である。

(ⅱ)\(i\not=j\)のとき

\[
c_{ij}=\left|
\begin{array}{ccccc}
\vdots &\vdots & & \vdots \\
a_{i1} & a_{i2} & \ldots & a_{in} \\
\vdots &\vdots & & \vdots \\
a_{i1} & a_{i2} & \ldots & a_{in} \\
\vdots &\vdots & & \vdots
\end{array}
\right|=0
\]

のように\(i\)行目と\(j\)行目が同じ成分になるため、行列式は0になる。

よって、対角成分以外はすべて0になる。

 

(ⅰ)、(ⅱ)より

\[
A・A^{-1} = \frac{1}{|A|}\left(
\begin{array}{ccccc}
|A| & & & 0 \\
& |A| & & \\
& & \ddots &  \\
0 & & & |A|
\end{array}
\right)=E
\]

 

余因子行列によって逆行列を計算することができるが、計算量が多いのであまり実用的ではない。

 

クラメルの公式

この逆行列の式を用いて、連立方程式の解を与えるクラメルの公式を得ることができる。

 

\(n\)元連立1次方程式

\[\begin{cases}
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_{n1}x_1 + a_{n2}x_2 + \cdots + a_{nn}x_n = b_n
\end{cases}\]

は、行列を用いて

$$A\boldsymbol{x}=\boldsymbol{b}$$

とかくことができる。

\(|A|\not=0\)のとき、この連立方程式の解は

$$x_i=\frac{|A_i|}{|A|} (i=1,2,\cdots,n)$$

で与えられる。ただし、\(|A_i|\)は

\[
|A_i|=\left|
\begin{array}{cccc}
a_{11} & a_{12} & \ldots & b_1 & \ldots & a_{1n} \\
a_{21} & a_{22} & \ldots & b_2 & \ldots & a_{2n} \\
\vdots & \vdots & & \vdots & & \vdots \\
a_{n1} & a_{n2} & \ldots & b_n & \ldots & a_{nn}
\end{array}
\right|
\]

のように、行列\(A\)の\(i\)列目を\(\boldsymbol{b}\)で置き換えてできる行列の行列式である。

 

(証明)

\(|A|\not=0\)のとき、\(\displaystyle A^{-1}=\frac{\tilde{A}}{|A|}\)が存在する。

\[\begin{align*}
\boldsymbol{x} = A^{-1}\boldsymbol{b} = \frac{1}{|A|}\left(
\begin{array}{cccccc}
A_{11} & A_{21} & \ldots & A_{n1} \\
A_{12} & A_{22} & \ldots & A_{n2} \\
\vdots & \vdots & & \vdots \\
A_{1i} & A_{2i} & \ldots & A_{ni} \\
\vdots & \vdots & & \vdots \\
A_{1n} & A_{2n} & \ldots & A_{nn}
\end{array}
\right)\left(
\begin{array}{ccccc}
b_1 \\
b_2 \\
\vdots \\
b_i \\
\vdots \\
b_n
\end{array}
\right)
\end{align*}\]

$$x_i=\frac{1}{|A|}(b_1A_{1i}+b_2A_{2i}+\cdots+b_nA_{ni})=\frac{|A_i|}{|A|}$$

括弧の中身は\(i\)列に関する余因子展開になっている。

(証明終)

 

クラメルの公式を使って例題を解いてみよう。

例題

次の連立方程式を、クラメルの公式を用いて解け。

\[\begin{cases}
2x_1 + 3x_2 + x_3 = 7 \\
x_1 + x_2 – x_3 = 4 \\
3x_1 + x_2 – x_3 = 6
\end{cases}\]

 

(解)

係数行列の行列式は

\[
|A| = \left|
\begin{array}{ccc}
2 & 3 & 1 \\
1 & 1 & -1 \\
3 & 1 & -1
\end{array}
\right|=-8\not=0
\]

よって、クラメルの公式より

\[
x_1 = \frac{\left|
\begin{array}{ccc}
7 & 3 & 1 \\
4 & 1 & -1 \\
6 & 1 & -1
\end{array}
\right|}{|A|}=\frac{-8}{-8}=1
\]

\[
x_2 = \frac{\left|
\begin{array}{ccc}
2 & 7 & 1 \\
1 & 4 & -1 \\
3 & 6 & -1
\end{array}
\right|}{|A|}=\frac{-16}{-8}=2
\]

\[
x_3 = \frac{\left|
\begin{array}{ccc}
2 & 3 & 7 \\
1 & 1 & 4 \\
3 & 1 & 6
\end{array}
\right|}{|A|}=\frac{8}{-8}=-1
\]

$$∴(x_1,x_2,x_3)=(1,2,-1)$$

 

なお、3次の行列式の計算についてはサラスの公式を用いて計算できる。ここでは計算の詳細は省略した。

 

まとめページ

線形代数学 内積の定義と正値性・対称性・線形性について 特別な行列の名前と定義・性質の一覧 対称行列と反対称行列の性質・分解公式 行列のn乗の計算方法ー4つのパターン サラスの公式による行列式の計算方法 余因[…]

理工数学
線形代数学
最新情報をチェックしよう!