以下の内容はhttps://kinakomoti321.hatenablog.com/entry/2025/04/10/225230より取得しました。


行列式(Determinant)の歴史と導出

この記事は連立一次方程式の一般解から考察し、線形代数行列式の導出を行う記事です。なお、著者は専門家ではないため間違った記述がある可能性に留意して閲覧してください。

初めに

線形代数をやっていると行列に関する値として行列式(Determinant)を学ぶと思いますが、その定義の難解さに悩んだ経験がある方は多いのではないでしょうか。 n次正方行列 A行列式 |A| n次の置換 \sigma全体を表す n次対称群 S_nによって次のように書かれます。

 \displaystyle{
|A| = \sum_{\sigma \in S_n} \mathrm{sign}(\sigma) a_{1\sigma(1)}a_{2\sigma(2)}...a_{n\sigma(n)}
}

置換とか具体例とかは後ほど説明しますが、これを見た時はかなり面くらうと思います。正直、ぱっと見ただけではわけがわかりません。

一番疑問に思うとこはどうやってこんな複雑な式が出てきたのかという所です。なぜ置換を使うのか、そもそも何を目的に行列式が作られたのか疑問に思うことが沢山あります。

この記事では行列式を(私が一番納得した)導出について解説していこうと思います。また、おまけとして行列式に関連する公式についても簡単に証明を行います。

行列式(Determinant)と行列(Matrix)の歴史

導出ということでまずは歴史について簡単に述べていこうと思います。行列式と行列はかなりややこしい歴史を持っており、大きく分けて二つの数学の分野が関わってきます。一つはよく言われる連立一次方程式、もう一つ斉次方程式(特に二次形式)です。

行列式の計算のやり方は連立一次方程式の研究から来ています。連立一次方程式は中学数学の連立二元一次方程式が代表的なように、複数の変数に対して複数の一次方程式によって構成されるものです。これら方程式全てを満たすような解を見つけることが目的です。

 \displaystyle{
\left\{ \,
    \begin{aligned}
    & a_{11} x + a_{12} y + a_{13} z = b_1 \\
    & a_{21} x + a_{22} y + a_{23} z = b_2 \\
    & a_{31} x + a_{32} y + a_{33} z = b_3 \\
    \end{aligned}
\right.
}


連立一次方程式の応用先は非常に幅広く、歴史的には農業や天文学など実用的な分野に使われていました。なので研究も古くは古代バビロニア(BC 4000~300)や古代中国(BC 200)から考えられていました[1][2]。

17世紀までは2x2, 3x3, 4x4といった低い次元の連立一次方程式の解は様々な人物によって示されていましたが、(当時に有名だったものに限れば)任意次元に対する一般的な解法は求められていませんでした。一般解を与えたとされているのは1750年のCramerの「Introduction à l'Analyse des Lignes Courbes Algébriques」によって示されたCramerの公式とされています[1][2][3]。

Cramerの公式は現在では一般的に行列式を用いて以下のように示されます。

 \displaystyle{
\left\{ \,
    \begin{aligned}
    & a_{11} x_1 + a_{12} x_2 + ... + a_{1n} x_n + b_1 = 0 \\
    & a_{21} x_1 + a_{22} x_2 + ... + a_{2n} x_n + b_2 = 0 \\
    & ... \\
    & a_{n1} x_1 + a_{n2} x_2 + ... + a_{nn} x_n + b_n = 0 \\
    \end{aligned}
\right.
}


 \displaystyle{
x_i = - \frac{
\begin{vmatrix}
   a_{11} & ... & a_{1i-1} & b_1 & a_{1j+1} & ... & a_{1n} \\
   a_{21} & ... & a_{2i-1} & b_2 & a_{2i+1} & ... & a_{2n} \\
   ... & & ... &  ... &  ... & & ...\\
   a_{n1} & ... & a_{ni-1} & b_n & a_{ni+1} & ... & a_{nn} \\
\end{vmatrix}
}{
\begin{vmatrix}
   a_{11} & ... & a_{1i-1} & a_{1i} & a_{1i+1} & ... & a_{1n} \\
   a_{21} & ... & a_{2i-1} & a_{2i} & a_{2i+1} & ... & a_{2n} \\
   ... & & ... &  ... &  ... & & ...\\
   a_{n1} & ... & a_{ni-1} & a_{ni} & a_{ni+1} & ... & a_{nn} \\
\end{vmatrix}
}
}


現在の知識を使うとここで行列式が生まれたように見えますが、当時は行列式という概念は考えられていませんでしたLeibniz(1700年)や関孝和(1683年)など行列式のアイディアを考えた人はいくつか存在しましたが、Laibnizは論文を未発表、関孝和は西洋数学に影響しなかった、その他にも任意次数は考えていなかったなど、とにかくとして体系化された行列式」という概念はCramerの執筆時点ではありませんでした[1][2][4]。実際にCramerの本を見てみると解の分母や分子は展開された形で書かれています(Appendix参照)。

とはいえ、Cramerは任意次数の連立方程式の解について(証明はないですが)言及していました。その際、解の分母と分子の規則性にも記載しており、ある意味で任意次元の行列式の計算方法を見つけていたと言えると思います。証明はないので経験則だとは思いますが。


一方で行列式(Determinant)という言葉が初めて出てきたのは何処でしょうか。いくつかの資料を参照すると1801年のGaussの「Disquisitiones Arithmeticae(D. A.)」という本でDeterminantという言葉が最初に出てきたとされています[1][2][3]。ですが、このDeterminantは意外なことに連立方程式とは関係がなく、Determinantは二次形式の判別式と定義されていました[5]。

二次形式は馴染みがない人が多いと思いますが、これは変数に対して次数が二次の項を集めたものです。例えばの x,yの二次形式は

 \displaystyle{
a x^2 + 2b x y + c y^2
}

というものです。 a,b,cは係数です。これ自体は2次の一般形みたいなもので様々な分野で使われています。GaussのD. A.は整数を主題としており、その中で二次形式を取り扱っていました。

二次形式は係数 a,b,cによって無数に存在しますが、その中でも性質が似通ったようなもので分類されています。その分類の基準の一つに判別式(Descriminant)という式が考えられています。二次形式の場合、判別式 Dは次のように定義されます。

 \displaystyle{
D = b^2 - ac
}

今でこそ判別式は英語でDescriminantと呼ばれていますが、当時は判別式(Descriminant)もなかったのでGaussのD. A.では判別式をDeterminantと呼んでいます。実際、D. A.のP167を見ると現在の判別式に相当する量をDeterminant(ラテン語でDeterminantem)と定義していることが確認できます。

D. A. P167の一節 Determinant(Determinantem)の定義をしている

ここまでではなぜ二次形式で定義されたDeterminantという言葉が連立方程式の文脈における行列式になったのか関係が見えてきません。二次形式がどのように線形代数に関わってきたのでしょうか。

現代の二次形式を見れば関係性が分かります。現代では二次形式を行列によって表現されることが一般的です。先ほどの二次形式を行列で表すとこのような形で書くことができます。

 \displaystyle{
a x^2 + 2b x y + c y^2 = (x,y)
\begin{pmatrix}
a & b \\
b & c
\end{pmatrix}
\begin{pmatrix}
x\\
y 
\end{pmatrix}
}

ここで判別式と行列の関係を見てみると、ちょうど判別式は行列式(のマイナス)に一致するような関係があることが分かります。

 \displaystyle{
D = b^2 - ac = - 
\begin{vmatrix}
a & b \\
b & c
\end{vmatrix}
}

つまりは判別式というのは行列式によって表現することができるというわけです。実際にもっと高次元の形式における判別式は行列式でまとめて定義されているみたいです。

ja.wikipedia.org

これを知ると判別式と行列式は密接な関係があることが分かり、判別式の元々の名前が行列式の名前に移ったのは突拍子のない話ではあると思います。だからDeterminant(決定するもの)という不思議な名前が付けられていたというわけですね。

もう一つ重要な点として、Gaussは x,yについて次のように変換した新しい X,Yを作り出し、その時現れる新しい二次形式はどうなるかというような問題を考えていました[1][2][3][5]。

 \displaystyle{
X = a_{11} x + a_{12} y \\
Y = a_{21} x + a_{22} y 
}

これは今でいう所の線形変換であることが分かります。線形変換を書けた後の二次形式は行列を用いれば次のように書くことができます。

 \displaystyle{
(x,y)
\begin{pmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{pmatrix}
\begin{pmatrix}
a & b \\
b & c
\end{pmatrix}
\begin{pmatrix}
x\\
y 
\end{pmatrix}
}

この二次形式の判別式は次のようになります。

 \displaystyle{
D = \det(
\begin{pmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{pmatrix}
\begin{pmatrix}
a & b \\
b & c
\end{pmatrix}
) = 
\begin{vmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{vmatrix}
\begin{vmatrix}
a & b \\
b & c
\end{vmatrix}
}

現代の知識を使えば線形変換の行列式が1であれば判別式は変化することはないため、二次形式の性質が変わらない変換があってそれらによって作られる二次形式は同じ性質があるものとしてまとめることができるわけです。Gaussは不変となる線形変換の条件(行列式=1)を求め、二次形式の分類などを行っていたとされています。

ただし、Gaussは行列を生み出したわけでも使ったわけでもありません。実際のD. A.を見るとシンプルに代入していく形で議論が進められています。しかし、その議論は行列式や行列に通じることがあったわけです。


ここで出た線形変換というのは何も二次形式に限る話ではありません。現代の定義では線形変換とは変数 x_1, x_2, ... , x_n y_1, y_2, ..., y_nに対する変換(写像) fの内(本当はベクトル空間で定義すべきですが)

 \displaystyle{
f(x_1 + y_1, x_2 + y_2, ... , x_n + y_n) = f(x_1, x_2, ... , x_n) + f(y_1, y_2, ... , y_n)
}
 \displaystyle{
f(c x_1, c x_2, ... , c x_n) = c f(x_1, x_2, ... , x_n)
}

という性質を満たすもののことを言います。具体的に変換は次のように一般に表されます。

 \displaystyle{
f(x_1, x_2, ... , x_n) = a_1 x_1 + a_2 x_2 + ... + a_n x_n
}

3DCGとかやってる方ならよくわかると思いますが座標に対する変換は線形変換であるように、解析幾何学など様々な場所で現れます。同様で惑星の回転や二次形式など当時の研究対象にも線形変換が現れていました。

ということで1800年代に入ると線形変換自体を認識し始め、それに対する研究がされるようになりました。Gaussの研究に引き続いて、EisensteinやHermiteが2次形式の理論を任意次数へと理論を拡張しようと線形変換を導入したのですが、その際に線形変換を一つの文字として取り扱っていたそうです。そして、線形変換の結果を足し合わせたり、線形変換を二回かけるなどの複数回の線形変換を表せるように線形変換同士の演算(和、積)を定義していたと知られています[1][2][3]。

これが意味することは線形変換そのものを代数的な対象として見なし始めていたわけです。つまりは線形変換はある種の数であるのではという風潮があったわけです。そしてもう一つ、線形変換はまじめに描くと大変面倒なため、係数だけを取り出した記法が存在していました。

 \displaystyle{
\begin{align}
a_{11} x_1 + a_{12} x_2 + a_{13} x_3 \\ 
a_{21} x_1 + a_{22} x_2 + a_{23} x_3 \\ 
a_{31} x_1 + a_{32} x_2 + a_{33} x_3 
\end{align}

= 

\begin{matrix}
a_{11}, a_{12}, a_{13} \\ 
a_{21}, a_{22}, a_{23} \\ 
a_{31}, a_{32}, a_{33} 
\end{matrix}

}


ここまでくれば何となくわかると思いますが、行列は線形変換の簡略記法として開発されたものです*1。行列同士の演算は線形変換の演算から定義されているというわけです。当時はまだ行列という名前がなかったものの、行列を使った線形変換に対する代数、つまりは線形代数が形作られていたということが分かります。

そして、いよいよ1850年にSylvesterによって明確に行列はMatrixと名前が付けられました(Sylvester氏は論文を出していないので多分最初は草稿か何かに書かれていたんだと思います)。彼と交友があったCayleyは行列(Matrix)を一つの実体として代数にすると非常に便利であるということに気づき、1858年にMemoir on the theory of matricesを発表しました。論文のいくつかの部分を抜粋させてもらうと、ぱっと見ただけでもそこそこ今の線形代数とほぼ変わらなさそうに思えます[6]。

[Cayley, 1858]より引用 行列の定義をしている

[Cayley, 1858]より引用 行列の和が定義されている

面白い話としてCayleyは逆行列を導入し、連立一次方程式の解を求めるのに使用した見たいです。実際見てみると逆行列が定義されています(地味にDeterminantが現代的な扱いをしている)。

ただ、この論文は1890年代になるまでは注目されなかったため、しばらくは行列という名前は流行っていませんでした。とはいえ行列自体の概念は様々な人が頭の中であったので研究は進んでおり、線形代数の重要な公式の多くはこの辺りで考えられていたみたいです(ジョルダン標準形とか)。そうして1896年にFrobeniusがCayleyの論文を発見し、行列(Matrix)という表現を使ってそれまでの散らばった線形代数の研究をひとまとめにしたとされています[1][2][3]。こうして線形代数が形作られて、時代を下るにつれて行列(Matrix)や行列式(Determinant)といった概念がまとめられたわけです。


とても雑なグラフ

まとめますと、行列式の計算方法は先んじて連立一次方程式の研究Cramerの公式が初出ですが、用語の定義は別のとこで生まれていて計算が同じなので後々纏められてDeterminatという言葉でまとめられたというわけです。

連立一次方程式もある種の線形変換ではあるので、線形変換の対象としても捉えられており、CauchyがDeterminantを現代的な意味で使ったという記述を見ました(ちゃんと確認していませんが)。あっちこっち影響があるせいでよくわからなくなりますがとにかく行列式線形代数と共に成長してきたわけですね。

名前についてですが、和訳は線形代数が体系化されてから付けられたので、行列に付随するものとして「行列式」と呼ぶようになったのだと考えられます。行列(Matrix)と行列式(Determinant)の英語が全然似ていないのは行列が後から産まれたせいですね。個人的には和訳が一番実情を表していると思っています。

行列式と行列の歴史は以上です。今回述べた歴史はかなり端折っていますし、実際はもっと様々な人の功績があり、本当に様々な理論が影響しあっています。なので参考程度にしていただければ・・・。

連立一次方程式の解法から行列式を導出する

行列式(Determinant)の出生はとても複雑な経緯を持ちますが、最初に行列式の計算方法を具体的に与えたのはCarmerの公式であると言えます。なので、連立一次方程式の一般解を考えることで行列式の定義を導出してみようと思います。今回の導出は東海大学 貴田 研司氏による「大学初年次における数学教材の提案(その27) ~行列式の起源~」を参考にさせて頂きました[7]。

https://www.u-tokai.ac.jp/uploads/sites/12/2021/03/PP53-62.pdf

愚直に考えてみる

最初は二元一次方程式から考えてみましょう。 x,yを変数として任意の連立二元一次方程式は以下のように書くことができます。

 \displaystyle{
\begin{align}
a_1 x + b_1 y + c_1 = 0 \tag{1} \\
a_2 x + b_2 y + c_2 = 0  \tag{2}
\end{align}
}


解を求めるとなればやることは他の変数を消去することです。まずは yを削除することを考え、係数を合わせるように (1) \times b_2,  (2) \times b_1を考えて、お互いで引けば yを削除した式が得られます。

 \displaystyle{

\begin{align}
(1) \times b_2 - (2) \times b_1 &= (a_1 b_2 - a_2 b_1) x + (c_1 b_2 - c_2 b_1) = 0
\end{align}
}


これを xについて求めれば解が得られます。

 \displaystyle{

\begin{align}
x = - \frac{c_1 b_2 - c_2 b_1}{a_1 b_2 - a_2 b_1}
\end{align}
}


 yについても同様の手順で xを削除し、 yに関する方程式を得ることができます。

 \displaystyle{

\begin{align}
(1) \times a_2 - (2) \times a_1 = (a_2 b_1 - a_1 b_2) y + (a_2 c_1 - a_1 c_2) = 0
\end{align}
}


これを解けば yについても解を得ることができます。

 \displaystyle{
\begin{align}
y = - \frac{a_1 c_2 - a_2 c_1}{a_1 b_2 - a_2 b_1}
\end{align}
}

まとめますと、連立二元一次方程式の一般解というのは(分母の形を合わせて)次のように得ることができます。

 \displaystyle{
\begin{align}
x = - \frac{c_1 b_2 - c_2 b_1}{a_1 b_2 - a_2 b_1} \\ 
y = - \frac{a_1 c_2 - a_2 c_1}{a_1 b_2 - a_2 b_1}
\end{align}
}


まあこれ自体はそりゃそうという感じではありますが、2つの方程式から1つの変数を消去する操作で解が求められることが分かりました。3次以上の連立方程式でも同様にこれを繰り返すことで解を求められそうな雰囲気があります。


連立三元一次方程式について解を求めてみましょう。

 \displaystyle{
\begin{align}
a_1 x + b_1 y + c_1 z + d_1 = 0 \tag{1} \\
a_2 x + b_2 y + c_2 z + d_2 = 0  \tag{2} \\
a_3 x + b_3 y + c_3 z + d_3 = 0  \tag{3}
\end{align}
}


とりあえず zを消去した方程式が欲しく、後々 x,yを解くためにはこれが2つ必要になります。ということで、(1), (2)と(2), (3)で zを消去した式を求めてみます。やり方自体は2次の場合でも同様な話なので

 \displaystyle{
\begin{align}
(1) \times c_2 - (2) \times c_1 = (a_1 c_2 - a_2 c_1) x + (b_1 c_2 - b_2 c_1) y + (d_1 c_2 - d_2 c_1) = 0 \\ 
(2) \times c_3 - (3) \times c_1 = (a_2 c_3 - a_3 c_2) x + (b_2 c_3 - b_3 c_2) y + (d_2 c_3 - d_3 c_2) = 0
\end{align}
}


という感じに得られます。2つの方程式が得られたというわけなので先ほどの一般解を用いれば、 x,yについて求めることができます(かなり展開が面倒なので途中式は省略します)。

 \displaystyle{
\begin{align}
x &= - \frac{c_2 (d_1 b_2 c_3 + d_2 b_3 c_1 + d_3 b_1 c_2 - d_1 b_3 c_2 - d_2 b_1 c_3 - d_3 b_2 c_1)}{c_2 (a_1 b_2 c_3 + a_2 b_3 c_1 + a_3 b_1 c_2 - a_1 b_3 c_2 - a_2 b_1 c_3 - a_3 b_2 c_1)} \\
&= - \frac{d_1 b_2 c_3 + d_2 b_3 c_1 + d_3 b_1 c_2 - d_1 b_3 c_2 - d_2 b_1 c_3 - d_3 b_2 c_1}{a_1 b_2 c_3 + a_2 b_3 c_1 + a_3 b_1 c_2 - a_1 b_3 c_2 - a_2 b_1 c_3 - a_3 b_2 c_1} \\
\\
y &= - \frac{c_3 (a_1 d_2 c_3 + a_2 d_3 c_1 + a_3 d_1 c_2 - a_1 d_3 c_2 - a_2 d_1 c_3 - a_3 d_2 c_1)}{c_3 (a_1 b_2 c_3 + a_2 b_3 c_1 + a_3 b_1 c_2 - a_1 b_3 c_2 - a_2 b_1 c_3 - a_3 b_2 c_1)} \\
&=  - \frac{a_1 d_2 c_3 + a_2 d_3 c_1 + a_3 d_1 c_2 - a_1 d_3 c_2 - a_2 d_1 c_3 - a_3 d_2 c_1}{a_1 b_2 c_3 + a_2 b_3 c_1 + a_3 b_1 c_2 - a_1 b_3 c_2 - a_2 b_1 c_3 - a_3 b_2 c_1}\\
\end{align}
}


 zに関しては他の変数についてはわかったのでそのまま求められます。

 \displaystyle{
\begin{align}
z = - \frac{a_1 b_2 d_3 + a_2 b_3 d_1 + a_3 b_1 d_2 - a_1 b_3 d_2 - a_2 b_1 d_3 - a_3 b_2 d_1}{a_1 b_2 c_3 + a_2 b_3 c_1 + a_3 b_1 c_2 - a_1 b_3 c_2 - a_2 b_1 c_3 - a_3 b_2 c_1}
\end{align}
}


こうして解は求めることができましたが、なかなかに計算量が多くてかなり大変です。しかも、解を求める際の規則性もあまり見えてこないし、結果も一発でバンと出るわけでもなく c_2とか c_3で約分を通してますし、なんだか微妙な感じがあります。一般解を考えるとなるともう少し賢い方法が欲しいところです。

同次方程式を使って計算

ここからは書くのが大変なので線形代数の概念を解禁していこうと思います。ただ、使い方は簡略表記ぐらいに納めて、公式などは使わないようにします。

先ほどの2x2の解と3x3の解を見ると分母と分子は変数が違うだけでかける順序は同じように見えます。特に添え字に注目すれば、同じ規則性が見られます。

 \displaystyle{
\begin{align}
x &= - \frac{c_1 b_2 - c_2 b_1}{a_1 b_2 - a_2 b_1} \tag{2x2} \\
x &= - \frac{d_1 b_2 c_3 + d_2 b_3 c_1 + d_3 b_1 c_2 - d_1 b_3 c_2 - d_2 b_1 c_3 - d_3 b_2 c_1}{a_1 b_2 c_3 + a_2 b_3 c_1 + a_3 b_1 c_2 - a_1 b_3 c_2 - a_2 b_1 c_3 - a_3 b_2 c_1}  \tag{3x3}
\end{align}
}


(私たちは既に行列式として知っていますが)ある種これは関数のように見なせそうです。この分母と分子の形となる関数を \Deltaと書くこととします。 \Deltaは2x2, 3x3である場合は以下のように書くことができます。

 \displaystyle{
\begin{align}
\Delta((a_{11}, a_{21})^T, (a_{12}, a_{22})^T) &= a_{11} a_{22} - a_{12} a_{21} \tag{2x2} \\
\\
\Delta((a_{11}, a_{21}, a_{31})^T, (a_{12}, a_{22}, a_{32})^T, (a_{13}, a_{23}, a_{33})^T) &= a_{11} a_{22} a_{33} + a_{21} a_{32} a_{23} + a_{31} a_{12} a_{23} \\ 
&- a_{11} a_{32} a_{23} - a_{21} a_{12} a_{33} - a_{31} a_{22} a_{13} \tag{3x3}
\end{align}
}

連立方程式の列ベクトルを \vec{a} = (a_1, a_2, a_3)^Tみたいに係数の文字と合わせるとしたら

 \displaystyle{
\begin{align}
x &= - \frac{\Delta(\vec{c}, \vec{b})}{\Delta(\vec{a}, \vec{b})} \tag{2x2} \\
x &= - \frac{\Delta(\vec{d}, \vec{b},\vec{c})}{\Delta(\vec{a}, \vec{b}, \vec{c})} \tag{3x3}
\end{align}
}

と書くことができます。


このような \Deltaという関数を考えましたが、この関数はどんな性質があるかというのが気になる所です。ある列ベクトルに注目すると、 \Deltaの各項にはそれぞれ1つずつ分配されていることがわかります。例えば \vec{a}の成分が何処にあるか見てみると、各項に一つずつあることが確認できます。

 \displaystyle{
\Delta(\vec{a}, \vec{b}, \vec{c}) =  a_1(b_2 c_3) + a_2(b_3 c_1) + a_3(b_1 c_2) - a_1 (b_3 c_2) - a_2 (b_1 c_3) - a_3 (b_2 c_1)
}

これは \vec{a}の成分に対して同次一次式であると言えます。同次一次式というのは n個の変数があった時、

 \psi(x_1, x_2, x_3, ..., x_n) = C_1 u_1 + C_2 u_2 + ... + C_n u_n \quad (C_i = Const.)

というようにそれぞれの変数の一次項を足し合わせた式のことを言います。 \Deltaはこれと見比べれば \vec{a} = (a_1, a_2, a_3)の同次一次式であることが確認できます。更に \vec{b}, \vec{c}についても同様の性質を持ちます。つまり \Deltaどの列ベクトルに対しても同次一次式であることが言えます。ということで同次一次式の性質を使うことができそうです。

同次一次式 \psiは定義と線形性から、3つの以下のような性質を持ちます。

 \displaystyle{
\begin{align}
(1). \quad&\psi(0, 0, ... , 0) = 0 \\ 
(2). \quad&\psi(x_1 + y_1, x_2 + y_2, x_3 + y_3, ..., x_n + y_n) = \psi(x_1, x_2, x_3, ..., x_n) + \psi(y_1, y_2, y_3, ..., y_n) \\
(3). \quad&\psi(kx_1, kx_2, kx_3, ..., kx_n) = k \psi(x_1, x_2, x_3, ..., x_n) 
\end{align}
}


同様に \Deltaについて、特定の列ベクトルに対して次のような性質を持ちます。これはどの列ベクトルでも成り立ちます。

 \displaystyle{
\begin{align}
(A1). \quad& \Delta(0, \vec{x_2}, \vec{x_3}) = 0 \\ 
(A2). \quad& \Delta(\vec{x_1} + \vec{a}, \vec{x_2}, \vec{x_3}) = \Delta(\vec{x_1}, \vec{x_2}, \vec{x_3}) + \Delta(\vec{a}, \vec{x_2}, \vec{x_3}) \\
(A3). \quad&\Delta(k\vec{x_1}, \vec{x_2}, \vec{x_3}) = k \Delta(\vec{x_1}, \vec{x_2}, \vec{x_3})
\end{align}
}


\Deltaを見てみると特有の性質として、同じ列ベクトルを与えると0になるということがあります。例えば \Delta(\vec{a}, \vec{a}, \vec{b})を計算してみると、うまいこと+-が打ち消しあい0に消えてくれます。

 \displaystyle{
\Delta(\vec{a}, \vec{a}, \vec{b})= a_1 a_2 b_3 + a_2 a_3 b_1 + a_3 a_1 b_2 - a_1 a_3 b_2 - a_2 a_1 b_3 - a_3 a_2 b_1 = 0
}

なのでもう一つの性質として同じ列ベクトルを持つ時、0になるということが分かります。これも同様にどの列ベクトルでも成り立ちます。

 \displaystyle{
\begin{align}
(A4). \quad \Delta(\vec{x_1}, \vec{x_1}, \vec{x_3}) = 0
\end{align}
}


(A1)~(A4)の性質を使うとある種列ベクトルの抽出みたいなことができます。例えば \vec{a}, \vec{b}, \vec{c}に対して次のような \Deltaを考えます。

 \displaystyle{
\Delta(k_1 \vec{a} + k_2 \vec{b} + k_3\vec{c}, \vec{b}, \vec{c})
}

(A2), (A3)を使えばこれは分解され、(A4)によって \vec{a}を含む項だけ残ります。

 \displaystyle{
\begin{align}
\Delta(k_1 \vec{a} + k_2 \vec{b} + k_3\vec{c}, \vec{b}, \vec{c}) &= k_1 \Delta(\vec{a}, \vec{b}, \vec{c}) +  k_2 \Delta(\vec{b}, \vec{b}, \vec{c}) +  k_3 \Delta(\vec{c}, \vec{b}, \vec{c}) \\
&= k_1 \Delta(\vec{a}, \vec{b}, \vec{c}) \\
\end{align}
}

これは \vec{a}を含む項以外を取り除いているとみなすことができます。ここで、連立方程式の解法は「特定の変数だけにするように他の変数を削除する」操作によって作られていたことを思い出すと、これを使って連立方程式を解くのに使えそうです



では実際に3x3の連立一次方程式を解いてみましょう。係数を列ベクトルで表すこととして、

 \displaystyle{
\vec{a} x + \vec{b} y + \vec{c} z + \vec{d} = 0
}

と書くことができます。ここで xを求めることを考えると、 y, zを消したいわけです。 y, zはそれぞれ \vec{b}, \vec{c}を持っており、先ほどの \Deltaの作用を考えると \Deltaの引数に \vec{b}, \vec{c}を取って、次のようにすればよいことになります。

 \displaystyle{
\Delta(x \vec{a} + y\vec{b} + z\vec{c} + \vec{d},\vec{b}, \vec{c}) 
}

(A2), (A3)を用いて分解し、(A4)を使うことで \vec{b}, \vec{c}の項、つまりは y,zを削除することができます。

 \displaystyle{
\begin{align}
\Delta(x \vec{a} + y\vec{b} + z\vec{c} + \vec{d},\vec{b}, \vec{c}) &= x \Delta(\vec{a} ,\vec{b}, \vec{c}) + y \Delta(\vec{b} ,\vec{b}, \vec{c})  + z \Delta(\vec{c} ,\vec{b}, \vec{c})  + \Delta(\vec{d} ,\vec{b}, \vec{c})  \\
&= x \Delta(\vec{a} ,\vec{b}, \vec{c}) + \Delta(\vec{d} ,\vec{b}, \vec{c})
\end{align}
}

そしてもともと連立方程式は0となることを思い出せば、(A1)によって、これの値というのは0になるはずです。

 \displaystyle{
\begin{align}
\Delta(x \vec{a} + y\vec{b} + z\vec{c} + \vec{d},\vec{b}, \vec{c}) &= \Delta(0 ,\vec{b}, \vec{c}) = 0
\end{align}
}

即ち以下のような xに関する方程式が得られます。

 \displaystyle{
\begin{align}
x \Delta(\vec{a}, \vec{b}, \vec{c}) + \Delta(\vec{d}, \vec{b}, \vec{c}) = 0
\end{align}
}

これを xについて求めれば解がそのまま得られます。確かにこの解は先ほど愚直に求めた式と全く同じでちゃんとした値となっています。

 \displaystyle{
\begin{align}
x = \frac{\Delta(\vec{a}, \vec{b}, \vec{c})}{\Delta(\vec{d}, \vec{b}, \vec{c})}
\end{align}
}

 y,zも同様の手順で求めることが可能です。

 \displaystyle{
\begin{align}
\Delta(\vec{a}, x \vec{a} + y\vec{b} + z\vec{c} + \vec{d}, \vec{c}) = y \Delta(\vec{a},\vec{b},\vec{c}) + \Delta(\vec{a},\vec{d},\vec{c}) = 0
\end{align}
}
 \displaystyle{
\begin{align}
\Delta(\vec{a}, \vec{b}, x \vec{a} + y\vec{b} + z\vec{c} + \vec{d}) = z \Delta(\vec{a}, \vec{b}, \vec{c}) + \Delta(\vec{a},\vec{b},\vec{d}) = 0
\end{align}
}

ここまでの議論に3x3だからというような特殊な条件はありません。2x2でも手順で解を求めることが可能です。つまり、連立方程式たった(A1)~(A4)までの性質を持つような関数 \Deltaさえあれば解を簡単に求めることができるというわけです

実際に考えてみましょう。 n \times nの任意の連立一次方程式に対して、

 \displaystyle{
\begin{align}
\vec{a}_1 x_1 + \vec{a}_2 x_2 + ... + \vec{a}_n x_n + \vec{w} = 0
\end{align}
}

 n^2の変数を受け取り、(A1)~(A4)の性質を満たすような \Delta関数があるとします。先ほどの例のように x_1の項以外の変数を消そうと思えば、

 \displaystyle{
\begin{align}
\Delta(\vec{a}_1 x_1 + \vec{a}_2 x_2 + ... + \vec{a}_n x_n + \vec{w}, \vec{a}_2, \vec{a}_3, ... , \vec{a_n})
\end{align}
}

という値を考えればいいわけです。結果としてこれは

 \displaystyle{
\begin{align}
x \Delta(\vec{a_1}, \vec{a_2}, ... , \vec{a_n}) + \Delta(\vec{w}, \vec{a_2}, ... , \vec{a_n}) = 0
\end{align}
}

となりますので解は

 \displaystyle{
\begin{align}
x_1 = - \frac{ \Delta(\vec{w}, \vec{a_2}, ... , \vec{a_n})}{\Delta(\vec{a_1}, \vec{a_2}, ... , \vec{a_n}) }
\end{align}
}

というように得られます。これは他の変数も同様であり、一般解として

 \displaystyle{
\begin{align}
x_i = - \frac{ \Delta(\vec{a_1}, \vec{a_2}, ... , \vec{a}_{i-1}, \vec{w}, \vec{a}_{i+1}, ... \vec{a_n})}{\Delta(\vec{a_1}, \vec{a_2}, ... , \vec{a_n}) }
\end{align}
}

と、得ることができました。こうして、任意の次元の連立一次方程式は(A1)~(A4)の性質を満たす何らかの関数 \Deltaさえあれば一般解はそれを用いて計算することができることが分かりました

 \Deltaの導出

とはいえ、そんな便利な性質を満たす \Deltaが任意の nに対して本当に存在するか怪しいところです。2x2, 3x3の時だけしかないのかもしれません。

ということで具体的な \Deltaの形状、つまり行列式についていよいよ求めていきましょう。(A1)~(A3)の性質は2x2と3x3 \Deltaが同次一次式であったことから求めたものでした。なので同様に考えて n \times n \Delta n^2の変数を持つ同次一次式であり、各列の成分に対して同様に同次一次式である必要があります。列ベクトル \vec{a_i}の成分を行列に合わせて (a_{1i}, a_{2i}, ..., a_{ni})^{T}と表記することにして、同次一次式の一般式として書くと次のようになります。

 \displaystyle{
\Delta(\vec{a_1}, \vec{a_2}, ..., \vec{a_n}) = \sum_{1 \leq i_1, i_2, ..., i_n \leq n} C_{i_1, i_2, ..., i_n} a_{i_1 1} a_{i_2 2} ... a_{i_n n}
}

かなり添え字がややこしいことになりましたが、各列ベクトルから一つずつ成分を選んで項を作っており、それのすべての組み合わせを表しています。ここから具体的な形状を得るため、係数 Cがどんな値になるのかを考えていきます。

 \Deltaは(A4)で示すように同じ列ベクトルをどこかに突っ込むと0になります。従って、 Cはそれを満たすようなものでなくてはなりません。試しに \vec{a}_1を二つ入れてみた結果を見てみましょう。

 \displaystyle{
\Delta(\vec{a_1}, \vec{a_1}, ... , \vec{a_n}) = \sum_{1 \leq i_1, i_2, ..., i_n \leq n} C_{i_1, i_2, ..., i_n} a_{i_1 1} a_{i_2 1} ... a_{i_n n}
}

ここで \vec{a_1}に関わる項だけをまとめて、 a_{i1} a_{j1}の係数を P_{ij}とまとめておくこととします。

 \displaystyle{
P_{ij} = \sum_{1 \leq i_3, i_4, ..., i_n \leq n}  C_{1, 2, i_3, i_4, ..., i_n} a_{i_3 3} a_{i_4 4} ... a_{i_n n}
}


 \displaystyle{
\sum_{1 \leq i_1, i_2, ..., i_n \leq n} C_{i_1, i_2, ..., i_n} a_{i_1 1} a_{i_2 1} ... a_{i_n n} = \sum_{1 \leq i, j \leq n} P_{ij} a_{i1} a_{j1}
}


この値は(A4)により0となります。

 \displaystyle{
\sum_{1 \leq i, j \leq n} P_{ij} a_{i1} a_{j1} = 0
}

総和が常に0にならざるを得ないので、そうなるような P_{ij}を考えます。 i,jの全部の組み合わせを考えているわけですから、 ijに対して jiの項が対応しています。

 \displaystyle{
\sum_{1 \leq i, j \leq n} P_{ij} a_{i1} a_{j1} = P_{11} a_{11} + (P_{12} + P_{21}) a_{21} + ... + P_{nn} a_{nn} = 0
}

従って、

 \displaystyle{
P_{ij} + P_{ji} = 0
}

という関係が得られます。また、添え字が同じ場合は対応する項が存在しないため

 \displaystyle{
P_{ii} = 0 
}

となります。

この関係を展開して Cについて考えます。 P_{ij} + P_{ji} = 0を展開すると

 \displaystyle{
\sum_{1 \leq i_3, i_4, ..., i_n \leq n}  C_{i, j, i_3, i_4, ..., i_n} a_{i_3 3} a_{i_4 4} ... a_{i_n n} + \sum_{1 \leq i_3, i_4, ..., i_n \leq n}  C_{j, i, i_3, i_4, ..., i_n} a_{i_3 3} a_{i_4 4} ... a_{i_n n} = 0
}

総和の仕方が同じなので、 C_{i, j,..}の係数を持つ項に対して C_{j, i,...}の項が対応していることが分かります。

 \displaystyle{
\sum_{1 \leq i_3, i_4, ..., i_n \leq n}  (C_{i, j, i_3, i_4, ..., i_n} + C_{j, i, i_3, i_4, ..., i_n})  a_{i_3 3} a_{i_4 4} ... a_{i_n n}  = 0
}

よって Cに関しても関係性が成り立ち、添え字がひっくり返ると符号が反転するというような関係性が得られます。

 \displaystyle{
C_{i, j, i_3, i_4, ..., i_n}  = - C_{j, i, i_3, i_4, ..., i_n}
}

また、 P_{ii} = 0の関係性は単純に

 \displaystyle{
\sum_{1 \leq i_3, i_4, ..., i_n \leq n}  C_{i, i, i_3, i_4, ..., i_n}  a_{i_3 3} a_{i_4 4} ... a_{i_n n}  = 0
}

ということで、これが常に0になるためには係数 C_{i,i,...}は常に0でないといけません。

 \displaystyle{
C_{i, i, i_3, i_4, ..., i_n}  = 0
}

以上で(A4)の関係から限定的に Cの関係性が分かりました。この手順は \vec{a_1}を入れる位置が何処でもいいですし、

 \displaystyle{
\Delta(\vec{a_1}, \vec{a_2}, \vec{a_1}, ... , \vec{a_n}) = 0
}

別の列ベクトル \vec{a_2}, \vec{a_3}, ....でも可能です。

 \displaystyle{
\Delta(\vec{a_2}, \vec{a_2}, \vec{a_3}, ... , \vec{a_n}) = 0
}

即ち、 C全ての組み合わせで先ほどの議論が同様に成り立ちます。従って、 Cはその添え字に関して次のような関係性が導けます。

  • (B1) ある位置の添え字2つが交換されると符号が反転する  C_{..., i, ..., j, ...} = - C_{..., j, ..., i, ...}
  • (B2) 同じ値の添え字を持つものは0になる C_{..., i, ..., i, ...} = 0

(B2)は例えば C_{1,1,2,3}みたいな同じ値が添え字に出てくることを禁止しているわけですから、実際 \Deltaで値を持つ C C_{1,2,3,4} C_{2,1,3,4}のような添え字にダブりがないものだけに限ります。また、添え字の交換に関しての規則として(B1)から、添え字は交換すると符号が反転する C_{1,2,3,4} = C_{2,1,3,4}ことになります。つまり、お互いの定数の関係は正負の違いでしかなく、基準として C_{1,2,3,...,n}を使うと

 \displaystyle{
C_{i_1, i_2, ..., i_n} = \pm C_{1,2,3, ..., n} \quad (i_1 \neq i_2 \neq ... \neq i_n)
}

と書かれることになります。制約上 C_{1,2,3,...,n}はどんな値でも \Deltaの要件を満たしますが具体的な値が欲しいところです。ここで2x2や3x3を当てはめて考えると、 C_{1,2} a_11 a_22の係数であり、 C_{1,2,3} a_{11} a_{21} a_{31}の係数です。で、実際その値を見ればわかるように共に1であったわけです。なので任意の場合でも1として置くことにします(この発想は自然だと思います)。

 \displaystyle{
C_{i_1, i_2, ..., i_n} = \pm 1 \quad (i_1 \neq i_2 \neq ... \neq i_n)
}

これで \Deltaの式が任意の次元で存在し、具体的な値についても求めることができました。これはそのまま行列式ですから、行列式のあの変な規則性は(A1) ~ (A4)を満たすためだったということになります。こうして記事の目的であった行列式の導出が完了しました。

置換を使った表現

具体的な Cの値を求めることができ、行列式の導出はできたわけですがこれを実際に式として書くとなると中々に面倒くさそうです。いい感じにぱっとかけるなんかしらが欲しいところです。

 Cの添え字は(B1)と(B2)によって結局のところ(1,2,3,4,...,n)の並びを入れ替えたものだけしか必要はありません。そういった連番を入れ替えた並びを扱うような概念さえあれば添え字のルールについて簡潔に記載することができるでしょう。ありがたいことに、数学にはこうした概念があり、置換(permutation)によって表現することができます。

置換とは数列に対して数字を並べ替える操作のことを言い、連番の nに応じて n次の置換と呼びます[8]。例えば (1,2,3,4) (2,1,3,4)にしたり (3, 2, 1, 4)にすることです。 (1, 2, 3, ..., n) に対する置換 \sigmaは並び替えた結果 (k_1, k_2, k_3, ... , k_n)を用いて次のように表記されます。

 \displaystyle{
\sigma = 
\begin{pmatrix}
1 & 2 & 3 & ... & n \\
k_1 & k_2 & k_3 & ... & k_n
\end{pmatrix}
}

また、並び替えた結果 i番目にある値を \sigma(i) = k_iと表現します。

 n次の置換 \sigmaは番号の並び方だけあるため、計 n!だけあります。そうした n次の置換全てを集めた集合のことを n置換群 S_nと呼びます。

置換においては2つの要素を交換することを互換と言います。例えば (1,2,3)から1,2を交換する互換は (1,2)と書き、互換後の結果は (2,1,3)という感じになります。

置換は互換を複数回行うことで実現でき、その互換の回数の偶奇で偶置換、奇置換と分類されます(ある置換に対する互換の偶奇は一意性があります)。割と置換の偶奇性を使うことはちらほらあり、その際よく符号が重要になります。なので、置換に対する符号として \mathrm{sign}というのが一般的に使われています。これは単純に置換が偶置換であれば1、奇置換であれば-1を返す関数です。

 \displaystyle{
\mathrm{sign}(\sigma) = 
\left\{ \,
    \begin{aligned}
    &  1 &\quad (\sigmaが偶置換) \\
    & -1 &\quad (\sigmaが奇置換) 
    \end{aligned}
\right.
}

これを先ほどの Cの規則性と照らし合わせて使ってみます。そもそもとして Cは添え字が (1,2,3, ..., n)の並び替えだけのものだけでいいため、 n次の置換 \sigmaで表現できます。並び替え全てでやりたいわけですから S_nに含まれる置換で総和を取るというようなことになればいいわけです。

また、その符号について一回交換、つまり互換が行われるたびに正負が変わります。基準となる定数 C_{1,2,3, ..., n}は1であることから、添え字の置換 \sigmaが偶置換なら1、奇置換なら-1となり、 \mathrm{sign}の定義と一致します。

以上の考察から \Deltaは置換を使って次のように書くことができます。

 \displaystyle{
\Delta(\vec{a}_1, \vec{a}_2, ... , \vec{a}_n) = \sum_{\sigma \in S_n} \mathrm{sign}(\sigma) a_{\sigma(1) 1}a_{\sigma(2) 2}...a_{\sigma(n) n}
}

行列式に置換が使われるのはこのように(B1), (B2)の規則性を表現するためだったわけです。

転置

今回の導出は列ベクトルを主軸にしていたので結果も列の成分が基準になっていますが、一般的に行の成分を基準に書くことが多いと思います。一般に行列式は転置に対して不変という性質があるので列と行は同列に扱えますので問題はありません。せっかくなので転置不変性について証明し、今回も求めた行列式も一般的な表現と一致することを証明してみようと思います。

置換についてちょっと補足で、置換は別に入れ替える前の数列がちゃんと順列である必要はありません。(3,2,1,4)から(1,2,3,4)みたいな置換も考えることができます。

 \displaystyle{
\begin{pmatrix}
3 & 2 & 1 & 4 \\
1 & 2 & 3 & 4
\end{pmatrix}
}

そうすると置換はいっぱい更にあるわけですが、置換は数字の対応関係が変わらない場合それらの置換を相等と呼び、全く同じ置換として取り扱えることが知られています[9]。結局対応関係が変わるわけではないので互換が変わるわけでもないですし、偶奇も変わることはありません。順番の入れ替えが許される環境であれば、特に気にすることなく相等な置換に置き換えても問題がありません。

今回の場合、各項は乗算だけで作られているので項内で変数の順番は入れ替えても問題ありません。なので第二添え字の方を昇順に並び替えた状態を考えます。

 \displaystyle{
 a_{i_1 1}a_{i_2 2}...a_{i_n n} =  a_{1 k_1}a_{2 k_2}...a_{n k_n} 
}

この時、置換としては以下のような相等な置換に置き換えたことになります。ちょっとややこしいですが、結局はちょっと並び替えただけでしかありません。

 \displaystyle{
\begin{pmatrix}
1 & 2 & ... & n \\
i_1 & i_2 & ... & i_n
\end{pmatrix}
\rightarrow
\begin{pmatrix}
k_1 & k_2 & ... & k_n \\
1 & 2 & ... & n 
\end{pmatrix}
}

相等な置換は符号を変化させないことから、符号について以下のような関係が成り立ちます。

 \displaystyle{
\mathrm{sign} \begin{pmatrix}
1 & 2 & ... & n \\
i_1 & i_2 & ... & i_n
\end{pmatrix}
=
\mathrm{sign} \begin{pmatrix}
k_1 & k_2 & ... & k_n \\
1 & 2 & ... & n 
\end{pmatrix}
=
\mathrm{sign} \begin{pmatrix}
1 & 2 & ... & n \\
k_1 & k_2 & ... & k_n 
\end{pmatrix}

}

ということで行列式は次のように変形することができます。

 \displaystyle{
\begin{align}
\Delta(\vec{a}_1, \vec{a}_2, ... , \vec{a}_n) &= \sum_{\sigma \in S_n} \mathrm{sign} \begin{pmatrix}
1 & 2 & ... & n \\
i_1 & i_2 & ... & i_n
\end{pmatrix}
a_{i_1 1}a_{i_2 2}...a_{i_n n} \\
 &= 
\sum_{\sigma \in S_n}
\mathrm{sign} \begin{pmatrix}
k_1 & k_2 & ... & k_n \\
1 & 2 & ... & n 
\end{pmatrix}
a_{1 k_1}a_{2 k_2}...a_{n k_n} \\

&= 
\sum_{\sigma \in S_n} \mathrm{sign} \begin{pmatrix}
1 & 2 & ... & n \\
k_1 & k_2 & ... & k_n 
\end{pmatrix}
a_{1 k_1}a_{2 k_2}...a_{n k_n} \\

&= \sum_{\sigma \in S_n} \mathrm{sign}(\sigma) a_{1\sigma(1)}a_{2\sigma(2)}...a_{n\sigma(n)}

\end{align}
}

これは列と行の添え字を入れ替えても行列式は不変であることを示しています[10]。つまりは転置に対して行列式は変わらないということになります。表記としても行列式は行で書いた方がまあ添え字的に気持ちいい感じがあるのでこっちのほうがいいですね。

以上で現代で使われる行列式の定義を導出することができました。お疲れさまでした。

Appendix

Cramerの当時の式

今回はCramerの公式が出発点だったわけですが、当時のCramerの公式ってどんな感じだったのかちょっと気になったので、ちょっと調べてみました。ありがたいことに当時の本がちゃんとアーカイブされており、以下のリンクから閲覧できました。

gdz.sub.uni-goettingen.de

で、それっぽい数式を探してみるとP657のAppendixのとこにそれっぽいのがありました。画像で引用させて頂きますと

数式と断片的な内容を見る限りは連立1次方程式の解法について書かれている感じです。特に1ページ目を見ると明らかに2,3変数の解について書かれています。

また2ページ目を見てみると添え字の話とその符号についての記述があります。原文の数式的な部分を見る限りは明らかに置換の話をしていますし、derangementという単語などから読み取れる感じだとやはり現代の行列式の定義を述べているように感じます。

信用に足りるかはわかりませんがChatGPT(4o)にこのページを投げてみると

プロンプトはこんな感じ

こちらは古いフランス語の数学書の一部で、線形方程式系に関する記述のようです。以下に日本語訳を示します(可能な限り忠実に翻訳しています):

---

**附録**

これらの公式の検討から、次の一般的な規則が得られる。  
方程式の数と未知数の数がともに \(n\) であるとき、各未知数の値は、共通の分母を持つ \(n\) 個の分数として表され、この共通の分母は、異なる \(n\) 個のものの並べ方の数に等しい項の和となる。

各項は常に同じ順序で書かれた文字 \(Z T X\) 等から構成されるが、そこに添字として、すべての順列に従って並んだ最初の \(n\) 個の数字が割り当てられる。  
たとえば、未知数が3つあるときには、分母は \(1 \times 2 \times 3 = 6\) 項からなり、文字 \(Z T X\) の3つからなっていて、これらは次のような指数(添字)を順に受け取る:  
\[123, 213, 231, 312, 132, 321.\]

これらの項には、以下の規則に従って「+」または「−」の符号を与える。  
同じ項の中で、ある添字の後に、それより小さい添字が続くとき、私はそれを**転置**と呼ぶ。  
各項ごとに転置の数を数え、それが偶数またはゼロであれば符号は「+」、奇数であれば符号は「−」とする。

たとえば、項 \(Z^1 T^2 X^3\) では転置がないので、符号は「+」である。  
項 \(Z^3 T^1 X^2\) では、3の前に1、3の前に2の2つの転置があるので、符号は「+」。  
しかし、項 \(Z^3 T^2 X^1\) では、3の前に2、3の前に1、2の前に1の3つの転置があるので、符号は「−」となる。

このようにして共通の分母が形成され、次に、文字 \(Z\) を取り除いた項を分子に用いることで、未知数 \(Z\) の値が得られる。  
そして同様に、共通分母を保ちつつ、文字 \(T\) を分子に用いれば \(T\) の値、文字 \(X\) を用いれば \(X\) の値が得られる。

他の未知数についても同様の方法で値を見つけることができる。

---

この部分は行列やクラメルの公式(Cramer's Rule)に近い考え方を説明しているようです。添字の順列と符号の付け方(転置の数による符号決定)などは、まさに行列式(determinant)における符号の計算に相当します。

一応他の翻訳を通してみましたがだいたいこんな感じでしたし、原文と比較するとまあそこまでトンチンカンなことは行ってなさそうです。ともかくとして、Cramerは少なからず解の分子や分母の規則性(符号と置換)に関しては既に捉えており、そのやり方もわかっていたことは間違いなさそうです。しかも一応 n連立方程式に対しても同様に作ることができると述べているっぽいですね。

ちなみにこれに対する証明は見当たりませんでした(これはいくつかの資料で指摘されていました)。もしかしたらこの辺は経験則だったのかもしれませんね。

とりあえずとしてCramerは今でいう行列式を任意次元で求める方法について述べており、今回述べた定義と似たような形で求めていたことが分かりました。

おわりに

ここまで見て頂きありがとうございました。調べたことを簡単にまとめる記事のつもりでしたが、なんかかなりデカい記事になってしまいました。

最近、線形代数を人に教える機会があり、その際よく「なぜこんな複雑な定義なのか」と聞かれました。言われてみると中々答えることができず、特に行列式は確かになんでこんな式なのか不思議に思いました。ということで調べたのが今回の内容です。

歴史を辿ると行列式が行列より早く生まれていたりとか何かと面白い話が多く、また理論のモチベーションが分かったおかげでかなり本質的な部分を理解することができました(反可換性とか)。今更ですが、線形代数は「線形」の「代数」ということにようやく気付くことができました。

この記事が線形代数の勉強の助けになれば幸いです。

参考文献

[1] I・クライナー 著, 斎藤正彦 訳. 抽象代数の歴史. 日本評論社, 2011.

[2] Edmund Robertson, John O'Connor. Matrices and determinants. MacTutor. February 1996. Matrices and determinants - MacTutor History of Mathematics (2025/04/10閲覧)

[3] Babarinsa Olayiwola. SHORT HISTORY ON DETERMINANT OF A MATRIX. 2019, Abacus (Mathematics Science Series) Vol. 44, No 1, Aug. 2019.

[4] Gabriel Cramer. Introduction A L'Analyse Des Lignes Courbes Algébriques. Cramer & Philibert(Geneve), 1750. Introduction à l'Analyse des Lignes Courbes Algébriques - GDZ - Göttinger Digitalisierungszentrum

[5] Gauss, Carl Friedrich. Disquisitiones arithmeticae. 1801, Lipsiae : In commiss. apud Gerh. Fleischer, jun. Disquisitiones arithmeticae : Gauss, Carl Friedrich, 1777-1855 : Free Download, Borrow, and Streaming : Internet Archive

[6] Arthur Cayley. A Memoir on the Theory o f Matrices. 1858.

[7]貴田, 研司. 大学初年次における数学教材の提案(その 27)~行列式の起源~. Tokai University, 2019.

[8] 難波博之. 置換の基礎(互換・偶置換・奇置換・符号の意味). 高校数学の美しい物語. 2022/03/28. https://manabitimes.jp/math/949 (2025/4/10閲覧)

[9] Student Staff. 置換. KIT数学ナビゲーション. 2022年6月23日. 置換 (2025/4/10閲覧)

[10] Student Staff. 転置行列の行列式の値が元の行列の行列式の値と等しいことの証明. KIT数学ナビゲーション. 2022年10月12日. https://w3e.kanazawa-it.ac.jp/math/category/gyouretu/senkeidaisu/gyouretusiki_no_seisitu/henkan-tex.cgi?target=/math/category/gyouretu/senkeidaisu/gyouretusiki_no_seisitu/gyouretusiki_no_tenti_syoumei.html:title

[11] Jean-Luc Dorier. A general outline of the genesis of vector space theory. Historia Mathematica · December 1995.

[12] ニコラ・ブルバギ 著 村田全 清水達雄 杉浦光夫 訳. ブルバギ数学史 上. つくま学芸文庫, 2006年

*1:偶に行列は連立方程式から産まれたと説明されるのを見ますが個人的には正しくないと思っていて、もしそうだとしたら行列同士の和、積に対するモチベーションが薄いはずで「代数」として成り立たない気がしています(記法に影響はあったかもしれませんが)。一方で線形変換だとお互いの演算を考える必要があるため代数的構造を必要としていて、今の線形代数になるのは割と順当な気がします。




以上の内容はhttps://kinakomoti321.hatenablog.com/entry/2025/04/10/225230より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14