行列式の導出:行基本変形と上三角行列
このページの目標
行基本変形を使って行列を上三角行列に変形し、行列式を計算する方法を学ぶ。このアプローチは実際の計算アルゴリズムに直結し、効率的な $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}$$$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辺を入れ替えると「向き」が逆転するため、符号が反転する。
操作2:ある行を $c$ 倍する
$$R_i \leftarrow c \cdot R_i$$
効果:行列式が$c$ 倍になる(多重線形性)
平行四辺形の1辺を $c$ 倍に引き伸ばすと、面積も $c$ 倍になる。
操作3:ある行に他の行の $c$ 倍を加える
$$R_i \leftarrow R_i + c \cdot R_j$$
効果:行列式は変わらない
これはせん断(shear)に相当する。平行四辺形の一辺をもう一辺の方向にスライドさせても、底辺と高さは変わらないので面積は不変である。
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 基本方針
- 行基本変形で行列を上三角行列に変形
- 変形中に行った操作を記録(行の入れ替え回数、スカラー倍)
- 上三角行列の対角成分の積を計算
- 記録した操作に応じて補正
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_{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消去法を実行すると:
- 前進消去で上三角行列 $U$ が得られる
- 対角成分 $u_{11}, u_{22}, \ldots, u_{nn}$ が順次計算される
- その積 $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{上三角行列の対角成分の積})$$関連ページ:
- 行列式の導出:連立方程式:歴史的な動機
- 行列式の導出:バーを積み上げる:行基本変形の効果の由来
- 線形代数の基礎:LU分解と逆行列