「行列式」で求めているのは「体積の拡大率」

科学・テクノロジー

逆行列を手計算で求めるときに、「行列式」を習った人も多いと思いますが、そもそも「行列式」が何を求めているのか?を知らない人も多いように思います。

そこで今回は、「行列式」で求めているのが「体積の拡大率」になる理由と、「行列式」の有用な性質について説明します。

スポンサーリンク

「行列式」とは何か?

行列式の説明をする前に、行列をかけることは「写像」だということをご存じでしょうか?

たとえば、\((\boldsymbol{e_1}=(1,0)^T,\boldsymbol{e_2}=(0,1)^T)\) に、以下に示す行列 \(A\) をかけた場合、\((\boldsymbol{e_1},\boldsymbol{e_2})\) がどの座標に移動するかイメージできますか?

$$A=\begin{pmatrix}
1.5 & 0 \\
0 & 0.5 \\
\end{pmatrix}
$$

移動後の座標を \((\boldsymbol{a_1},\boldsymbol{a_2})\) とすると、以下のようになります。

\(\boldsymbol{a_1}\) は、\((1.5,0)^T\) の座標に、\(\boldsymbol{a_2}\) は、\((0,0.5)^T\) の座標に移動していることから、\((\boldsymbol{e_1},\boldsymbol{e_2})\) は、それぞれ行列 \(A\) の1列目と2列目をかけた座標に移動することがわかります。

そして、このときの面積拡大率(上記の場合は \(S=1\) から \(S=0.75\) に変化しているので、\(0.75\) 倍)が行列式で求める値になります。

もうひとつ例題を考えてみましょう。

先ほどと同様に、\((\boldsymbol{e_1}=(1,0)^T,\boldsymbol{e_2}=(0,1)^T)\) に、以下に示す行列 \(B\) をかけた場合、\((\boldsymbol{e_1},\boldsymbol{e_2})\) はどの座標に移動するでしょうか?

$$B=\begin{pmatrix}
1 & -0.3 \\
-0.7 & 0.6 \\
\end{pmatrix}
$$

移動後の座標を \((\boldsymbol{b_1},\boldsymbol{b_2})\) とすると、以下のようになります。

\(\boldsymbol{b_1}\) は、\((1,-0.7)^T\) の座標に、\(\boldsymbol{b_2}\) は、\((-0.3,0.6)^T\) の座標に移動していることから、行列 \(A\) をかけたときと同様に、\((\boldsymbol{e_1},\boldsymbol{e_2})\) は、それぞれ行列 \(B\) の1列目と2列目をかけた座標に移動することがわかります。

そして、このときの面積拡大率(上記の場合は \(S=1\) から \(S=0.39\) に変化しているので、\(0.39\) 倍)が行列式で求める値になります。

この考えを3次元に拡張すると体積になるため、行列式は「体積の拡大率」を求めるものとなるのです。

ちなみに、「体積の拡大率」がわかって何がうれしいのか?と言えば、解析学で習う積分(面積や体積)を求める場合や、確率・統計で習う「確率密度関数」から確率を求める場合など、役立つところは色々あります。

スポンサーリンク

行列式の有用な性質について

ここまで行列式の具体的な計算方法を説明してきませんでしたが、引き続き説明せずに、行列式の有用な性質について先に説明します。

まず、行列式は、\(\mathrm{det}\) を使って表します。先ほど示した行列 \(A\) の場合は、\(\mathrm{det}A=0.75\) などと記載します。

$$\mathrm{det}A=
\mathrm{det}\begin{pmatrix}
1.5 & 0 \\
0 & 0.5 \\
\end{pmatrix}
=1.5\times 0.5 =0.75
$$

有用な性質①:ある列(行)の定数倍を別の列(行)に加えても値が変わらない

行列式を計算するときに有用な1つ目の性質として、「ある列の定数倍を別の列に加えても値が変わらない」というものがあります。

3次元で考えた場合、重ねたトランプを平行にずらしても体積が変わらいないことをイメージするとわかりやすいかもしれません。

上の説明を式で表すと、以下のようになります。

\begin{eqnarray}
\begin{split}
\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3}+c\boldsymbol{a_1})&=&\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})+\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},c\boldsymbol{a_1}) \\
&=&\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})
\end{split}
\tag{1}
\end{eqnarray}
\(\boldsymbol{a_1}\):3次元行列の1列目のベクトル
\(\boldsymbol{a_2}\):3次元行列の2列目のベクトル
\(\boldsymbol{a_3}\):3次元行列の3列目のベクトル
\(c\):スカラー

よくわからないと思うので、具体的な数字で説明します。

$$\mathrm{det}\begin{pmatrix}
1.5 & 0 & 3 \\
0 & 0.5 & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
=
\mathrm{det}\begin{pmatrix}
1.5 & 0 & 0 \\
0 & 0.5 & 0 \\
0 & 0 & 1 \\
\end{pmatrix}
+
\mathrm{det}\begin{pmatrix}
1.5 & 0 & 3 \\
0 & 0.5 & 0 \\
0 & 0 & 0 \\
\end{pmatrix}
$$

上式の3つ目の行列は、1列目を2倍したものが3列目になっています。

ここで、行列が写像だということを思い出すと、この行列に \((1,0,0)^T\) と \((0,0,1)^T\) をかけると、座標が同一直線上に移ることがわかります。

つまり、1次元減ってしまうのです。(=体積が \(0\) になる)

そのため、「ある列の定数倍を別の列に加えても値が変わらない」が成り立ちます。

ちなみに、行についても同様のことが言えます。行の要素と列の要素を入れ替えた転置行列の行列式が、元の行列の行列式と同じ値になるからです。

$$\mathrm{det}(A^T)=\mathrm{det}A$$

そのため、「ある行の定数倍を別の行に足しても行列式の値は変わらない」が成立します。

スポンサーリンク

有用な性質②:多重線形性

先ほど示した式 \((1)\) をもう一度じっくり眺めてみると、1列目(\(\boldsymbol{a_1}\))、2列目(\(\boldsymbol{a_2}\))はそのままで、3列目(\(\boldsymbol{a_3}+c\boldsymbol{a_1}\))を2つに分割(\(\boldsymbol{a_3}\)と\(c\boldsymbol{a_1}\))して足し合わせていることがわかります。

〇再掲
\begin{eqnarray}
\begin{split}
\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3}+c\boldsymbol{a_1})&=&\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})+\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},c\boldsymbol{a_1}) \\
&=&\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})
\end{split}
\tag{1}
\end{eqnarray}

行列式は体積であることから、ある直方体について、底面(1列目と2列目)はそのままで、ある高さ(3列目)で分割し、2つの直方体にわけるイメージを思い浮かべるとわかりやすいかもしれません。

そして、以下2つの式が成り立つことを多重線形性と言います。

$$
\mathrm{det}(c\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})=c\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3}) \\
\mathrm{det}(\boldsymbol{a_1}+\boldsymbol{a’_1},\boldsymbol{a_2},\boldsymbol{a_3})=\mathrm{det}
(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})+\mathrm{det}(\boldsymbol{a’_1},\boldsymbol{a_2},\boldsymbol{a_3})
$$

1つ目の式は、直方体の1辺を \(c\) 倍して体積を求めるか、求めた体積を後から \(c\) 倍するかの違いなので、イコールが成り立ちます。2つ目の式は、式 \((1)\) の3列目が1列目に変わっただけです。

それぞれ具体例を以下に示します。

$$
\mathrm{det}
\begin{pmatrix}
1 & 10 & 5 \\
1 & 20 & 7 \\
1 & 30 & 6 \\
\end{pmatrix}
=
10
\mathrm{det}
\begin{pmatrix}
1 & 1 & 5 \\
1 & 2 & 7 \\
1 & 3 & 6 \\
\end{pmatrix}
$$

\begin{eqnarray}
\mathrm{det}
\begin{pmatrix}
1 & 1 & 5 \\
1 & 2 & 7 \\
1 & 3 & 6 \\
\end{pmatrix}
+
\mathrm{det}
\begin{pmatrix}
1 & 1 & 5 \\
1 & 7 & 7 \\
1 & 1 & 6 \\
\end{pmatrix}
&=&
\mathrm{det}
\begin{pmatrix}
1 & 1+1 & 5 \\
1 & 2+7 & 7 \\
1 & 3+1 & 6 \\
\end{pmatrix} \\
&=&
\mathrm{det}
\begin{pmatrix}
1 & 2 & 5 \\
1 & 9 & 7 \\
1 & 4 & 6 \\
\end{pmatrix}
\end{eqnarray}

また、2つの列(行)を入れ替えると、符号が反転します。

平面で考えると、辺を入れ替えても面積は同じですが、面がくるりと反転するからです。3次元座標系で言うところの「右手系」から「左手系」に変わるようなものです。

$$\mathrm{det}(\boldsymbol{a_1},\boldsymbol{a_2},\boldsymbol{a_3})=-\mathrm{det}(\boldsymbol{a_2},\boldsymbol{a_1},\boldsymbol{a_3})$$
スポンサーリンク

行列式を計算しよう

では、具体的に行列式を計算していきましょう。

まず、以下に示す行列 \(C\) について、行列式を計算してみます。

$$\mathrm{det}C=
\mathrm{det}
\begin{pmatrix}
1 & 4 & 5 \\
0 & 2 & 6 \\
0 & 0 & 3 \\
\end{pmatrix}
$$

先ほど説明した「有用な性質①:ある列の定数倍を別の列に加えても値が変わらない」を利用して、1列目を4倍して2列目から引き、1列目を5倍して3列目から引くと、

$$
\mathrm{det}
\begin{pmatrix}
1 & 4-1\cdot4 & 5-1\cdot5 \\
0 & 2-0\cdot4 & 6-0\cdot5 \\
0 & 0-0\cdot4 & 3-0\cdot5 \\
\end{pmatrix}
=
\mathrm{det}
\begin{pmatrix}
1 & 0 & 0 \\
0 & 2 & 6 \\
0 & 0 & 3 \\
\end{pmatrix}
$$

となります。同様に、2列目を3倍して3列目から引くと、

$$
\mathrm{det}
\begin{pmatrix}
1 & 0 & 0-0\cdot3 \\
0 & 2 & 6-2\cdot3 \\
0 & 0 & 3-0\cdot3 \\
\end{pmatrix}
=
\mathrm{det}
\begin{pmatrix}
1 & 0 & 0 \\
0 & 2 & 0 \\
0 & 0 & 3 \\
\end{pmatrix}
= 6
$$

と対角成分のみが残るため、単純なかけ算で求めることができました。

このように、対角成分より下側がすべて0の行列(上三角行列)の行列式は、対角成分をかけあわせることで求めることができます。

以下に、下三角行列の行列式の求め方とあわせて記載します。

$$
\mathrm{det}
\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
0 & a_{22} & a_{23} \\
0 & 0 & a_{33} \\
\end{pmatrix}
=a_{11}a_{22}a_{33}
$$

$$
\mathrm{det}
\begin{pmatrix}
b_{11} & 0 & 0 \\
b_{21} & b_{22} & 0 \\
b_{31} & b_{32} & b_{33} \\
\end{pmatrix}
=b_{11}b_{22}b_{33}
$$

では次に、上三角行列や下三角行列のような特殊ではない行列式を計算で求めてみます。

以下に示す行列 \(D\) について、行列式を計算してみましょう。

$$
\mathrm{det}D=
\mathrm{det}
\begin{pmatrix}
2 & 1 & 3 & 2 \\
6 & 6 & 10 & 7 \\
2 & 7 & 6 & 6 \\
4 & 5 & 10 & 9 \\
\end{pmatrix}
$$

まずは、先ほど説明した「有用な性質①:ある列(行)の定数倍を別の列(行)に加えても値が変わらない」を使って、1行目をそれぞれ3倍、1倍、2倍したものを2行目、3行目、4行目から引きます。

$$
=
\mathrm{det}
\begin{pmatrix}
2 & 1 & 3 & 2 \\
0 & 3 & 1 & 1 \\
0 & 6 & 3 & 4 \\
0 & 3 & 4 & 5 \\
\end{pmatrix}
$$

次に、1列目をそれぞれ1/2倍、3/2倍、1倍したものを2列目、3列目、4列目から引くと、

$$
=
\mathrm{det}
\begin{pmatrix}
2 & 0 & 0 & 0 \\
0 & 3 & 1 & 1 \\
0 & 6 & 3 & 4 \\
0 & 3 & 4 & 5 \\
\end{pmatrix}
$$

となります。

ここで、以下の式が成り立つことが理解できるでしょうか?

$$
\mathrm{det}
\begin{pmatrix}
a_{11} & 0 & 0 \\
0 & a_{22} & a_{23} \\
0 & a_{32} & a_{33} \\
\end{pmatrix}
=
a_{11}\mathrm{det}
\begin{pmatrix}
a_{22} & a_{23} \\
a_{32} & a_{33} \\
\end{pmatrix}
$$

\((1,0,0)^T\) に関わる成分が \(a_{11}\) だけなので、\(a_{11}\) を前に出して掛け合わせても同じ値になります。行列式は体積ということを思い出せば理解できると思います。

さて、この考えを使うと、先ほどの式は、

$$
=
2\mathrm{det}
\begin{pmatrix}
3 & 1 & 1 \\
6 & 3 & 4 \\
3 & 4 & 5 \\
\end{pmatrix}
$$

となります。引き続き、1行目を2倍、1倍したものを2行目、3行目から引くと、

$$
=
2\mathrm{det}
\begin{pmatrix}
3 & 1 & 1 \\
0 & 1 & 2 \\
0 & 3 & 4 \\
\end{pmatrix}
$$

となり、以下同様に計算していくと、

$$
=
2\cdot3
\mathrm{det}
\begin{pmatrix}
1 & 2 \\
3 & 4 \\
\end{pmatrix}
=2\cdot3\cdot(1\cdot4-2\cdot3)=-12
$$

と求めることができました。

ちなみに、行列式の結果が \(0\) になった場合は、次元が減ってしまうため、逆行列を求めることができません。

あわせて覚えておいてください。

まとめ

今回は、「行列式」で求めているのが「体積の拡大率」になる理由と、「行列式」の有用な性質について説明してきました。

具体的な計算方法よりも、まずは行列式のイメージをつかんで理解を深めてみてはどうでしょうか。

コメント

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