この記事は現在、プロジェクトメンバーによる査読中のものです。草稿段階ですので、内容・表現の正確さについて責任を負いかねます。 リンクを正しく張れていないところが存在しますのでご注意ください。 正式公開まで、いましばらくお待ちください。
行列式の導出

行列式の定義を見ると,どうしてこのような式を考え付いたのか想像しにくいですね. 行列式を使わずに連立1次方程式を解いて,行列式の導出を試みましょう.

3元連立1次方程式

一般の場合は式が複雑で考えにくいので,まず

a_1 x + b_1 y + c_1 z = d_1 \\a_2 x + b_2 y + c_2 z = d_2 \\a_3 x + b_3 y + c_3 z = d_3

について考えましょう. x を求めるために a_i x + b_i y + c_i z = d_i の辺々に \pm b_j c_k (i \neq j \neq k \neq i) をかけた

\pm (a_i b_j c_k x + b_i b_j c_k y + c_i b_j c_k z) = \pm d_i b_j c_k

に対して,例えば

+ a_1 b_2 c_3 x + b_1 b_2 c_3 y + c_1 b_2 c_3 z = + d_1 b_2 c_3 \\- a_2 b_1 c_3 x - b_2 b_1 c_3 y - c_2 b_1 c_3 z = - d_2 b_1 c_3

を辺々加算すると y の係数が (b_1 b_2 - b_2 b_1) c_3 = 0 となります.また,

+ a_1 b_2 c_3 x + b_1 b_2 c_3 y + c_1 b_2 c_3 z = + d_1 b_2 c_3 \\- a_3 b_2 c_1 x - b_3 b_2 c_1 y - c_3 b_2 c_1 z = - d_3 b_2 c_1

を加算すると z の係数が 0 になります. y の係数には b_i b_j が, z の係数には c_i c_k が含まれているのがポイントで,

(s_{ijk} b_i b_j - s_{jik} b_j b_i) c_k y = 0 ~~(s_{ijk} = - s_{jik}) \\(s_{ijk} c_i c_k - s_{kji} c_k c_i) b_j z = 0 ~~(s_{ijk} = - s_{kji})

となるので,(とりあえず) s_{123} = 1 を初期値として符号 s_{ijk}s_{ijk} = - s{jik} = - s_{kji} によって順次定めると

+ a_1 b_2 c_3 x + b_1 b_2 c_3 y + c_1 b_2 c_3 z = + d_1 b_2 c_3 \\- a_1 b_3 c_2 x - b_1 b_3 c_2 y - c_1 b_3 c_2 z = - d_1 b_3 c_2 \\+ a_2 b_3 c_1 x + b_2 b_3 c_1 y + c_2 b_3 c_1 z = + d_2 b_3 c_1 \\- a_2 b_1 c_3 x - b_2 b_1 c_3 y - c_2 b_1 c_3 z = - d_2 b_1 c_3 \\+ a_3 b_1 c_2 x + b_3 b_1 c_2 y + c_3 b_1 c_2 z = + d_3 b_1 c_2 \\- a_3 b_2 c_1 x - b_3 b_2 c_1 y - c_3 b_2 c_1 z = - d_3 b_2 c_1

が得られ,総和をとると(結果的に) y , z の係数がいずれも 0 になることが分かります.

置換による表現

集合 \{1, 2, \cdots , n\} に対する1対1写像を置換といい,とくに \{1, 2, \cdots , n\} の任意の2数だけを交換する置換を互換といいます. ij を交換する互換 \sigma\sigma(i) = j,~~ \sigma(j) = i,~~\sigma(k) = k (k \neq i, j) ですが,これを (i~~j) とかきます.任意の置換は互換の繰り返し(合成写像)で 表現できます.表現の仕方はいろいろありますが,置換を表現するのに必要な互換 の数は偶数か奇数かは変わりません.互換の数が偶数の置換を偶置換,奇数の置換を 奇置換といい,置換 \sigma の符号を偶置換のときは {\rm sgn}(\sigma) = 1 奇置換のときは {\rm sgn}(\sigma) = -1 で定めます. s_{ijk}i, j, k は互いに異なるので,置換 \sigma を用いて i = \sigma(1), j = \sigma(2), k = \sigma(3) と表現でき,置換を用いると n 元連立1次方程式への拡張が容易になります.

一般化準備として,まず

s_{ijk} b_j c_k (a_i x + b_i y + c_i z) = s_{ijk} d_i b_j c_k

を置換を用いて書き換えましょう. s_{ijk} = {\rm sgn}(\sigma) = s_\sigma とし

i = \sigma(1),~~ j = \sigma(2),~~ k = \sigma(3),~~~~a_i = a_{i1},~~ b_i = a_{i2},~~ c_i = a_{i3},~~~~x = x_1,~~ y = x_2,~~ z = x_3

を代入した

s_\sigma a_{\sigma(2)2} a_{\sigma(3)3} \sum_{k=1}^3 a_{\sigma(1)k} x_k= s_\sigma d_{\sigma(1)} a_{\sigma(2)2} a_{\sigma(3)3}

x_1 を求める式であることに注意. x_2 を求めるときの式は

s_\sigma a_{\sigma(2)1} a_{\sigma(3)3} \sum_{k=1}^3 a_{\sigma(1)k} x_k= s_\sigma d_{\sigma(1)} a_{\sigma(2)1} a_{\sigma(3)3}

あるいは \sigma を変更した

s_\sigma a_{\sigma(1)1} a_{\sigma(3)3} \sum_{k=1}^3 a_{\sigma(2)k} x_k= s_\sigma d_{\sigma(2)} a_{\sigma(1)1} a_{\sigma(3)3}

であり, x_j を求める式は

s_\sigma \sum_{k=1}^3 a_{\sigma(j)k} x_k \prod_{i \neq j} a_{\sigma(i)i}= s_\sigma d_{\sigma(j)} \prod_{i \neq j} a_{\sigma(i)i}

です.上式の 3 を n で置換し, \sigma の定義域を {1, \cdots , n} と考えれば, そのまま一般の場合に適用できます.

一般化

3 を n で置換し, \sigma の定義域を {1, \cdots , n} と考えても x_j を同じ式で 求められることを確かめましょう.

\sum_{k=1}^n a_{\sigma(j)k} x_k s_\sigma \prod_{i \neq j} a_{\sigma(i) i}= d_{\sigma(j)} s_\sigma \prod_{i \neq j} a_{\sigma(i) i}

\sigma についての総和をとると, x_k~(k \neq j) の係数は

\sum_\sigma s_\sigma a_{\sigma(j) k} a_{\sigma(k) k}\prod_{i \neq j, k} a_{\sigma(i) i} = 0

となります.ここで i \neq ji \in \{1, \cdots , n \} - \{ j \}i \neq j, ki \in \{ 1, \cdots , n \} - \{ j, k \} を意味します.上式が成立することは \sigma'(j) <  \sigma'(k) である任意の置換 \sigma' に対して置換 \sigma''(j) = (j~k) \sigma' が存在して,

s_{\sigma'} a_{\sigma'(j)k} a_{\sigma'(k)k} + s_{\sigma''} a_{\sigma''(j)k} a_{\sigma''(k)k} = 0,~~~~a_{\sigma'(i)i} = a_{\sigma''(i)i} ~~(i \neq j, k)

が成立するので, x_k ~(k \neq j) の係数である置換の総和を \sigma(j) < \sigma(k) である置換の総和とそうでない置換の総和に分けると,これらの総和が相殺することから分かります.

補遺

(1)発見的に考えるには対象を簡単化して見易い記号を使うこと.最初から

a_{i1} x_1 + a_{i2} x_2 + \cdots + a_{in} x_n = d_i

で考えようとすると無用な複雑さで思考が妨げられます.

(2)「3元連立1次方程式」では a_i x + b_i y + c_i z = d_i\pm b_j c_k を 天下り的にかけましたが,

a_1 x + b_1 y + c_1 z = d_1 \\a_2 x + b_2 y + c_2 z = d_2

から z を消去すると

(c_1 a_2 - c_2 a_1) x + (c_1 b_2 - c_2 b_1) y = c_1 d_2 - c_2 d_1

が得られ,同様に

(c_2 a_3 - c_3 a_2) x + (c_2 b_3 -  c_3 b_2) y = c_2 d_3 - c_3 d_2 \\(c_3 a_1 - c_1 a_3) x + (c_3 b_1 -  c_1 b_3) y = c_3 d_1 - c_1 d_3

も成立するので, y の係数に注目して

\begin{array}{rrrrr}b_3 (c_1 b_2 - c_2 b_1) & = & b_2 b_3 c_1 & - b_3 b_1 c_2 & \\b_1 (c_2 b_3 - c_3 b_2) & = & & b_3 b_1 c_2 & - b_1 b_2 c_3 \\b_2 (c_3 b_1 - c_1 b_3) & = & - b_2 b_3 c_1 & & + b_1 b_2 c_3 \end{array}

から,加重加算によって y の係数を にできることが分かります.行列式で表すと

- b_1 \left| \begin{array}{cc} b_2 & c_2 \\ b_3 & c_3 \end{array} \right| + b_2 \left| \begin{array}{cc} b_1 & c_1 \\ b_3 & c_3 \end{array} \right|- b_3 \left| \begin{array}{cc} b_1 & c_1 \\ b_2 & c_2 \end{array} \right|= 0

です.

(3)連立1次方程式

\sum_{k=1}^n a_{ik} x_k = d_i

の解 x_j

\sum_{k=1}^n a_{\sigma(j)k} x_k s_\sigma \prod_{i \neq j} a_{\sigma(i)i}= d_{\sigma(j)} s_\sigma \prod_{i \neq j} a_{\sigma(i)i} \sum_\sigma s_\sigma a_{\sigma(j)k} a_{\sigma(k)k} \prod_{i \neq j} a_{\sigma(i)i} = 0 \left( \sum_\sigma s_\sigma \prod_{i=1}^n a_{\sigma(i)i} \right) x_j= \sum_\sigma s_\sigma d_{\sigma(j)} \prod_{i=1}^n a_{\sigma(i)i}

から x_j の係数が0でなければ一意に定まります.

a_{ik}(i,k) 要素とする n 次正方行列 A の行列式は

|A| = \sum_\sigma {\rm sgn}(\sigma) \prod_{i=1}^n a_{\sigma(i) i}

で定義されるので, x_j の係数が a_{ik}(i, k) 要素とする n 次正方行列 A の 行列式であり,上式右辺は行列 A(i, j) (i = 1, \cdots , n) 要素を d_i で置換した 行列の行列式になっていること(クラメルの公式)を確かめられます.

あとがき

数学史的な内容は[1]を参照してください.

参考文献

  1. 行列式 - Wikipedia