線形代数(15)

≪行列式とはなにか≫

行列に対する基本的な概念として「行列式」というものがあるが、そもそも「行列式」とはなんだろうか?
行列式になぜ「置換」や「置換の符号」というのが出てくるのか?
「行列の故郷」に帰って考えてみよう。

いま、方程式が
AX=B  ……(1)
とすると、この問題は「 A 倍すると B となる数 X は?」という問題と解釈できることになるから 
A0  ならば X=BA (2)
として、簡単に解くことができる。
そこで、さらに
ax+by=e (3) cx+dy=f (4)
のように与えられている、とすると、この連立方程式は、

(3)d -  (4)b a·d-c·b x+ b·d-d·b y= e·d-f·b したがって a·d-c·b x= e·d-f·b (5)
同様にして

(4)a -  (3)c c·a-a·c x+ d·a-b·c y= f·a-e·c したがって d·a-b·c y= f·a-e·c (6)

いま、ad-bc0 ならば、(5),(6)式より

x= ed-fb ad-bc y= fa-ec ad-bc
として、x,y を一意に求めることができる。ここで、ad-bc0 が重要な条件になっていることに注意する。

ところで、上の連立方程式を「行列」の記法で書き表わすと

a b c d x y = e f (7) そこで、 A= a b c d u= x y b= e f と表わすことにすると、(7)式の連立一次方程式は Au =b (8) というように、簡明な形で表わすことができる。
すると、(8)式は「A 倍すると b となる数 u は何か? 」という問題と解釈できるから、

u= bA  ……(9)
となるのではないかと「当たり」が付く。
しかし、ここでも A0 ということが、絶対的な条件となる。すなわち、A の「或る数値」がゼロであるか、そうでないか、ということが決定因子(determinant)になる。そこで「或る数値」を det A と呼ぶことにすると、ある正方行列 A に対して 「或る数値」 det A を対応させることができ、この関数を「行列式」と呼び、det A または  |A| と表記する。
ところで、行列の世界では、掛け算の結果は、一般には、積の順番に依ってしまうから  二つの行列   A,B  に対して A-1B と  BA-1 が  等しいとは限らない。
したがって、BA という記法を使用すると、 BA= A-1B と解釈するか、  BA= BA-1 と解釈するか、  によって、BA が表わす行列が異なってしまうというような混乱が生じ得る。このような理由で、行列の世界では「分数」の記法は用いずに A-1 というように「負ベキ」の指数を用いて、「右から」「左から」を明確にして、「分数」を表わす。

したがって、(8)式から(9)式への変形は、正確には次のようになる。

detA0 ならば  A-1Au=u= A-1b

すると、(7)式の連立一次方程式を解く問題は、「方程式の「係数」である行列 A の逆行列 A-1 を求める問題」に取って代わるように見える。

行列式が意味するもの

一般に、n 行 n 列の行列 A に対して, 行列式と呼ばれる数を対応させることができる。
そこで、n=2 2行2列の正方行列 A の場合で考えてみよう。
いま、
1 2 3 4 1 0 0 1 は、 1 0  を  1 3  に写し  0 1  を  2 4  に写す。 
そこで、

A= a b c d  を a1= a c  ,  a2= b d  として  A を  A= a1 a2  のように
列ベクトルが並んだものとして考えてみよう。
すると、行列式とは、平面 R2 上の二つのベクトル a1,a2R2 に対して、何か数を対応させる関数 fa1 a2 である、といえる。それでは、上の方程式(5),(6)式で現れた ad-bc が意味するものは何だろうか。 そこで, 逆に,「平面上の二つのベクトルを与えたときに, 自然に定まるような数とは何だろうか」ということを考えてみる。いろんなものがあると思うが、二つのベクトルでできる平行四辺形の面積を考える、というのは、ごく自然な発想であろう。実際に ad-bc は面積を表している。
img
a+b c+d - ac+bd+2bc = ad-bc
そこで、二つのベクトル(a1,a2)でできる平行四辺形の面積を対応させる関数を Sa1a2 と書くことにする。そして、ひとつだけ次のような取り決めを行う。
a1, a2 R から定まる平行四辺形の普通の意味での(正の)面積を
|Sa1a2| というように絶対値を付けて表わした場合、
 (1) a1 から見て、 a2 が反時計回りにに 180度回転するまでに得られる方向にあるとき
  Sa1a2= |Sa1a2|
 (2) a1 から見て、 a2 が時計回りにに 180度回転するまでに得られる方向にあるとき
  Sa1a2= -|Sa1a2|
 例えば、a1 を 勝手にひとつ固定して、a2 を長さを保ったまま、a1 の定める方向から始めて、反時計回りに回転させてゆくときの符号つきの面積 Sa1a2 の変化を考えると、最初は正の面積が段々増えてゆき、a2 が a1 と直交する方向を向いたときに面積が最大になり、その後、正の面積は段々減って a2 が a1 と反対の方向に向いたときに面積が 0 となり、その後は、面積が負となり、同様の変化をするというように解釈する。

そこで、このように符号つきで面積を考えたときに Sa1a2 という関数はどのような性質をもつだろうか。
 まず、a1,a1',a2R2 とすると、ベクトル a1+a1' と a2 でできる平行四辺形の面積 Sa1+a1'a2 はどのように変化するだろうか。 そのため、a1,a1',a1+a1'R2 などから、a2 を延長して得られる直線に垂線を下ろして、それらの高さを、それぞれ h1,h1',h1'' とすると、

h1''= h1+h1'   となるから、 a2  の長さを l2  とすると   平行四辺形の面積=  高さ × 底辺  より h1''·l2= h1+h1'·l2   = h1·l2+ h1'·l2 したがって、  Sa1+a1'a2= Sa1a2+ Sa1'a2  となることが分かる。

 さらに、a1,a2R2,cR として、 Sc·a1a2 を考えてみた場合、c0 のときには、a1  と同じ向きに  a1 の長さが c 倍されることになるから、平行四辺形は向きを保ったまま、面積が c 倍されることになり

Sc·a1a2= c·Sa1a2
となることが分かる。一方、c0 のときには、a1  と向きを逆にして  a1 の長さが |c| 倍されることになるから、平行四辺形は向きを逆にして、面積が |c|倍されることになり

Sc·a1a2= -|cSa1a2 = c·Sa1a2
以上から、関数 Sa1a2 は a1 という変数に関して線形写像になっていることが分かる。全く同様にして、関数 Sa1a2 は a2 という変数に関しても線形写像になっていることが分かるから、関数 Sa1a2 は「多重線形性」という性質をもつ。

また、一方、関数 Sa1a2 と、関数 Sa2a1 を比較した場合、すなわち、関数 Sa1a2 の変数、ベクトル a1 と a2 を取り替えた場合は、取り決めにより、向きが逆になることになるから、

Sa1a2=- Sa2a1
となることが分かる。すなわち「歪対称性」の性質をもつ。
特に、 a1= a2   とすると fa1a1=- fa1a1 2fa1a1=0 fa1a1=0

これまでの考察では、2 行 2 列の行列

A= a b c d
が、勝手にひとつ与えられているとして、これを、

a1= a c  ,  a2= b d
という二つのベクトルが与えられたと解釈して、 Sa1a2 という関数がどのような性質をもつのか、ということを考察し、
(イ) 多重線形性
(ロ) 歪対称性
という性質をもつことを確認した。
 そこで、(イ),(ロ)という2つの性質だけを認めることで  fa1a2 という関数の形はどこまで定まるのか、ということを見てみよう。
いま、
e1= 1 0  ,  e2= 0 1 R2 とすると、 a1  は、 a1= a c   = a· 1 0 + c· 0 1   = a·e1 + c·e2 と書き表わせ、代入して、さらに(イ)を用いると fa1a2= fa·e1 + c·e2 a2    = fa·e1 a2 + fc·e2 a2    = a·fe1 a2 + c·fe2 a2 (10) さらに、 a2= b·e1 + d·e2 として、(10)式に代入すると fa1a2= a·fe1b·e1 + d·e2 + c·fe2b·e1 + d·e2 = ab·fe1e1 + ad·fe1e2 + cb·fe2e1 + cd·fe2e2 (11) ここで、(ロ)という性質を用いると fe1e1= fe2e2=0 fe1e2=- fe2e1 (11)式は、結局 fa1a2= ad-bc ·fe1e2 (12) というように書き換えられることが分かる。
すなわち、(イ),(ロ)という二つの性質を持つような関数は、fe1e2 の値を何にするか、という定数倍の不定性を除いて、(12)式のように、その関数の形が決まってしまうことが分かる。

ところで、e1,e2 を二辺とする平行四辺形は、正の向きを持つ、一辺が 1 の正方形になるから、

fe1e2=1 したがって、(ハ) 規格化条件が成り立つ。

以上から、(イ),(ロ),(ハ)という三つの性質をもつ関数は、

fa1a2= ad-bc

というように, 唯一通りに関数の形が定まってしまうことが分かる。

これまでの考察で、n=2 のとき、行列式とは「符号つきの面積を対応させる関数」であり、このような関数は (イ),(ロ),(ハ)という三つの性質
(イ) 多重線形性: a1 ,a1' ,a2 ,a2' R2  , c R に対して、 つぎが成り立つ。 fa1 +a1' a2 = fa1 a2+ fa1' a2 fc·a1 a2= c·fa1 a2 fa1 a2+a2' = fa1 a2+ fa1 a2' fa1 c·a2= c·fa1 a2
(ロ) 歪対称性: a1 ,a2 R2 に対して、 つぎが成り立つ。 fa1 a2=- fa2 a1 (fa1 a1=0)
(ハ) 規格化条件:
e1= 1 0 ,  e2= 0 1  に対して、 つぎが成り立つ。 fe1 e2=1

で一意的に特徴づけられる、ということが分かった。

それでは、n=3 の場合はどうなるであろうか。
 いま、3行3列の行列

A= a b c d e f g h i
が与えられているとして A の列ベクトルを

a1= a d g ,  a2= b e h ,  a3= c f i  と表わし  e1= 1 0 0 ,  e2= 0 1 0 ,  e3= 0 0 1  と表わすことにする。   すると、  a1, a2, a3  は、それぞれ、  a1= a·e1+ d·e2+ g·e3 a2= b·e1+ e·e2+ h·e3 a3= c·e1+ f·e2+ i·e3  と表わすことができる。
そこで、n=2 の場合と同様に、(イ)の「多重線形性」だけを用いて、fa1a2a3 を書き換えてみると、
fa1a2a3 = abc· fe1 e1 e1 +abf· fe1 e1 e2 +abi· fe1 e1 e3 +aec· fe1 e2 e1 +aef· fe1 e2 e2 +aei· fe1 e2 e3 +ahc· fe1 e3 e1 +ahf· fe1 e3 e2 +ahi· fe1 e3 e3
+dbc· fe2 e1 e1 +dbf· fe2 e1 e2 +dbi· fe2 e1 e3 +dec· fe2 e2 e1 +def· fe2 e2 e2 +dei· fe2 e2 e3 +dhc· fe2 e3 e1 +dhf· fe2 e3 e2 +dhi· fe2 e3 e3
+gbc· fe3 e1 e1 +gbf· fe3 e1 e2 +gbi· fe3 e1 e3 +gec· fe3 e2 e1 +gef· fe3 e2 e2 +gei· fe3 e2 e3 +ghc· fe3 e3 e1 +ghf· fe3 e3 e2 +ghi· fe3 e3 e3

という 27個の項に分解される。
そこで、(ロ)の「歪対称性」という性質を用いると、 fe1e1e3 のように、同じベクトルが重複して現われるような項は 0 になってしまうから、ベクトルが単独で現れる 6個の項だけが残り、

fa1a2a3 = aei· fe1 e2 e3 +ahf· fe1 e3 e2 +dbi· fe2 e1 e3 +dhc· fe2 e3 e1 +gbf· fe3 e1 e2 +gec· fe3 e2 e1

となることが分かる。
さらに、勝手な二つのベクトルを入れ替えると (−1) 倍されるという (ロ) の性質を用いると、

fe1 e2 e3 =- fe1 e3 e2 e2 e3  =- fe2 e1 e3 e1 e2  =- fe3 e2 e1 e1 e3 = fe2 e3 e1 e1 e3 e2 e3 = fe3 e1 e2 e1 e3 e2 e1

したがって、最終的には、

fa1a2a3 = ( aei+ gbf+ dhc -ahf -dbi -gec )· fe1 e2 e3
という形に書き直すことができる。すなわち、n=2 の場合と同様に、(イ),(ロ)という二つの性質を持つような関数は「 fe1 e2 e3 の値を何にするか」という定数倍の不定性を除いて、その関数の形が決まってしまうことが分かる。
そこでさらに、(ハ)というう規格化条件  fe1 e2 e3 =1 が成り立っているから

fa1a2a3 = aei+ gbf+ dhc -ahf -dbi -gec
というように、唯一通りに関数の形が定まってしまうことが分かる。

ここまでくると、一般に、n 行 n 列の行列の場合にどうなりそうかということが予想がつく。
 いま、行列 A の i 行 j 列の成分を aij と表わすことにすると、行列 A の列ベクトル、

a1= a11 a21 an1 ,  a2= a12 a22 an2 , …, an= a1n a2n ann  は、それぞれ k=1,2,3,…,n として ak= a1k a2k ank = a1k 0 0 + 0 a2k 0 +…+ 0 0 ank = ik=1 n aikk
と、書き表わすことができる。
さらに、

e1= 1 0 0 ,  e2= 0 1 0 ,…, en= 0 0 1
を用いると、

ak= a1k e1+ a2k e2 +…+ ank en = ik=1 n aikk eik
と分解して書き表わすことができる。
 そこで、これを用いて、 fa1a2an を考えると、

fa1a2an = f i1=1 n ai11 ei1 i2=1 n ai22 ei2 in=1 n ainn ein 多重線形性: fc·a1 a2= fa1 c·a2 = c·fa1 a2 より = i1=1 n ai11 ·f ei1 i2=1 n ai22 ei2 in=1 n ainn ein = i1=1 n ai11 i2=1 n ai22 ·f ei1 ei2 in=1 n ainn ein = i1=1 n ai11 i2=1 n ai22 in=1 n ainn ·f ei1 ei2 ein = i1i2in=1 n ai11 ai22 ainn ·f ei1 ei2 ein (13)
したがって、それぞれが 1 から n までとるから、、nn 個の項の和の形に書き直すことができる。
 ところで、(ロ)の歪対称性の性質から同じベクトルがあると、

f ei1 ei2 ein =0

となるから、n 個ある eik はそれぞれ1回だけ顔を出すことになる。すなわち、異なる n 個の中から1個だけ取り出す「並び替え問題」に帰着する。すると nn  個のうち、e1,e2,…,en を入れ替えたような形をした n! 個の項だけが残ることになる。
さらに、(ロ)のベクトルを入れ替えると(-1)倍される、という性質を用いると、並び替えた回数を t とすると (-1)t 倍されることになる。そこで、 ei1 ei2 ein  を   e1, e2,…, en という順番に並び替えたときに現われる符号を sgnσ∈{±1} とすると

f ei1 ei2 ein = sgnσ· f e1 e2 en

と、表わすことができる。したがって、(14)式は最終的には

fa1a2an =( ∗  sgnσ· ai11 ai22 ainn f e1 e2 en (∗: i1 i2≠…≠ in⁡)
さらに、(ハ)の規格化条件を用いると、結局、

fa1a2an = ∗  sgnσ· ai11 ai22 ainn (14) (∗: i1 i2≠…≠ in⁡)
というように完全に値が定まってしまうことが分かる。

さて、ここまで考察を進めた後で、思考の順序を逆転させて、こうした考察をすべて背景に押しやってしまい、逆に、(14) 式のような表示を行列式の定義として採用することで、 「 (14) 式により定義された行列式という関数が, (イ), (ロ), (ハ) という三つの性質を持つと いうことを証明する」という形で議論することもできる。 むしろ、このように議論した方が,「体積」とか「向き」とかいう概念を持ち出さずに,「論理的にすっきりした形で議 論できる」という理由から、普通、線型代数学の教科書には, そのような書き方がされている。
そこで、行列式をきちんと定義するために,「置換」や「置換の符号」といった余り馴染みのない概念が最初に議論されていたり, 行列式に関する様々な性質 が次から次へと述べられていたりするために,「行列式は何をやっているのか良く分からない」という印象が先立つことになる。