ベイジアン研究所

プログラミング言語(アルゴリズム的な話が中心)やガジェットの紹介をしています。時々心理学の話も。

【線型代数学入門】行列式の定義

1. 記事の目的
以下の記事で、置換について述べた。置換を用いて、行列式と呼ばれるものを定義する。行列式を用いて、行列の階数を求めたり、連立方程式の解を求めることができる。

camelsan.hatenablog.com

2. 行列式の意味
行列式を一般的に定義する前に、2次正方行列の行列式の意味について考える。

2次の正方行列の行列式は、高校で習うように

A=
    \begin{pmatrix}
        a & b \\
        c & d
    \end{pmatrix}

に対し、A行列式


    ad-bc
\tag{1}

である。(1)の値の、図形的な意味を説明する。行列式の意味を述べるための準備として、以下で、平面ベクトルの定義とその線形変換について述べる。

2.1. 平面ベクトル
平面ベクトルとは、2次元平面上の長さと方向を持った量のことである。図形的には、矢印で表現される。図1のように2点PとQをとったときにPからQへ向かう矢印として表される。

f:id:camelsan:20210307095329p:plain
図1 平面ベクトル

ベクトルは、"方向"と"長さ"による量であり、その"位置"には関係ない。つまり、図1の矢印を平行にずらしたものも、全く同じベクトルとなる。特に、Pを原点(2次元座標の(0,0))にとった時のPとQを結ぶベクトルを位置ベクトルという。

ベクトルを次の方法で、二つの数の組で表すことができる。PとQを結ぶベクトルをQとする。Pの座標を(x_1,y_1)、Qの座標を(x_2,y_2)とする。


    \begin{split}
        &a = x_2-x_1 \\
        &b = y_2 - y_1
    \end{split}
\tag{2}

とすると、a,bは、PとQを結ぶ線の方向と大きさのみにより、位置にはよらない。実際、Pのx座標をs、Pのy座標をtだけ移動した座標をP^{\prime}とすると、P^{\prime}の座標は、(x_1+s,y_1+t)となる。Qも同じだけ移動させる。移動先を、Q^{\prime}とすると、Q^{\prime}の座標は、(x_2+s,y_2+t)となる。PQとP^{\prime}Q^{\prime}は矢印の方向と大きさは同じで位置のみが異なる。この時、ベクトルP^{\prime}Q^{\prime}における、(2)の数a,bを求めると、


    \begin{split}
        &a = x_2+s-(x_1+s)=x_2 - x_1 \\
        &b = y_2+t - (y_1+t)=y_2-y_1
    \end{split}

従って、PとQを結ぶベクトルを、各々の座標の差である、(2)の数の組で表現することができる。(2)の数の組をベクトルの成分と呼び、


    \bf{a}=
    \begin{pmatrix}
        a \\
        b
    \end{pmatrix}

と書く(PとQを結ぶベクトルを\bf{a}としている)。

2.2. 平面ベクトルの線形変換
平面ベクトルを成分表示して(\bf{a}と書く)左から、二次正方行列を掛けると\bf{a}別のベクトルの成分表示に変換することに対応する。例えば、

\bf{a}=
    \begin{pmatrix}
        1 \\
        1
    \end{pmatrix}

として、

A=
    \begin{pmatrix}
        1 & 1 \\
        3 & 1
    \end{pmatrix}

とすると、ベクトル\bf{a}は、

\bf{b}=A\bf{a}=
    \begin{pmatrix}
        1 & 1 \\
        3 & 1
    \end{pmatrix}
    \begin{pmatrix}
        1 \\
        1
    \end{pmatrix}
    =
        \begin{pmatrix}
        2 \\
        4
    \end{pmatrix}

に移る。\bf{a}\bf{b}の位置ベクトルを同一平面上に書くと図2のようになる。

f:id:camelsan:20210307105850p:plain
図2 ベクトルの線形変換

ベクトルを別のベクトルに移す規則である行列Aのことを線形変換という(言葉遣いが紛らわしいが、線形変換と呼ばれる写像を定義できるが、それは結局行列と1対1対応があるということが証明される)。

2.3. 行列式の意味
ここで最初の目的に戻って、2.1と2.2で用意した概念を用いて、二次正方行列の行列式の意味について述べる。

2次元座標(0,0), (1,0), (0,1), (1,1)を頂点とする正方形を考える(図3参照)。

f:id:camelsan:20210307111724p:plain
図3 正方形

原点(0,0)とA(1,0)を結ぶベクトルを、\bf{a}、原点(0,0)とB(0,1)を結ぶベクトルを、\bf{b}とすると、それぞれを成分表示すると、


    \bf{a}=
    \begin{pmatrix}
        1 \\
        0
    \end{pmatrix},
    \bf{b}=
    \begin{pmatrix}
        0 \\
        1
    \end{pmatrix}

である、\bf{a}\bf{b}を線形変換

A=
    \begin{pmatrix}
        a & b \\
        c & d
    \end{pmatrix}

で移動させる。このとき


    \begin{split}
        A\bf{a}&=\begin{pmatrix}
            a & b \\
            c & d
        \end{pmatrix}
        \begin{pmatrix}
            1 \\
            0
        \end{pmatrix}
        = 
        \begin{pmatrix}
        a \\
        c
        \end{pmatrix} \\
        A\bf{b}&=\begin{pmatrix}
            a & b \\
            c & d
        \end{pmatrix}
        \begin{pmatrix}
            0 \\
            1
        \end{pmatrix}
        = 
        \begin{pmatrix}
        b \\
        d
        \end{pmatrix} \\
        A(\bf{a}+\bf{b})&=\begin{pmatrix}
            a & b \\
            c & d
        \end{pmatrix}
        \begin{pmatrix}
            1 \\
            1
        \end{pmatrix}
        = 
        \begin{pmatrix}
        a+b \\
        c+d
        \end{pmatrix} 
    \end{split}

であり、図3の正方形は図4の平行四辺形に移動される。

f:id:camelsan:20210307114640p:plain
図4 平行四辺形

図4の平行四辺形の面積を求める。図5のように求めることができる。

f:id:camelsan:20210307120627p:plain
図5 平行四辺形の面積

まとめると、二次正方行列A行列式は1辺の長さが1の正方形を線形変換Aで移動させてできた平行四辺形の面積のことである。

2. 行列式の定義
より一般的に、n次正方行列の行列式を定義する。

n次正方行列A=(a_{ij})に対し、


    \displaystyle\sum_{\sigma\in S_n}{\rm{sgn}}\sigma\cdot a_{1\sigma(1)}a_{2\sigma(2)}\dots a_{n\sigma(n)}

を行列A行列式といい、


    \begin{vmatrix}
        a_{11} & a_{12} & \dots & a_{1n} \\
        a_{21} & a_{22} & \dots & a_{2n} \\
        \vdots & \vdots &&\vdots \\
        a_{n1} & a_{n2} & \dots & a_{nn} \\
    \end{vmatrix}, 
    \begin{vmatrix}
        A
    \end{vmatrix},
    {\rm{det}}A

などと表す。但し、


\displaystyle\sum_{\sigma\in S_n}

は、全てのn文字の置換\sigmaに渡る和を表す。

行列A=(a_{ij})の各列を列ベクトル\bf{a}_1,\bf{a}_2,\dots,\bf{a}_n で表したときに、


    {\rm{det}}(\bf{a}_1, \bf{a}_2, \dots, \bf{a}_n)

と表すこともある。

n=3のとき、3文字の置換を列挙すると、


    \begin{split}
        &\begin{pmatrix}
             1 & 2 & 3 \\
             1 & 2 & 3
        \end{pmatrix}, 
        \begin{pmatrix}
             1 & 2 & 3 \\
             1 & 3 & 2
        \end{pmatrix}, 
        \begin{pmatrix}
             1 & 2 & 3 \\
             2 & 1 & 3
        \end{pmatrix}, \\
        &\begin{pmatrix}
             1 & 2 & 3 \\
             2 & 3 & 1
        \end{pmatrix},
        \begin{pmatrix}
             1 & 2 & 3 \\
             3 & 1 & 2
        \end{pmatrix},
        \begin{pmatrix}
             1 & 2 & 3 \\
             3 & 2 & 1
        \end{pmatrix}
    \end{split}

より、


    \begin{split}
        \begin{vmatrix}
            a_{11} & a_{12} & a_{13} \\
            a_{21} & a_{22} & a_{23} \\
            a_{31} & a_{32} & a_{33}
        \end{vmatrix}
        = a_{11}a_{22}a_{33} - a_{11}a_{23}a_{32} - a_{12}a_{21}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{13}a_{22}a_{31} 
    \end{split}

各々の符号に関しては、恒等置換を互換で何回変換すれば対象の置換になるかを考えればよい。

3. 参考文献
[1] 線型代数入門

[2] note "行列式 |A|=ad-bc の幾何学的意味"

note.com

視覚的に行列式の意味が述べられており大変わかりやすかった。ベクトルなどの必要な言葉を用意してこちらの内容をそのまま書いたに過ぎない。