行列式の導出:行基本変形と上三角行列

このページの目標

行基本変形を使って行列を上三角行列に変形し、行列式を計算する方法を学ぶ。このアプローチは実際の計算アルゴリズムに直結し、効率的な $O(n^3)$ 計算法を与える。

1. 上三角行列の行列式

1.1 上三角行列とは

対角線より下の成分がすべて 0 の行列を上三角行列という:

$$U = \begin{pmatrix} u_{11} & u_{12} & u_{13} & \cdots & u_{1n} \\ 0 & u_{22} & u_{23} & \cdots & u_{2n} \\ 0 & 0 & u_{33} & \cdots & u_{3n} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & u_{nn} \end{pmatrix}$$

1.2 重要な定理

定理:上三角行列(または下三角行列)の行列式は、対角成分の積に等しい:

$$\det(U) = u_{11} \cdot u_{22} \cdot u_{33} \cdots u_{nn}$$

1.3 証明のアイデア

余因子展開を第1列に沿って行う。$u_{21} = u_{31} = \cdots = 0$ なので、$u_{11}$ の項だけが残る:

$$\det(U) = u_{11} \cdot \det\begin{pmatrix} u_{22} & u_{23} & \cdots & u_{2n} \\ 0 & u_{33} & \cdots & u_{3n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & u_{nn} \end{pmatrix}$$

これを再帰的に適用すると、対角成分の積が得られる。以下で厳密に証明する。

1.4 証明(数学的帰納法)

$n$ に関する数学的帰納法で証明する。

基底($n = 1$): $1 \times 1$ 行列 $(u_{11})$ の行列式は $u_{11}$ であり、対角成分の積そのものである。

帰納仮定: $(n-1) \times (n-1)$ の上三角行列に対して定理が成り立つと仮定する。

帰納段階: $n \times n$ の上三角行列 $U$ の行列式を、第1列に沿って余因子展開する:

$$\det(U) = \sum_{i=1}^{n} (-1)^{i+1} \, u_{i1} \, M_{i1}$$

ここで $M_{i1}$ は $(i, 1)$ 小行列式(第 $i$ 行と第1列を除いた $(n-1) \times (n-1)$ 行列の行列式)である。

$U$ は上三角行列なので $u_{21} = u_{31} = \cdots = u_{n1} = 0$ である。和の各項は $u_{i1} \cdot M_{i1}$ という積の形なので、$u_{i1} = 0$ ならその項全体が 0 になる。よって $i \geq 2$ の項はすべて消え、$i = 1$ の項だけが残る:

$$\det(U) = (-1)^{1+1} \, u_{11} \, M_{11} = u_{11} \, M_{11}$$
u11 u22 unn * * * 0 0 0 M11 赤い 0 は余因子展開で消える → det(U) = u11 · det(M11)

$M_{11}$ は $U$ の第1行と第1列を除いた行列の行列式である。この行列は:

$$\begin{pmatrix} u_{22} & u_{23} & \cdots & u_{2n} \\ 0 & u_{33} & \cdots & u_{3n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & u_{nn} \end{pmatrix}$$

これは $(n-1) \times (n-1)$ の上三角行列である。帰納仮定より:

$$M_{11} = u_{22} \cdot u_{33} \cdots u_{nn}$$

したがって:

$$\det(U) = u_{11} \cdot u_{22} \cdot u_{33} \cdots u_{nn} = \prod_{i=1}^{n} u_{ii}$$

以上より、すべての $n \geq 1$ に対して定理が成り立つ。$\square$

2. 行基本変形と行列式

2.1 3種類の行基本変形

行基本変形は3種類ある。それぞれが行列式に与える影響を見る。

操作1:2つの行を入れ替える

$$R_i \leftrightarrow R_j$$

効果:行列式の符号が反転する(交代性)

行列式は符号付き面積(3次元では体積)である。平行四辺形の2辺を入れ替えると「向き」が逆転するため、符号が反転する。

r1 r2 + 入替 r2 r1 向きが 逆転

操作2:ある行を $c$ 倍する

$$R_i \leftarrow c \cdot R_i$$

効果:行列式が$c$ 倍になる(多重線形性)

平行四辺形の1辺を $c$ 倍に引き伸ばすと、面積も $c$ 倍になる。

r1 r2 S r₁ を c 倍 c·r1 r2 cS 面積が c 倍

操作3:ある行に他の行の $c$ 倍を加える

$$R_i \leftarrow R_i + c \cdot R_j$$

効果:行列式は変わらない

これはせん断(shear)に相当する。平行四辺形の一辺をもう一辺の方向にスライドさせても、底辺と高さは変わらないので面積は不変である。

rj ri h S せん断 c·rj ri+c·rj rj h S 底辺と 高さが 同じ

2.2 操作3が行列式を変えない理由

多重線形性より:

$$\det(\ldots, \boldsymbol{r}_i + c\boldsymbol{r}_j, \ldots, \boldsymbol{r}_j, \ldots) = \det(\ldots, \boldsymbol{r}_i, \ldots, \boldsymbol{r}_j, \ldots) + c \cdot \det(\ldots, \bbox[#fff9c4,3px]{\boldsymbol{r}_j}, \ldots, \bbox[#fff9c4,3px]{\boldsymbol{r}_j}, \ldots)$$

第2項は同じ行が2つあるので 0(交代性)。したがって元の行列式と等しい。

3. 行列式の計算アルゴリズム

3.1 基本方針

  1. 行基本変形で行列を上三角行列に変形
  2. 変形中に行った操作を記録(行の入れ替え回数、スカラー倍)
  3. 上三角行列の対角成分の積を計算
  4. 記録した操作に応じて補正

3.2 具体例

$\det\begin{pmatrix} 2 & 1 & 1 \\ 4 & 3 & 3 \\ 8 & 7 & 9 \end{pmatrix}$ を計算する。

目標:$(2,1)$ 成分と $(3,1)$ 成分を 0 にする

ステップ1:$R_2 \leftarrow R_2 - 2R_1$(行列式は変わらない)

$$\begin{pmatrix} 2 & 1 & 1 \\ \color{#c62828}{\mathbf{0}} & \color{#c62828}{1} & \color{#c62828}{1} \\ 8 & 7 & 9 \end{pmatrix}$$

ステップ2:$R_3 \leftarrow R_3 - 4R_1$(行列式は変わらない)

$$\begin{pmatrix} 2 & 1 & 1 \\ 0 & 1 & 1 \\ \color{#c62828}{\mathbf{0}} & \color{#c62828}{3} & \color{#c62828}{5} \end{pmatrix}$$

目標:$(3,2)$ 成分を 0 にする

ステップ3:$R_3 \leftarrow R_3 - 3R_2$(行列式は変わらない)

$$\begin{pmatrix} 2 & 1 & 1 \\ 0 & 1 & 1 \\ \color{#c62828}{0} & \color{#c62828}{\mathbf{0}} & \color{#c62828}{2} \end{pmatrix}$$

上三角行列になったので:

$$\det(A) = 2 \times 1 \times 2 = 4$$

3.3 計算量

この方法の計算量は $O(n^3)$ であり、余因子展開の $O(n!)$ より遥かに効率的。

実際の数値計算ライブラリでは、この方法(LU分解)が使われる。

4. Gauss消去法を実行すると行列式が現れる

4.1 視点の転換

ここまでは「行列式を求めるために行基本変形を使う」という視点で説明してきた。しかし、歴史的には逆である:

重要な洞察

連立方程式に対してGauss消去法の前進消去を実行すると、得られる上三角行列の対角成分の積が行列式に一致する

歴史的背景

Gabriel Cramer (1750) は連立方程式を解く過程で、解の分母に共通して現れる式に気づいた。これが後に「行列式 (determinant)」として体系化される契機となった。

Alexandre-Théophile Vandermonde (1771) が行列式を独立した数学的対象として扱い、現代的な行列式理論の基礎を築いた。

つまり、行列式は連立方程式を解く過程から「発見」された概念であり、最初から定義されていた抽象的な量ではなかった。

参考文献

4.2 一般の 2×2 行列での変形過程

まず簡単な 2×2 行列で確認する。一般の 2×2 行列 $A = (a_{ij})$ に前進消去を実行する:

$$A = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}$$

$R_2 \leftarrow R_2 - \dfrac{a_{21}}{a_{11}} R_1$ により上三角行列が得られる(通分して表示):

$$U = \begin{pmatrix} \bbox[#fff9c4,3px]{a_{11}} & a_{12} \\[0.8em] 0 & \bbox[#fff9c4,3px]{\dfrac{a_{11}a_{22} - a_{21}a_{12}}{a_{11}}} \end{pmatrix} \tag{4.1}$$

対角成分の積を計算すると、$a_{11}$ が約分されて:

$$u_{11} \times u_{22} = \cancel{a_{11}} \times \frac{a_{11}a_{22} - a_{21}a_{12}}{\cancel{a_{11}}} = a_{11}a_{22} - a_{21}a_{12} = \det(A)$$

4.3 一般の 3×3 行列での変形過程

次に 3×3 行列で同様の計算を行う。一般の 3×3 行列 $A = (a_{ij})$ に前進消去を実行すると、次の上三角行列が得られる:

$$U = \begin{pmatrix} \bbox[#fff9c4,3px]{a_{11}} & a_{12} & a_{13} \\[1.2em] 0 & \bbox[#fff9c4,3px]{\dfrac{a_{11}a_{22} - a_{21}a_{12}}{a_{11}}} & \dfrac{a_{11}a_{23} - a_{21}a_{13}}{a_{11}} \\[1.2em] 0 & 0 & \bbox[#fff9c4,3px]{\dfrac{(a_{11}a_{22} - a_{21}a_{12})(a_{11}a_{33} - a_{31}a_{13}) - (a_{11}a_{32} - a_{31}a_{12})(a_{11}a_{23} - a_{21}a_{13})}{a_{11}(a_{11}a_{22} - a_{21}a_{12})}} \end{pmatrix}$$

対角成分の積は:

$$u_{11} \times u_{22} \times u_{33} = \cancel{a_{11}} \times \frac{\bcancel{a_{11}a_{22} - a_{21}a_{12}}}{\cancel{a_{11}}} \times \frac{\det(A)}{\bcancel{a_{11}a_{22} - a_{21}a_{12}}} = \det(A)$$

4.4 一般の場合

$n \times n$ 行列 $A$ に対してGauss消去法を実行すると:

  1. 前進消去で上三角行列 $U$ が得られる
  2. 対角成分 $u_{11}, u_{22}, \ldots, u_{nn}$ が順次計算される
  3. その積 $u_{11} \cdot u_{22} \cdots u_{nn} = \det(A)$(行の入れ替えがあれば符号を補正)

クラメルの公式との関係

クラメルの公式 $x_j = \dfrac{\det(A_j)}{\det(A)}$ は、Gauss消去法を代数的に実行した結果を整理したものである。分母に現れる $\det(A)$ は、消去法の過程で自動的に計算される。

歴史的には、連立方程式を解く過程で分母に現れる式を整理して、行列式という概念が抽出された

4.5 行列式が 0 の意味

Gauss消去法を実行中に、ある段階で対角成分が 0 になり(かつ行の入れ替えでも回避できない)、それ以降の計算が進まなくなる場合:

  • これは $\det(A) = 0$ を意味する
  • 連立方程式は一意な解を持たない(解なしまたは無限個の解)
  • 逆行列 $A^{-1}$ は存在しない

5. ピボット選択と行の入れ替え

5.1 問題:対角成分が 0 の場合

$\begin{pmatrix} 0 & 1 \\ 2 & 3 \end{pmatrix}$ を上三角化しようとすると、$(1,1)$ 成分が 0 で割り算できない。

5.2 解決:行の入れ替え

行を入れ替えて、0 でない成分を対角位置に持ってくる:

$$\begin{pmatrix} 0 & 1 \\ 2 & 3 \end{pmatrix} \xrightarrow{R_1 \leftrightarrow R_2} \begin{pmatrix} 2 & 3 \\ 0 & 1 \end{pmatrix}$$

行を1回入れ替えたので、行列式の符号が反転:

$$\det\begin{pmatrix} 0 & 1 \\ 2 & 3 \end{pmatrix} = -\det\begin{pmatrix} 2 & 3 \\ 0 & 1 \end{pmatrix} = -(2 \times 1) = -2$$

5.3 すべての対角成分が 0 になる場合

どう入れ替えても対角位置に 0 でない成分を持ってこれない場合、$\det(A) = 0$ である。

6. 行基本変形で見る行列式の性質

6.1 $\det(I) = 1$

単位行列は既に上三角行列で、対角成分がすべて 1:

$$\det(I) = 1 \times 1 \times \cdots \times 1 = 1$$

6.2 $\det(AB) = \det(A) \det(B)$

行基本変形は基本行列の左からの積として表せる。この事実と、行基本変形が行列式に与える影響から、積公式が導ける。

6.3 $\det(A^T) = \det(A)$

上三角化のアルゴリズムを列に対して行うことで、転置と行列式の関係が分かる。

7. このアプローチの利点と欠点

7.1 利点

  • 計算アルゴリズムに直結:実際に効率的な $O(n^3)$ 計算法
  • ガウス消去法との統一:連立方程式の解法と同じ手法
  • 数値計算に適用可能:LU分解として実装される

7.2 欠点

  • 概念的理解より手続き重視:「なぜこれで正しいのか」が見えにくい
  • 幾何学的意味が間接的:体積との関係は自明でない
  • 前提知識が必要:行基本変形の効果を先に知っている必要がある

8. まとめ

本ページのポイント

  • 上三角行列の行列式 = 対角成分の積
  • 行の入れ替え:符号が反転
  • 行の定数倍:行列式も定数倍
  • 行の加法:行列式は不変
  • 計算量:$O(n^3)$ で効率的

計算公式

$$\det(A) = (-1)^{(\text{行の入れ替え回数})} \times (\text{上三角行列の対角成分の積})$$

関連ページ: