倭算数理研究所

科学・数学・学習関連の記事を、「倭マン日記」とは別に書いていくのだ!

高校数学で線型代数入門(番外編) ~行列式はどこからきたのか~

高校数学で線型代数(というか行列)をやってみようシリーズ(目次)。 次は行列式をやる予定なのですが、ベクトル(座標)の変換と行列式がどう関係しているかを導こうと思ってたらかなり長い記事になりそうだったので番外編として別に書くことにしました。

行列式はベクトルの変換が逆変換を持つかどうかを判定するのに使います。 つまり、 { \textbf{x} } { \textbf{x}' } に変換する行列に対して、 { \textbf{x}' } を与えたときに  { \textbf{x} } が求まるかどうかを判定します。 行列式の値が0でないなら  { \textbf{x} } が求まり、0なら求まりません。

さて、通常は行列式を置換などを使って定義した後で、それが上記の判定に使えることを証明すると思いますが、行列式の定義は最初見たときに結構複雑で分かりにくいと思うので、この記事では逆変換が存在する条件から行列式(仮)を定義して、それが通常使われる行列式の性質(のいくつか)を満たすことを示します。 例によって、数学的に厳密でない部分がいろいろありますが。

この記事の内容

参考

2次元

ベクトル  { \textbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} } を行列  { A } (成分  { [A]_{ij} = a_{ij} }) によって変換した結果が  { \textbf{x}' = \begin{pmatrix} x'_1 \\ x'_2 \end{pmatrix} } であるとき

  { \displaystyle\begin{align*}
  \begin{cases}
    x'_1 = a_{11}x_1 + a_{12}x_2 \\
    x'_2 = a_{21}x_1 + a_{22}x_2
  \end{cases}
\end{align*}}

の関係があるのでした。 行列要素を  { a_{ij} } と書くとちょっとゴチャゴチャするので、この記事中では添字を下付きの数字ではなく括弧付きの数字  { (ij) } で表すことにします。  つまり  { (ij) = a_{ij} } です。 この記事では複数の行列が出てこないので混同することはないでしょう。 上記の変換をこの記法で書くと(後での参照のため、左辺と右辺を入れ替えてます)

  { \displaystyle\begin{align*}
  \begin{cases}
    (11)x_1 + (12)x_2 = x'_1 \qquad\cdots (\textrm{i}) \\
    (21)x_1 + (22)x_2 = x'_2 \qquad\cdots (\textrm{ii})
  \end{cases}
\end{align*}}

となります。

さて、(i), (ii) 式で表される変換の逆変換が存在するためには、 { x'_1,\,x'_2 } が与えられたときに  { x_1,\,x_2 } が一意に決まる必要があります。 言い換えれば、(i), (ii) 式を  { x_1,\,x_2 } を変数とする(よって他の  { x'_1,\,x'_2 } や行列要素は定数)連立1次方程式が1組の解を持てばいいことになります。 これは中学数学でやる加減法をやればいいだけですね。 文字がたくさんありますが、あくまで変数は  { x_1,\,x_2 } だけです。

まずは  { x_2 } を消去して  { x_1 } を求めましょう。  { (\textrm{i}) \times (22) - (\textrm{ii}) \times (12) } より

  { \displaystyle\begin{align*}
                (11)(22)x_1 + (12)(22)x_2 &= (22) x'_1\\
  -) \quad (12)(21)x_1 + (12)(22)x_2 &= (12) x'_2 \\\hline
 \left\{(11)(22) - (12)(21)\right\}x_1  &= (22)x'_1 - (12) x'_2
\end{align*}}

よって  { (11)(22) - (12)(21) \ne 0 } のとき

  { \displaystyle\begin{align*}
  x_1 = \frac{(22)x'_1 - (12) x'_2}{(11)(22) - (12)(21)}
\end{align*}}

同様にして、(i), (ii) 式より  { x_1 } を消去して  { x_2 } を求めると、 { (11)(22) - (12)(21) \ne 0 } のとき

  { \displaystyle\begin{align*}
  x_2 = \frac{-(21)x'_1 + (11) x'_2}{(11)(22) - (12)(21)}
\end{align*}}

となります。

さて、ここで2次の行列式(仮)

  { \displaystyle\begin{align*}
  \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc
\end{align*}}

で定義すると、 { \begin{vmatrix} (11) & (12) \\ (21) & (22) \end{vmatrix} \ne 0 } のとき

  { \displaystyle\begin{align*}
  x_1
    &= \frac{\begin{vmatrix} x'_1 & (12) \\ x'_2 & (22) \end{vmatrix}}{\begin{vmatrix} (11) & (12) \\ (21) & (22) \end{vmatrix}} &
  x_2
    &= \frac{\begin{vmatrix} (11) & x'_1 \\ (12) & x'_2 \end{vmatrix}}{\begin{vmatrix} (11) & (12) \\ (21) & (22) \end{vmatrix}}
\end{align*}}

となります。

2次の行列式(仮)の性質

3次元でちょっと使うので、2次の行列式(仮)の性質をいくつか見ておくことにしましょう。 どれも定義に立ち返れば簡単に示せます。

交代性
行を入れ替えると符号が変わります:

  { \displaystyle\begin{align*}
  \begin{vmatrix} b & a \\ d & c \end{vmatrix}
    &= bc - ad \\
    &= -(ad - bc) \\
    &= - \begin{vmatrix} a & b \\ c & d \end{vmatrix}
\end{align*}}

多重線型性1
行の和は行列式(仮)の和にできます:

  { \displaystyle\begin{align*}
  \begin{vmatrix} a + a' & b \\ c + c' & d \end{vmatrix}
    &= (a+a')d - b(c+c') \\
    &= (ad - bc) + (a'd - bc')\\
    &= \begin{vmatrix} a & b \\ c & d \end{vmatrix} + \begin{vmatrix} a' & b \\ c' & d \end{vmatrix}
\end{align*}}

 { a } { c' } が0でももちろん構いません。

多重線型性2
行の定数倍は行列式(仮)の定数倍にできます( { p } は定数):

  { \displaystyle\begin{align*}
  \begin{vmatrix} pa & b \\ pc & d \end{vmatrix}
    &= (pa)d - b(pc) \\
    &= p(ad - bc) \\
    &= p\begin{vmatrix} a & b \\ c & d \end{vmatrix}
\end{align*}}

行に同じ定数が掛けられていると、定義で書き下したときに各項にちょうど1度ずつ同じ因子が出てくるのでそれでくくれます。 全体に同じ因子がかかっていると2乗でくくられるので注意:

  { \displaystyle\begin{align*}
  \begin{vmatrix} pa & pb \\ pc & pd \end{vmatrix}
    &= p^2\begin{vmatrix} a & b \\ c & d \end{vmatrix}
\end{align*}}

3次元

2次元の変換と同じことを3次元の変換でもやってみましょう。 変換の式を書き下すと(2次元のときと同じ記法を使います)

  { \displaystyle\begin{align*}
  \begin{cases}
    (11)x_1 + (12)x_2 + (13)x_3 = x'_1 \qquad\cdots (\textrm{i}) \\
    (21)x_1 + (22)x_2 + (23)x_3 = x'_2 \qquad\cdots (\textrm{ii}) \\
    (31)x_1 + (32)x_2 + (33)x_3 = x'_3 \qquad\cdots (\textrm{iii})
  \end{cases}
\end{align*}}

となります。 式番号は2次元と被ってますが混同はしないでしょう。

このような3元連立1次方程式を解くには、1つの式で1つの文字を消して2元連立方程式にして解くのが普通だと思います。 例えば (i), (iii) 式から  { x_3 } を消去した式と (ii), (iii) 式から  { x_3 } を消去した式で  { x_1,\,x_2 } の2元連立1次方程式にして解きます。 ただ、この方法だと  { n } 次元へ拡張しようとすると結構計算が大変になるのでちょっと別の解き方をします。

ここで使う方法は、2次元の場合を使うのは同じですが、まず最初に2つの方程式(ここでは (ii), (iii) 式とする)と2つの変数(ここでは  { x_2,\,x_3 } とする)を選んで2次元の結果を使って解き(当然  { x_1 } は結果に残ったまま)、この結果と残りの式((i) 式)から残りの変数( { x_1 })の解を得ます。

ではやってみましょう。 まず (ii), (iii) 式の  { x_1 } を含む項を右辺へ移項します:

  { \displaystyle\begin{align*}
  \begin{cases}
    (22)x_2 + (23)x_3 = x'_2 - (21)x_1 \\
    (32)x_2 + (33)x_3 = x'_3 - (31)x_1
  \end{cases}
\end{align*}}

これを  { x_2,\,x_3 }連立方程式と見れば2次元の場合の結果が使えて

  { \displaystyle\begin{align*}
  \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_2
    &= \begin{vmatrix} x'_2 - (21)x_1 & (23) \\ x'_3 - (31)x_1 & (33) \end{vmatrix} \\[2mm]
  \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_3
    &= \begin{vmatrix} (22) & x'_2 - (21)x_1 \\ (32) & x'_3 - (31)x_1 \end{vmatrix}
\end{align*}}

ここで前節の2次の行列式(仮)の性質「多重線型性」を使うと

  { \displaystyle\begin{align*}
  \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_2
    &= \begin{vmatrix} x'_2 & (23) \\ x'_3 & (33) \end{vmatrix}
      - \begin{vmatrix} (21) & (23) \\ (31) & (33) \end{vmatrix} x_1
      \qquad\cdots (\textrm{iv}) \\[2mm]
  \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_3
    &= \begin{vmatrix} (22) & x'_2 \\ (32) & x'_3 \end{vmatrix}
      - \begin{vmatrix} (22) & (21) \\ (32) & (31) \end{vmatrix}x_1
      \qquad\cdots (\textrm{v})
\end{align*}}

以上をを踏まえて (i) 式の両辺に  { \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix} } を掛けて

  { \displaystyle\begin{align*}
    &(11)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_1 
      + (12)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_2
      + (13)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_3
      = \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x'_1
\end{align*}}

(iv), (v) を使うと

  { \displaystyle\begin{align*}
    &(11)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x_1
    + (12)\left\{
      \begin{vmatrix} x'_2 & (23) \\ x'_3 & (33) \end{vmatrix}
      - \begin{vmatrix} (21) & (23) \\ (31) & (33) \end{vmatrix} x_1
    \right\} \\
    &\qquad+ (13)\left\{
      \begin{vmatrix} (22) & x'_2 \\ (32) & x'_3 \end{vmatrix}
      - \begin{vmatrix} (22) & (21) \\ (32) & (31) \end{vmatrix}x_1
    \right\}
      = \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x'_1
\end{align*}}

 { x_1 } で整理して

  { \displaystyle\begin{align*}
  &\left\{
    (11)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}
    - (12)\begin{vmatrix} (21) & (23) \\ (31) & (33) \end{vmatrix}
    - (13)\begin{vmatrix} (22) & (21) \\ (32) & (31) \end{vmatrix}
  \right\}x_1 \\
  &\qquad= 
    \begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}x'_1
    - (12)\begin{vmatrix} x'_2 & (23) \\ x'_3 & (33) \end{vmatrix}
    - (13)\begin{vmatrix} (22) & x'_2 \\ (32) & x'_3 \end{vmatrix}
\end{align*}}

さらに2次の行列式(仮)の性質「交代性」を使って少し変形すると

  { \displaystyle\begin{align*}
  &\left\{
    (11)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}
    - (12)\begin{vmatrix} (21) & (23) \\ (31) & (33) \end{vmatrix}
    + (13)\begin{vmatrix} (21) & (22) \\ (31) & (32) \end{vmatrix}
  \right\}x_1 \\
  &\qquad= 
    x'_1\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}
    - (12)\begin{vmatrix} x'_2 & (23) \\ x'_3 & (33) \end{vmatrix}
    + (13)\begin{vmatrix} x'_2 & (22) \\ x'_3 & (32) \end{vmatrix}
\end{align*}}

ここで3次の行列式(仮)

  { \displaystyle\begin{align*}
  \begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix}
    = a\begin{vmatrix} e & f \\ h & i \end{vmatrix}
      - b\begin{vmatrix} d &f \\ g & i \end{vmatrix}
      + c\begin{vmatrix} d & e\\ g & h \end{vmatrix}
\end{align*}}

で定義すると、上記の式は

  { \displaystyle\begin{align*}
  \begin{vmatrix} (11) & (12) & (13) \\ (21) & (22) & (23) \\ (31) & (32) & (33) \end{vmatrix} x_1
    = \begin{vmatrix} (11) & (12) & x'_1 \\ (21) & (22) & x'_2 \\ (31) & (32) & x'_3 \end{vmatrix}
\end{align*}}

となるので、 { \begin{vmatrix} (11) & (12) & (13) \\ (21) & (22) & (23) \\ (31) & (32) & (33) \end{vmatrix} \ne 0 } のとき

  { \displaystyle\begin{align*}
   x_1
    = \frac{\begin{vmatrix} x'_1 & (12) & (13) \\ x'_2 & (22) & (23) \\ x'_3 & (32) & (33)  \end{vmatrix}}
      {\begin{vmatrix} (11) & (12) & (13) \\ (21) & (22) & (23) \\ (31) & (32) & (33) \end{vmatrix}}
\end{align*}}

が得られます。 同様にして  { x_2,\,x_3 } を求めると

  { \displaystyle\begin{align*}
   x_2
    &= \frac{\begin{vmatrix} (11) & x'_1 & (13) \\ (21) & x'_2 & (23) \\ (31) & x'_3 & (33) \end{vmatrix}}
      {\begin{vmatrix} (11) & (12) & (13) \\ (21) & (22) & (23) \\ (31) & (32) & (33) \end{vmatrix}} &
   x_3
    &= \frac{\begin{vmatrix} (11) & (12) & x'_1 \\ (21) & (22) & x'_2 \\ (31) & (32) & x'_3 \end{vmatrix}}
      {\begin{vmatrix} (11) & (12) & (13) \\ (21) & (22) & (23) \\ (31) & (32) & (33) \end{vmatrix}}
\end{align*}}

となります。

3次の行列式(仮)の性質

2次の行列式(仮)で示した交代性と多重線型性(1, 2) を3次の行列式(仮)でも示しておきましょう。 本当は  { n } 次でやろうと思ったんですがあまりに書くのが大変なので3次の場合に限って示すことにします。 2次の行列式(仮)の対応する性質を使って示しているので、 { n } 次の場合も  { n-1 } 次の性質を仮定して帰納的に示すことができます(頑張れば)。

交代性
行を入れ替えると符号が変わります(1, 2 行目の交代性のみを示します):

  { \displaystyle\begin{align*}
  \begin{vmatrix} b & a & c \\ e & d & f \\ h & g & i \end{vmatrix}
    &= b\begin{vmatrix} d & f \\ g & i \end{vmatrix}
      - a\begin{vmatrix} e & f \\ h & i \end{vmatrix}
      + c\begin{vmatrix} e & d\\ h & g \end{vmatrix} \\
    &= - a\begin{vmatrix} e & f \\ h & i \end{vmatrix}
      + b\begin{vmatrix} d & f \\ g & i \end{vmatrix}
      - c\begin{vmatrix} d & e \\ g & h \end{vmatrix} \\
    &= -\begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix}
\end{align*}}

多重線型性1
行の和は行列式(仮)の和にできます(1行目のみについて示します*1):

  { \displaystyle\begin{align*}
  \begin{vmatrix} a + a' & b & c \\ d + d' & e & f \\ g + g' & h & i \end{vmatrix}
    &= (a + a') \begin{vmatrix} e & f \\ h & i \end{vmatrix}
      - b\begin{vmatrix} d + d' & f \\ g + g' & i \end{vmatrix}
      + c\begin{vmatrix} d + d' & e \\ g + g' & h \end{vmatrix} \\
    &= a\begin{vmatrix} e & f \\ h & i \end{vmatrix} + a'\begin{vmatrix} e & f \\ h & i \end{vmatrix}
       - b\begin{vmatrix} d & f \\ g & i \end{vmatrix} - b\begin{vmatrix} d' & f \\ g' & i \end{vmatrix}
       + c\begin{vmatrix} d & e \\ g & h \end{vmatrix} + c\begin{vmatrix} d' & e \\ g' & h \end{vmatrix} \\
    &= \begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix}
      + \begin{vmatrix} a' & b & c \\ d' & e & f \\ g' & h & i \end{vmatrix}
\end{align*}}

多重線型性2
行の定数倍は行列式(仮)の定数倍にできます( { p } は定数):

  { \displaystyle\begin{align*}
  \begin{vmatrix} pa & b & c \\ pd & e & f \\ pg & h & i \end{vmatrix}
    &= pa \begin{vmatrix} e & f \\ h & i \end{vmatrix}
      - b\begin{vmatrix} pd & f \\ pg & i \end{vmatrix}
      + c\begin{vmatrix} pd & e \\ pg & h \end{vmatrix} \\
    &= pa \begin{vmatrix} e & f \\ h & i \end{vmatrix}
      - pb\begin{vmatrix} d & f \\ g & i \end{vmatrix}
      + pc\begin{vmatrix} d & e \\ g & h \end{vmatrix} \\
    &= p\begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix}
\end{align*}}

n 次元

 { n } 次元の変換でも2次元や3次元と同様のことを示せます。 3次元では2次元の結果を使って示しましたが、同じ手順を踏めば  { n } 次元では  { n-1 } 次元で成り立つと仮定して数学的帰納法で示せます。 ただ、書くのがかなり大変なので、ここでは結果と  { n } 次の行列式(仮)の帰納的な定義だけ書いておきます。

 { x_1,\,x_2,\,\cdots,\,x_n } を変数とする  { n } 元連立一次方程式

  { \displaystyle\begin{align*}
  \begin{cases}
    (11)x_1 + (12)x_2 + \cdots + (1n)x_n = x'_1 \\
    (21)x_1 + (22)x_2 + \cdots + (2n)x_n = x'_2 \\
    \qquad \vdots \\
    (n1)x_1 + (n2)x_2 + \cdots + (nn)x_n = x'_n
  \end{cases}
\end{align*}}

の解は

  { \displaystyle\begin{align*}
  \begin{vmatrix}
    (11) & (12) & \cdots & (1n) \\
    (21) & (22) & \cdots & (2n) \\
    \vdots & \vdots && \vdots \\
    (n1) & (n2) & \cdots & (nn)
  \end{vmatrix} \ne 0
\end{align*}}

のとき、 { i = 1,\,2,\,\cdots ,\,n } として以下で与えられる:

  { \displaystyle\begin{align*}
  
  x_i =
  \frac{
    \begin{vmatrix}
      (11) & \cdots & (1,\,i-1) & x'_1 & (1,\,i+1) & \cdots & (1n) \\
      (21) & \cdots & (2,\,i-1) & x'_2 & (2,\,i+1) & \cdots & (2n) \\
      \vdots && \vdots & \vdots & \vdots && \vdots \\
      (n1) & \cdots & (n,\,i-1) & x'_n & (n,\,i+1) & \cdots & (nn) 
    \end{vmatrix}
  }{
    \begin{vmatrix}
      (11) & (12) & \cdots & (1n) \\
      (21) & (22) & \cdots & (2n) \\
      \vdots & \vdots && \vdots \\
      (n1) & (n2) & \cdots & (nn)
    \end{vmatrix}
  }
\end{align*}}

分子は第  { i } 列目が  { \textbf{x}' } の成分に置き換わっています。 ここで、 { n } 次の行列式(仮)は以下のように帰納的に定義されます:

 { n = 1 } のとき
  { \displaystyle\begin{align*}
  |(11)| = (11)
\end{align*}}

 { n \geqq 2 } のとき
  { \displaystyle\begin{align*}
  &\begin{vmatrix}
    (11) & (12) & \cdots & (1n) \\
    (21) & (22) & \cdots & (2n) \\
    \vdots & \vdots && \vdots \\
    (n1) & (n2) & \cdots & (nn)
  \end{vmatrix}
  = \sum_{i=1}^n (-1)^{i-1}(1i)
  \begin{vmatrix}
    (21) & \cdots & \check{(2i)} & \cdots & (2n) \\
    (31) & \cdots & \check{(3i)} & \cdots & (3n) \\
    \vdots && \vdots && \vdots \\
    (n1) & \cdots &\check{(ni)} & \cdots & (nn) 
  \end{vmatrix}
\end{align*}}

チェック( { \check{x} })はその行を抜かすことを表しています(一般に使われる記法ではないかと思います)。  { n = 2,\,3 } の場合に和を書き下して、2次、3次のときに出てきた定義と一致することを見ておきましょう:

  { \displaystyle\begin{align*}
  \begin{vmatrix}
      (11) & (12) \\
      (21) & (22)
    \end{vmatrix}
  &= (11) \begin{vmatrix} \check{(21)} & (22) \end{vmatrix}
      - (12)\begin{vmatrix} (21) & \check{(22)} \end{vmatrix} \\
  &= (11) |(22)| - (12)|(21)| \\
  &= (11)(22) - (12)(21) \\[2mm]
  \begin{vmatrix}
      (11) & (12) & (13) \\
      (21) & (22) & (23) \\
      (31) & (32) & (33)
    \end{vmatrix}
    &= (11)\begin{vmatrix} \check{(21)} & (22) & (23) \\ \check{(31)} & (32) & (33) \end{vmatrix}
        - (12)\begin{vmatrix} (21) & \check{(22)} & (23) \\ (31) & \check{(32)} & (33) \end{vmatrix} \\
        &\qquad+ (13)\begin{vmatrix} (21) & (22) & \check{(23)} \\ (31) & (32) & \check{(33)} \end{vmatrix} \\[2mm]
    &= (11)\begin{vmatrix} (22) & (23) \\ (32) & (33) \end{vmatrix}
        - (12)\begin{vmatrix} (21) & (23) \\ (31) & (33) \end{vmatrix}
        + (13)\begin{vmatrix} (21) & (22) \\ (31) & (32) \end{vmatrix}
\end{align*}}

ここでの帰納的な定義は、通常使われる行列式の1行目に関する(余因子)展開と同じものになっています。 もちろん、これで同じものだという証明にはなっているわけではありませんが。

本当はこの定義と通常使われる行列式の定義が同じものだということを見ていきたいところですが、置換などの道具立てが必要なのでこの記事はこの辺で。

齋藤正彦線型代数学

齋藤正彦線型代数学

*1:2, 3 行目については交代性を使えば展開せずに示せます。