# 行列式とその性質：符号付き体積としての det

> 行列式を置換の符号によるライプニッツの公式と余因子展開の両面から定義し、多重線形性と交代性による特徴づけから det(AB)=det(A)det(B) と正則性の判定を証明し、符号付き体積という幾何的意味まで見通す。
> https://rikai.mugen-giken.com/mathematics/linear-algebra/determinants

## 0. この記事の要点

- 行列式 $\det A$ は、$n$ 個の列ベクトルに数を対応させる写像のうち、**各列について線形**（多重線形性）・**同じ列が 2 本あれば $0$**（交代性）・**単位行列で $1$**（正規化）という 3 条件を満たすものとしてただ一つに定まります。ライプニッツの公式も余因子展開も、この特徴づけから導かれる表示式にすぎません。
- $\det(AB) = \det A \cdot \det B$ が成り立ちます。これは「変換を合成すると体積の拡大率は掛け算になる」という幾何的事実の代数版です。
- $\det A \ne 0$ であること、$A$ が正則であること、$A$ の列ベクトルが一次独立であること、$A\boldsymbol{x} = \boldsymbol{0}$ が自明な解しか持たないことは、すべて同値です。行列式は「空間がつぶれているかどうか」を 1 個の数で判定する道具です。
- $|\det A|$ は単位立方体が $A$ によって写った平行体の体積であり、符号は変換が向きを保つか裏返すかを表します。
- 実際の数値計算にライプニッツの公式（$n!$ 項の和）は使いません。行基本変形で三角化すれば乗除算 $O(n^3)$ 回で済みます。

## 1. 動機：解けるかどうかを 1 個の数で言い当てる

2 元 1 次連立方程式

$$
\begin{cases} ax + by = p \\ cx + dy = q \end{cases}
$$

を素朴に解いてみます。第 1 式を $d$ 倍、第 2 式を $b$ 倍して差を取ると $(ad-bc)x = pd - bq$、第 1 式を $c$ 倍、第 2 式を $a$ 倍して差を取ると $(ad-bc)y = aq - pc$ が得られます。したがって $ad - bc \ne 0$ でありさえすれば

$$
x = \frac{pd - bq}{ad - bc}, \qquad y = \frac{aq - pc}{ad - bc}
$$

と解が確定します。逆に $ad - bc = 0$ のときは、左辺だけを見ても解が一意に決まらない状況（解なし、または無数の解）が起こります。**係数だけから作った 1 個の数 $ad-bc$ が、右辺 $p, q$ に依らずに「解けるかどうか」を判定している**わけです。

3 元 1 次の場合に同じ計算を押し進めると、判定を担う数は

$$
a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{13}a_{22}a_{31} - a_{11}a_{23}a_{32} - a_{12}a_{21}a_{33}
$$

という 6 項の和になります。ここで素朴な疑問が二つ生まれます。第一に、一般の $n$ 元 1 次連立方程式に対して、この「判定する数」はどう書けるのか。第二に、なぜそんな数が存在するのか、つまり $n^2$ 個の係数のあいだの複雑な関係が、どうして 1 個のスカラーに凝縮できるのか。

第一の問いには 17 世紀末から答えが出ています。関孝和は 1683 年の『解伏題之法』で消去法の途中に現れる式として、ライプニッツは 1693 年のロピタル宛書簡で同様の式を扱いました。クラメルは 1750 年の著書で $n$ 元連立一次方程式の解を分数の形で書き下しています。行列式の一般論として整理され、determinant という呼び名が今日の意味で定着したのは 19 世紀初頭のコーシーの仕事によります。

この記事では第一の問いに二通りの答えを与えます。**置換の符号を使った明示式（ライプニッツの公式）**と、**次数を 1 つ下げる帰納的な式（余因子展開）**です。この二つは見た目がまったく違いますが、どちらも同じ関数を表します。そして第二の問いへの答えが、その「同じ関数」の正体、すなわち**多重線形性と交代性**です。行列式は、この二つの性質と正規化条件だけで一意に決まってしまう関数であり、二つの公式はその関数の別々の計算手順にすぎません。

さらに最終節で、行列式が本質的には**符号付き体積**であることを見ます。連立方程式が一意に解けないのは、係数行列の定める線形変換が空間をつぶして次元を落としているからであり、「つぶれている」ことは「体積が $0$」ということです。$ad - bc$ が判定に使えた理由は、それが平行四辺形の面積だったから、というのが最終的な答えになります。

なお、行列の積・逆行列・連立一次方程式の掃き出し法については [行列と連立一次方程式](/mathematics/linear-algebra/matrices-and-linear-systems) を前提とします（積の定義は <Ref to="mathematics/linear-algebra/matrices-and-linear-systems#def-product" />、掃き出し法は <Ref to="mathematics/linear-algebra/matrices-and-linear-systems#thm-elimination" /> を見てください）。

## 2. 準備：置換とその符号

この記事を通じて $\mathbb{K}$ は $\mathbb{R}$ または $\mathbb{C}$ を表します（以下の議論は一般の可換体でもそのまま通用します）。$n$ 次正方行列全体を $M_n(\mathbb{K})$ と書き、$A = (a_{ij}) \in M_n(\mathbb{K})$ の第 $j$ 列を $\boldsymbol{a}_j \in \mathbb{K}^n$ として

$$
A = (\boldsymbol{a}_1\ \boldsymbol{a}_2\ \cdots\ \boldsymbol{a}_n)
$$

と列に区切って書きます。$\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n$ は $\mathbb{K}^n$ の標準基底、$I_n$ は単位行列、$O$ は零行列です。

行列式の定義には、$n$ 個の行番号を並べ替える操作を数え上げる道具が必要です。

<Definition id="def-sign" title="置換とその符号">
$\{1, 2, \ldots, n\}$ から自分自身への全単射を $n$ 次の**置換**といい、置換全体の集合を $S_n$ と書きます。$S_n$ は写像の合成 $(\sigma\tau)(i) = \sigma(\tau(i))$ について群をなし、$S_n$ の元の個数は $n!$ です。

相異なる $p, q$ について $p \mapsto q$、$q \mapsto p$ とし、他はすべて動かさない置換を**互換**といい $(p\ q)$ と書きます。

$\sigma \in S_n$ に対し、順序が食い違う番号の組の個数

$$
\mathrm{inv}(\sigma) = \#\{(i, j) \mid 1 \le i < j \le n,\ \sigma(i) > \sigma(j)\}
$$

を $\sigma$ の**転倒数**といい、$\mathrm{sgn}(\sigma) = (-1)^{\mathrm{inv}(\sigma)}$ を $\sigma$ の**符号**といいます。$\mathrm{sgn}(\sigma) = 1$ のとき $\sigma$ を偶置換、$-1$ のとき奇置換といいます。
</Definition>

たとえば $\sigma(1) = 3,\ \sigma(2) = 1,\ \sigma(3) = 2$ という置換では、組 $(1,2)$ は $3 > 1$ で転倒、$(1,3)$ は $3 > 2$ で転倒、$(2,3)$ は $1 < 2$ で転倒しません。よって $\mathrm{inv}(\sigma) = 2$、$\mathrm{sgn}(\sigma) = +1$ です。

符号の扱いやすさは、次の補題に尽きます。証明には**差積**

$$
\Delta(x_1, \ldots, x_n) = \prod_{1 \le i < j \le n} (x_j - x_i)
$$

という多項式を使います。これは変数の入れ替えに対して符号だけを変える、という性質を持つ最も単純な多項式です。

<Lemma id="lem-sign" title="符号の基本性質">
$n \ge 2$ とし、$\sigma, \tau \in S_n$ とします。このとき次が成り立ちます。

1. 多項式の恒等式として $\Delta(x_{\sigma(1)}, \ldots, x_{\sigma(n)}) = \mathrm{sgn}(\sigma)\, \Delta(x_1, \ldots, x_n)$。
2. $\mathrm{sgn}(\sigma\tau) = \mathrm{sgn}(\sigma)\,\mathrm{sgn}(\tau)$。また $\mathrm{sgn}(\mathrm{id}) = 1$、$\mathrm{sgn}(\sigma^{-1}) = \mathrm{sgn}(\sigma)$。
3. 任意の互換 $(p\ q)$ に対し $\mathrm{sgn}((p\ q)) = -1$。
4. 任意の $\sigma \in S_n$ は有限個の互換の積として書け、$\sigma$ が $k$ 個の互換の積で書けたならば $\mathrm{sgn}(\sigma) = (-1)^k$ である。とくに互換の個数の偶奇は書き方によらない。
</Lemma>

<Proof of="lem-sign">
**(1)** $\Delta(x_{\sigma(1)}, \ldots, x_{\sigma(n)}) = \prod_{i < j}(x_{\sigma(j)} - x_{\sigma(i)})$ です。$\sigma$ は全単射なので、$\{i, j\}$ を $\{\sigma(i), \sigma(j)\}$ に対応させる写像は 2 元部分集合全体の上への 1 対 1 対応です。したがって右辺の各因子は、符号を除けば $\Delta(x_1,\ldots,x_n)$ の因子とちょうど 1 対 1 に対応します。因子 $x_{\sigma(j)} - x_{\sigma(i)}$（ここで $i < j$）は、$\sigma(i) < \sigma(j)$ ならそのまま $\Delta$ の因子であり、$\sigma(i) > \sigma(j)$ なら $-(x_{\sigma(i)} - x_{\sigma(j)})$ と符号が 1 つ出ます。後者が起きる組の個数はちょうど $\mathrm{inv}(\sigma)$ ですから、全体として $(-1)^{\mathrm{inv}(\sigma)}\Delta = \mathrm{sgn}(\sigma)\Delta$ となります。

**(2)** (1) は多項式の恒等式なので、変数に何を代入しても成り立ちます。$y_i = x_{\sigma(i)}$ とおくと $y_{\tau(i)} = x_{\sigma(\tau(i))} = x_{(\sigma\tau)(i)}$ ですから、

$$
\begin{aligned}
\mathrm{sgn}(\sigma\tau)\,\Delta(x) &= \Delta(x_{(\sigma\tau)(1)}, \ldots, x_{(\sigma\tau)(n)}) = \Delta(y_{\tau(1)}, \ldots, y_{\tau(n)}) \\
&= \mathrm{sgn}(\tau)\,\Delta(y_1, \ldots, y_n) = \mathrm{sgn}(\tau)\,\Delta(x_{\sigma(1)}, \ldots, x_{\sigma(n)}) = \mathrm{sgn}(\tau)\,\mathrm{sgn}(\sigma)\,\Delta(x)
\end{aligned}
$$

が得られます。$\Delta$ は零多項式ではないので両辺の係数を比べて $\mathrm{sgn}(\sigma\tau) = \mathrm{sgn}(\sigma)\mathrm{sgn}(\tau)$ です。$\mathrm{id}$ には転倒がないので $\mathrm{sgn}(\mathrm{id}) = 1$、これと $\sigma\sigma^{-1} = \mathrm{id}$ から $\mathrm{sgn}(\sigma)\mathrm{sgn}(\sigma^{-1}) = 1$、符号は $\pm 1$ しか取らないので $\mathrm{sgn}(\sigma^{-1}) = \mathrm{sgn}(\sigma)$ です。

**(3)** $\tau = (p\ q)$、$p < q$ として転倒数を直接数えます。転倒する組は次の 3 種類しかありません。組 $(p, q)$ 自身は $\tau(p) = q > p = \tau(q)$ で転倒します（1 個）。$p < k < q$ なる $k$ に対する組 $(p, k)$ は $\tau(p) = q > k = \tau(k)$ で転倒します（$q - p - 1$ 個）。同じ $k$ に対する組 $(k, q)$ は $\tau(k) = k > p = \tau(q)$ で転倒します（$q - p - 1$ 個）。これ以外の組は両方の番号が固定されるか、片方だけが $p$ または $q$ で $k$ が区間の外にある場合であり、大小関係は変わりません。よって $\mathrm{inv}(\tau) = 2(q - p - 1) + 1$ は奇数で、$\mathrm{sgn}(\tau) = -1$ です。

**(4)** 互換の積で書けることを $\sigma$ が動かす番号の個数に関する帰納法で示します。$\sigma = \mathrm{id}$ なら空積（互換 0 個の積）と見なします。$\sigma \ne \mathrm{id}$ なら $\sigma(m) \ne m$ なる $m$ を取り、$\sigma' = (m\ \sigma(m))\,\sigma$ とおくと $\sigma'(m) = m$ となり、さらに $\sigma$ が固定していた番号は $\sigma'$ でも固定されます。よって $\sigma'$ が動かす番号は $\sigma$ より真に少なく、帰納法の仮定から $\sigma'$ は互換の積で書けます。$(m\ \sigma(m))$ は自分自身が逆元なので $\sigma = (m\ \sigma(m))\,\sigma'$ もそうです。後半は (2) と (3) から直ちに従います。
</Proof>

<Aside type="note">
(4) は「置換を互換に分解する方法は無数にあるが、使う互換の個数の偶奇だけは一意に決まる」と言っています。行列式の定義が well-defined であることは、この一意性に支えられています。転倒数によって符号を**定義**してしまえば、この一意性は (2) と (3) の系として自動的に得られる、というのが上の議論の要点です。
</Aside>

## 3. 定義 I：ライプニッツの公式

3 次の場合の 6 項の和をよく見ると、各項は「各列からちょうど 1 個ずつ、しかも互いに異なる行から」成分を選んだ積になっています。列 $1, 2, \ldots, n$ に対して選ぶ行番号を $\sigma(1), \sigma(2), \ldots, \sigma(n)$ と書けば、$\sigma$ は置換にほかなりません。符号は置換の符号として付きます。これを一般の $n$ でそのまま定義に採用します。

<Definition id="def-determinant" title="行列式（ライプニッツの公式）">
$A = (a_{ij}) \in M_n(\mathbb{K})$ に対し、

$$
\det A = \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma)\, a_{\sigma(1)1}\, a_{\sigma(2)2} \cdots a_{\sigma(n)n} = \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \prod_{j=1}^{n} a_{\sigma(j)\,j}
$$

を $A$ の**行列式**といいます。$\det A$、$|A|$ のほか、成分を縦棒で囲んで書くこともあります。
</Definition>

和は $n!$ 項からなり、そのうち半分が正、半分が負の符号を持ちます。定義を小さい $n$ で書き下してみます。

- $n = 1$：$S_1 = \{\mathrm{id}\}$ なので $\det (a_{11}) = a_{11}$。
- $n = 2$：$S_2 = \{\mathrm{id}, (1\ 2)\}$ で符号はそれぞれ $+1, -1$ ですから

  $$
  \det \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} = a_{11}a_{22} - a_{21}a_{12}.
  $$

  §1 で解の判定に現れた $ad - bc$ が再現されました。
- $n = 3$：$S_3$ の 6 元のうち、$\mathrm{id}$ と 2 つの 3 次巡回置換が偶置換（符号 $+1$）、3 つの互換が奇置換（符号 $-1$）です。したがって

  $$
  \det A = a_{11}a_{22}a_{33} + a_{13}a_{21}a_{32} + a_{12}a_{23}a_{31} - a_{13}a_{22}a_{31} - a_{11}a_{23}a_{32} - a_{12}a_{21}a_{33}
  $$

  となり、これも §1 の式と一致します。$3 \times 3$ に限っては「右下がりの 3 本の積を足し、右上がりの 3 本の積を引く」というサラスの規則として覚えられますが、**この覚え方は $4$ 次以上では成り立ちません**（$4$ 次の項数は $4! = 24$ であり、たすき掛けで得られる 8 項ではまったく足りません）。

<Example id="ex-sarrus" title="3 次行列式を定義どおり計算する">
$$
A = \begin{pmatrix} 2 & -1 & 3 \\ 0 & 4 & 1 \\ 5 & 2 & -2 \end{pmatrix}
$$

の行列式を、上の 6 項の式にそのまま代入して求めます。

$$
\begin{aligned}
a_{11}a_{22}a_{33} &= 2 \cdot 4 \cdot (-2) = -16, \\
a_{13}a_{21}a_{32} &= 3 \cdot 0 \cdot 2 = 0, \\
a_{12}a_{23}a_{31} &= (-1) \cdot 1 \cdot 5 = -5, \\
a_{13}a_{22}a_{31} &= 3 \cdot 4 \cdot 5 = 60, \\
a_{11}a_{23}a_{32} &= 2 \cdot 1 \cdot 2 = 4, \\
a_{12}a_{21}a_{33} &= (-1) \cdot 0 \cdot (-2) = 0.
\end{aligned}
$$

前半 3 つを足し、後半 3 つを引いて

$$
\det A = (-16 + 0 - 5) - (60 + 4 + 0) = -21 - 64 = -85
$$

を得ます。この値は後で <Ref to="thm-cofactor" /> による展開でも確かめられます。
</Example>

ライプニッツの公式は計算の道具としては非効率ですが（§9 で見ます）、**理論的には非常に見通しがよい**という長所があります。定義式の対称性を眺めるだけで得られる性質を二つ挙げておきます。

<Proposition id="prop-basic" title="転置不変性と三角行列">
$A \in M_n(\mathbb{K})$ について次が成り立ちます。

1. $\det A^{\mathsf{T}} = \det A$。すなわち行列式は転置で不変であり、行について成り立つ性質と列について成り立つ性質は常に対になります。
2. $A$ が上三角行列（$i > j$ ならば $a_{ij} = 0$）または下三角行列（$i < j$ ならば $a_{ij} = 0$）ならば $\det A = a_{11}a_{22}\cdots a_{nn}$ である。とくに $\det I_n = 1$、対角行列の行列式は対角成分の積である。
</Proposition>

<Proof of="prop-basic">
**(1)** $B = A^{\mathsf{T}}$ とおくと $b_{ij} = a_{ji}$ です。定義より

$$
\det A^{\mathsf{T}} = \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \prod_{j=1}^{n} b_{\sigma(j)\,j} = \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \prod_{j=1}^{n} a_{j\,\sigma(j)}.
$$

各項の積は有限個の因子の積なので順序を入れ替えられます。$i = \sigma(j)$ すなわち $j = \sigma^{-1}(i)$ と番号を付け替えると $\prod_{j} a_{j\,\sigma(j)} = \prod_{i} a_{\sigma^{-1}(i)\,i}$ です。さらに <Ref to="lem-sign" /> (2) より $\mathrm{sgn}(\sigma) = \mathrm{sgn}(\sigma^{-1})$ であり、$\sigma$ が $S_n$ 全体を動くとき $\tau = \sigma^{-1}$ も $S_n$ 全体を動きます。したがって

$$
\det A^{\mathsf{T}} = \sum_{\tau \in S_n} \mathrm{sgn}(\tau) \prod_{i=1}^{n} a_{\tau(i)\,i} = \det A.
$$

**(2)** $A$ を上三角とします。項 $\prod_j a_{\sigma(j)j}$ が $0$ でないためには、すべての $j$ について $a_{\sigma(j)j} \ne 0$、すなわち $\sigma(j) \le j$ が必要です。$j = 1$ では $\sigma(1) \le 1$ より $\sigma(1) = 1$。$j = 2$ では $\sigma(2) \le 2$ かつ $\sigma(2) \ne \sigma(1) = 1$ より $\sigma(2) = 2$。以下同様に $j$ について順に進めれば（$\sigma(1), \ldots, \sigma(j-1)$ が $1, \ldots, j-1$ を使い切っているので $\sigma(j) \le j$ から $\sigma(j) = j$）、$\sigma = \mathrm{id}$ に限ることがわかります。残るのは $\mathrm{sgn}(\mathrm{id}) \prod_j a_{jj}$ の 1 項だけです。下三角の場合は転置が上三角なので (1) に帰着します。$I_n$ は対角成分がすべて $1$ の対角行列なので $\det I_n = 1$ です。
</Proof>

## 4. 行列式を特徴づける二つの性質

ライプニッツの公式は定義としては明快ですが、これを毎回展開して性質を証明するのは苦しい作業です。実は行列式の性質のほとんどは、公式の細部ではなく、次の二つの性質だけから出てきます。

<Definition id="def-alternating" title="多重線形性と交代性">
写像 $D : (\mathbb{K}^n)^n \to \mathbb{K}$、すなわち $n$ 個のベクトル $\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n \in \mathbb{K}^n$ にスカラーを対応させる写像を考えます。

- $D$ が**多重線形**であるとは、各 $k$ について、他の変数を固定したとき $\boldsymbol{v}_k$ の関数として線形であること、つまり任意の $\boldsymbol{u}, \boldsymbol{w} \in \mathbb{K}^n$ と $c \in \mathbb{K}$ に対して
  $$
  \begin{aligned}
  D(\ldots, \boldsymbol{u} + \boldsymbol{w}, \ldots) &= D(\ldots, \boldsymbol{u}, \ldots) + D(\ldots, \boldsymbol{w}, \ldots), \\
  D(\ldots, c\,\boldsymbol{u}, \ldots) &= c\, D(\ldots, \boldsymbol{u}, \ldots)
  \end{aligned}
  $$
  が成り立つことをいいます（$\ldots$ の位置の変数は共通で固定されています）。
- $D$ が**交代的**であるとは、$i \ne j$ かつ $\boldsymbol{v}_i = \boldsymbol{v}_j$ ならば $D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n) = 0$ となることをいいます。

$A = (\boldsymbol{a}_1\ \cdots\ \boldsymbol{a}_n)$ に対して $\det A = \det(\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n)$ と見なし、$\det$ を列ベクトルの関数として扱います。
</Definition>

<Theorem id="thm-characterization" title="行列式の特徴づけ">
$D : (\mathbb{K}^n)^n \to \mathbb{K}$ が多重線形かつ交代的であれば、任意の $\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n \in \mathbb{K}^n$ に対して

$$
D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n) = D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n) \cdot \det V, \qquad V = (\boldsymbol{v}_1\ \cdots\ \boldsymbol{v}_n)
$$

が成り立ちます。とくに、多重線形・交代的で $D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n) = 1$ を満たす写像は $\det$ ただ一つです。
</Theorem>

<Proof of="thm-characterization">
**第 1 段（交代性から反対称性へ）** $D$ は多重線形かつ交代的とします。$i < j$ を固定し、第 $i$ 変数と第 $j$ 変数に同じベクトル $\boldsymbol{u} + \boldsymbol{w}$ を入れると交代性から

$$
0 = D(\ldots, \boldsymbol{u} + \boldsymbol{w}, \ldots, \boldsymbol{u} + \boldsymbol{w}, \ldots)
$$

です。左辺を第 $i$ 変数、続いて第 $j$ 変数について多重線形性で展開すると 4 項になり、そのうち $D(\ldots, \boldsymbol{u}, \ldots, \boldsymbol{u}, \ldots)$ と $D(\ldots, \boldsymbol{w}, \ldots, \boldsymbol{w}, \ldots)$ は交代性からともに $0$ です。残るのは

$$
D(\ldots, \boldsymbol{u}, \ldots, \boldsymbol{w}, \ldots) + D(\ldots, \boldsymbol{w}, \ldots, \boldsymbol{u}, \ldots) = 0,
$$

すなわち**二つの変数を入れ替えると符号が変わる**（反対称性）ことです。

次に、任意の $\sigma \in S_n$ に対し

$$
D(\boldsymbol{v}_{\sigma(1)}, \ldots, \boldsymbol{v}_{\sigma(n)}) = \mathrm{sgn}(\sigma)\, D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n)
$$

を示します。<Ref to="lem-sign" /> (4) により $\sigma = \tau_1 \tau_2 \cdots \tau_k$（$\tau_m$ は互換）と書け、$\mathrm{sgn}(\sigma) = (-1)^k$ です。$k$ に関する帰納法を使います。$k = 0$ は自明です。$\sigma = \rho\,\tau$（$\tau$ は互換、$\rho$ は $k-1$ 個の互換の積）と書いたとき、$\boldsymbol{w}_i = \boldsymbol{v}_{\rho(i)}$ とおくと $\boldsymbol{v}_{\sigma(j)} = \boldsymbol{v}_{\rho(\tau(j))} = \boldsymbol{w}_{\tau(j)}$ ですから、$D(\boldsymbol{v}_{\sigma(1)}, \ldots, \boldsymbol{v}_{\sigma(n)}) = D(\boldsymbol{w}_{\tau(1)}, \ldots, \boldsymbol{w}_{\tau(n)})$ となります。$\tau$ は 2 つの変数の入れ替えなので、上で示した反対称性からこれは $-D(\boldsymbol{w}_1, \ldots, \boldsymbol{w}_n) = -D(\boldsymbol{v}_{\rho(1)}, \ldots, \boldsymbol{v}_{\rho(n)})$ に等しく、帰納法の仮定を使えば $-(-1)^{k-1}D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n) = (-1)^k D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n)$ です。

**第 2 段（標準基底への還元）** $\boldsymbol{v}_j = \sum_{i=1}^{n} v_{ij}\boldsymbol{e}_i$ と成分表示し、第 1 変数から順に多重線形性で展開します。

$$
D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n) = \sum_{i_1 = 1}^{n} \sum_{i_2 = 1}^{n} \cdots \sum_{i_n = 1}^{n} v_{i_1 1} v_{i_2 2} \cdots v_{i_n n}\, D(\boldsymbol{e}_{i_1}, \boldsymbol{e}_{i_2}, \ldots, \boldsymbol{e}_{i_n}).
$$

添字の組 $(i_1, \ldots, i_n)$ のうち、同じ値が 2 回以上現れるものは交代性から $D(\boldsymbol{e}_{i_1}, \ldots, \boldsymbol{e}_{i_n}) = 0$ となり消えます。残るのは $i_1, \ldots, i_n$ がすべて相異なる組、すなわち $j \mapsto i_j$ が置換 $\sigma$ になる場合だけです。第 1 段より $D(\boldsymbol{e}_{\sigma(1)}, \ldots, \boldsymbol{e}_{\sigma(n)}) = \mathrm{sgn}(\sigma)D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$ ですから、

$$
D(\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n) = \left( \sum_{\sigma \in S_n} \mathrm{sgn}(\sigma) \prod_{j=1}^{n} v_{\sigma(j)\,j} \right) D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n) = \det V \cdot D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n).
$$

これが主張の等式です。

**第 3 段（$\det$ が実際に条件を満たすこと）** 一意性だけでは中身が空かもしれないので、$\det$ 自身が多重線形・交代的で $\det I_n = 1$ であることを確かめます。

多重線形性：定義式の各項 $\mathrm{sgn}(\sigma)\prod_j a_{\sigma(j)j}$ は、第 $k$ 列からちょうど 1 個の成分 $a_{\sigma(k)k}$ を含み、他の因子は第 $k$ 列に依存しません。よって各項は第 $k$ 列の成分について 1 次の同次式であり、その和である $\det$ も第 $k$ 列について線形です。

交代性：第 $p$ 列と第 $q$ 列（$p \ne q$）が等しい、すなわちすべての $i$ で $a_{ip} = a_{iq}$ とします。互換 $\tau = (p\ q)$ を使って $\sigma \mapsto \sigma\tau$ という対応を考えると、これは $S_n$ 上の不動点を持たない対合（2 回施すと元に戻る全単射）なので、$S_n$ は $n!/2$ 個の組 $\{\sigma, \sigma\tau\}$ に分割されます。各組の 2 項を比べると、$j \ne p, q$ では $a_{\sigma\tau(j)j} = a_{\sigma(j)j}$ であり、$j = p$ では $a_{\sigma\tau(p)p} = a_{\sigma(q)p} = a_{\sigma(q)q}$、$j = q$ では $a_{\sigma\tau(q)q} = a_{\sigma(p)q} = a_{\sigma(p)p}$（2 つ目の等号でそれぞれ列が等しいことを使いました）。したがって積の値は完全に一致し、符号だけが <Ref to="lem-sign" /> (2)(3) より逆になります。各組の寄与が打ち消し合うので $\det A = 0$ です。

正規化：$\det I_n = 1$ は <Ref to="prop-basic" /> (2) です。
</Proof>

この定理の使い道は 2 通りあります。ひとつは「行列式とはこういう性質の関数だ」と**性質から出発できる**ようになること。もうひとつは、多重線形・交代的な写像を作ったら、それは自動的に $\det$ の定数倍だと**同定できる**ことです。後者は §6 の積の定理で威力を発揮します。まず、日々の計算に直結する系を書いておきます。

<Proposition id="prop-elementary" title="基本変形と行列式">
$A = (\boldsymbol{a}_1\ \cdots\ \boldsymbol{a}_n) \in M_n(\mathbb{K})$ とします。

1. 2 つの列を入れ替えると行列式は $-1$ 倍になる。
2. ある 1 つの列を $c \in \mathbb{K}$ 倍すると行列式は $c$ 倍になる。とくに $\det(cA) = c^n \det A$。
3. ある列に他の列のスカラー倍を加えても行列式は変わらない。すなわち $p \ne q$ と $c \in \mathbb{K}$ に対し
   $$
   \det(\ldots, \boldsymbol{a}_p + c\,\boldsymbol{a}_q, \ldots) = \det(\ldots, \boldsymbol{a}_p, \ldots).
   $$
4. ある列が零ベクトルなら行列式は $0$ である。
5. 以上はすべて「列」を「行」に置き換えても成り立つ。
</Proposition>

<Proof of="prop-elementary">
(1) は <Ref to="thm-characterization" /> の証明の第 1 段（反対称性）そのものです。(2) は多重線形性の斉次性の部分であり、$n$ 個の列すべてを $c$ 倍すれば $c$ が $n$ 回出るので $\det(cA) = c^n \det A$ を得ます。(3) は第 $p$ 変数についての加法性から

$$
\det(\ldots, \boldsymbol{a}_p + c\,\boldsymbol{a}_q, \ldots) = \det(\ldots, \boldsymbol{a}_p, \ldots) + c \det(\ldots, \boldsymbol{a}_q, \ldots)
$$

となり、右辺第 2 項は第 $p$ 列と第 $q$ 列がともに $\boldsymbol{a}_q$ で一致するので交代性から $0$ です。(4) は (2) で $c = 0$ とすればよく、$\det A = \det(\ldots, 0 \cdot \boldsymbol{0}, \ldots) = 0 \cdot \det(\ldots) = 0$ となります。(5) は <Ref to="prop-basic" /> (1) により行と列の役割が交換できることから従います。
</Proof>

(3) が重要です。**掃き出し法で使う「ある行に他の行の定数倍を足す」という操作は行列式を一切変えない**ので、行列式の計算は掃き出しと相性が良いのです。§9 で実際に使います。

## 5. 定義 II：余因子展開と余因子行列

ライプニッツの公式は $n$ 次を一気に定めますが、$n$ 次を $n-1$ 次に帰着させる漸化式も存在します。これが余因子展開であり、理論的には逆行列の公式を与え、実用上は「$0$ が多い行や列」を選んで手計算を軽くするために使われます。

<Definition id="def-cofactor" title="小行列式・余因子・余因子行列">
$A \in M_n(\mathbb{K})$（$n \ge 2$）に対し、第 $i$ 行と第 $j$ 列を取り除いて得られる $n-1$ 次正方行列を $A_{ij}$ と書き、その行列式 $\det A_{ij}$ を $A$ の $(i, j)$ **小行列式**といいます。また

$$
\widetilde{a}_{ij} = (-1)^{i+j} \det A_{ij}
$$

を $(i, j)$ **余因子**といいます。余因子を**転置して**並べた行列

$$
\mathrm{adj}\,A = \begin{pmatrix} \widetilde{a}_{11} & \widetilde{a}_{21} & \cdots & \widetilde{a}_{n1} \\ \widetilde{a}_{12} & \widetilde{a}_{22} & \cdots & \widetilde{a}_{n2} \\ \vdots & & & \vdots \\ \widetilde{a}_{1n} & \widetilde{a}_{2n} & \cdots & \widetilde{a}_{nn} \end{pmatrix}, \qquad (\mathrm{adj}\,A)_{ij} = \widetilde{a}_{ji}
$$

を $A$ の**余因子行列**といいます。添字の順序が入れ替わっている点に注意してください。
</Definition>

<Theorem id="thm-cofactor" title="余因子展開（ラプラス展開）">
$n \ge 2$、$A \in M_n(\mathbb{K})$ とします。

1. 各 $j \in \{1, \ldots, n\}$ を固定するとき（第 $j$ 列に関する展開）
   $$
   \det A = \sum_{i=1}^{n} a_{ij}\, \widetilde{a}_{ij} = \sum_{i=1}^{n} (-1)^{i+j} a_{ij} \det A_{ij}.
   $$
2. 各 $i \in \{1, \ldots, n\}$ を固定するとき（第 $i$ 行に関する展開）
   $$
   \det A = \sum_{j=1}^{n} a_{ij}\, \widetilde{a}_{ij} = \sum_{j=1}^{n} (-1)^{i+j} a_{ij} \det A_{ij}.
   $$
</Theorem>

<Proof of="thm-cofactor">
**第 1 段** 第 $j$ 列を標準基底で分解します。$\boldsymbol{a}_j = \sum_{i=1}^{n} a_{ij}\boldsymbol{e}_i$ ですから、<Ref to="thm-characterization" /> で確かめた第 $j$ 列についての線形性より

$$
\det A = \sum_{i=1}^{n} a_{ij} \det A^{(i,j)}
$$

となります。ここで $A^{(i,j)}$ は $A$ の第 $j$ 列を $\boldsymbol{e}_i$ に置き換えた行列です。よって $\det A^{(i,j)} = (-1)^{i+j}\det A_{ij}$ を示せば十分です。

**第 2 段（列と行を端に寄せる）** $A^{(i,j)}$ に対し、第 $j$ 列を隣の列との入れ替えで $n - j$ 回動かして最後尾に持っていきます（他の列の相対的な順序は保たれます）。続いて第 $i$ 行を隣の行との入れ替えで $n - i$ 回動かして最下段に持っていきます。<Ref to="prop-elementary" /> (1)(5) より、この操作で行列式は $(-1)^{(n-j)+(n-i)} = (-1)^{2n - i - j} = (-1)^{i+j}$ 倍されます。得られた行列を $B$ とすれば

$$
\det B = (-1)^{i+j} \det A^{(i,j)}.
$$

$B$ の形を確かめます。最後の列はもともと $\boldsymbol{e}_i$ で、その唯一の $1$ は第 $i$ 行にありましたが、その行が最下段に移ったので、$B$ の最後の列は $\boldsymbol{e}_n$ です。また左上の $(n-1) \times (n-1)$ 部分は、$A$ から第 $i$ 行と第 $j$ 列を除いた成分が元の順序のまま並んだもの、すなわち $A_{ij}$ です。したがって

$$
B = \begin{pmatrix} A_{ij} & \boldsymbol{0} \\ \boldsymbol{c}^{\mathsf{T}} & 1 \end{pmatrix}
$$

（$\boldsymbol{c}^{\mathsf{T}}$ は $A$ の第 $i$ 行から第 $j$ 成分を除いたもの）と書けます。

**第 3 段（$\det B = \det A_{ij}$）** 定義に戻ります。$\det B = \sum_{\sigma} \mathrm{sgn}(\sigma) \prod_{k=1}^{n} b_{\sigma(k)k}$ において、第 $n$ 列は $\boldsymbol{e}_n$ なので $b_{\sigma(n)n} \ne 0$ となるのは $\sigma(n) = n$ のときだけであり、そのとき $b_{nn} = 1$ です。$\sigma(n) = n$ なる $\sigma$ は $\{1, \ldots, n-1\}$ 上の置換 $\sigma'$ と 1 対 1 に対応し、$n$ は動かないので転倒する組も増えず $\mathrm{sgn}(\sigma) = \mathrm{sgn}(\sigma')$ です。さらに $k \le n-1$ かつ $\sigma(k) \le n-1$ のとき $b_{\sigma(k)k}$ は左上のブロックの成分、すなわち $A_{ij}$ の $(\sigma'(k), k)$ 成分です。よって

$$
\det B = \sum_{\sigma' \in S_{n-1}} \mathrm{sgn}(\sigma') \prod_{k=1}^{n-1} (A_{ij})_{\sigma'(k)\,k} = \det A_{ij}.
$$

第 2 段と合わせて $\det A^{(i,j)} = (-1)^{i+j}\det B = (-1)^{i+j}\det A_{ij}$ となり、(1) が示されました。

**第 4 段（行に関する展開）** $A^{\mathsf{T}}$ に (1) を適用します。$A^{\mathsf{T}}$ の $(j, i)$ 小行列は $A$ の $(i, j)$ 小行列の転置なので、<Ref to="prop-basic" /> (1) からその行列式は $\det A_{ij}$ に等しく、また $(A^{\mathsf{T}})_{ji} = a_{ij}$ です。したがって $A^{\mathsf{T}}$ の第 $i$ 列に関する展開が、そのまま $A$ の第 $i$ 行に関する展開になります。
</Proof>

余因子展開は「$0$ が多い列（または行）を選ぶ」ほど得をします。基本変形で $0$ を作ってから展開する、という合わせ技が実戦的です。

<Example id="ex-vandermonde" title="3 次のヴァンデルモンド行列式">
$x_1, x_2, x_3 \in \mathbb{K}$ に対し

$$
V = \begin{pmatrix} 1 & 1 & 1 \\ x_1 & x_2 & x_3 \\ x_1^2 & x_2^2 & x_3^2 \end{pmatrix}
$$

の行列式を求めます。まず**第 3 行から第 2 行の $x_1$ 倍を引き**、次に**第 2 行から第 1 行の $x_1$ 倍を引き**ます（この順序が大切です。先に第 2 行を変えてしまうと、第 3 行の変形で使う行が変わってしまいます）。<Ref to="prop-elementary" /> (3)(5) より行列式は変わりません。

第 3 行は $(x_1^2 - x_1 \cdot x_1,\ x_2^2 - x_1 x_2,\ x_3^2 - x_1 x_3) = (0,\ x_2(x_2 - x_1),\ x_3(x_3 - x_1))$ となり、第 2 行は $(x_1 - x_1,\ x_2 - x_1,\ x_3 - x_1) = (0,\ x_2 - x_1,\ x_3 - x_1)$ となります。すなわち

$$
\det V = \det \begin{pmatrix} 1 & 1 & 1 \\ 0 & x_2 - x_1 & x_3 - x_1 \\ 0 & x_2(x_2 - x_1) & x_3(x_3 - x_1) \end{pmatrix}.
$$

第 1 列に関して <Ref to="thm-cofactor" /> を適用すると、非零成分は $(1,1)$ 成分の $1$ だけで、その符号は $(-1)^{1+1} = +1$ ですから

$$
\det V = \det \begin{pmatrix} x_2 - x_1 & x_3 - x_1 \\ x_2(x_2 - x_1) & x_3(x_3 - x_1) \end{pmatrix}.
$$

第 1 列から $x_2 - x_1$ を、第 2 列から $x_3 - x_1$ をくくり出すと（<Ref to="prop-elementary" /> (2)）

$$
\det V = (x_2 - x_1)(x_3 - x_1) \det \begin{pmatrix} 1 & 1 \\ x_2 & x_3 \end{pmatrix} = (x_2 - x_1)(x_3 - x_1)(x_3 - x_2).
$$

これはちょうど §2 の差積 $\Delta(x_1, x_2, x_3)$ です。符号の理論に使った多項式が、行列式そのものとして再登場したことになります。同じ計算を $n$ 次で繰り返せば $\det V_n = \prod_{i < j}(x_j - x_i)$ が示せます。とくに $x_1, \ldots, x_n$ が相異なれば $\det V_n \ne 0$ であり、これは相異なる $n$ 点を通る $n-1$ 次以下の多項式がただ一つ存在すること（ラグランジュ補間の一意性）と同値です。
</Example>

余因子展開のもう一つの帰結は、逆行列の閉じた公式です。

<Proposition id="prop-adjugate" title="余因子行列の基本関係式">
$n \ge 2$、$A \in M_n(\mathbb{K})$ に対し

$$
A \cdot \mathrm{adj}\,A = (\mathrm{adj}\,A) \cdot A = (\det A)\, I_n
$$

が成り立ちます。とくに $\det A \ne 0$ ならば $A$ は正則で $A^{-1} = \dfrac{1}{\det A}\,\mathrm{adj}\,A$ です。
</Proposition>

<Proof of="prop-adjugate">
$(A \cdot \mathrm{adj}\,A)_{ik} = \sum_{j=1}^{n} a_{ij} (\mathrm{adj}\,A)_{jk} = \sum_{j=1}^{n} a_{ij}\widetilde{a}_{kj}$ です。

$i = k$ のとき、これは <Ref to="thm-cofactor" /> (2) の第 $i$ 行に関する展開そのものなので $\det A$ に等しくなります。

$i \ne k$ のときを考えます。$A$ の第 $k$ 行を第 $i$ 行で置き換えた行列を $A'$ とします。$A'$ は第 $i$ 行と第 $k$ 行が等しいので、交代性（<Ref to="thm-characterization" /> の第 3 段、および <Ref to="prop-basic" /> (1) により行についても成立）から $\det A' = 0$ です。一方 $A'$ の $(k, j)$ 余因子は第 $k$ 行を除いて作るので $A$ の $(k, j)$ 余因子 $\widetilde{a}_{kj}$ と一致し（$A$ と $A'$ は第 $k$ 行以外が同じです）、$A'$ の $(k, j)$ 成分は $a_{ij}$ です。よって $A'$ を第 $k$ 行で余因子展開すると

$$
0 = \det A' = \sum_{j=1}^{n} a_{ij}\widetilde{a}_{kj}
$$

となります。以上より $A \cdot \mathrm{adj}\,A = (\det A)I_n$ です。$(\mathrm{adj}\,A)\cdot A = (\det A)I_n$ も同様に、列に関する展開（<Ref to="thm-cofactor" /> (1)）と列の交代性を使えば示せます。最後の主張は $\det A \ne 0$ のとき両辺を $\det A$ で割ればよく、左右両方の積が $I_n$ になるので $\mathrm{adj}\,A / \det A$ は確かに逆行列です。
</Proof>

<Remark id="rem-cramer" title="クラメルの公式">
$\det A \ne 0$ のとき、$A\boldsymbol{x} = \boldsymbol{b}$ の解は $\boldsymbol{x} = A^{-1}\boldsymbol{b} = (\det A)^{-1}(\mathrm{adj}\,A)\boldsymbol{b}$ ですから、成分ごとに書くと

$$
x_j = \frac{1}{\det A}\sum_{i=1}^{n} \widetilde{a}_{ij} b_i = \frac{\det A_j}{\det A}
$$

となります。ここで $A_j$ は $A$ の第 $j$ 列を $\boldsymbol{b}$ で置き換えた行列です（最後の等号は $A_j$ の第 $j$ 列に関する余因子展開そのものです。$A_j$ の $(i,j)$ 余因子は第 $j$ 列を除いて作るので $A$ のそれと同じ $\widetilde{a}_{ij}$ です）。$n = 2$ で書けば §1 で手計算した $x = (pd - bq)/(ad - bc)$ に一致します。理論的には美しい公式ですが、$n$ 次の行列式を $n+1$ 回計算するため、数値計算では使いません。
</Remark>

## 6. 積の定理

行列の積の行列式が、行列式の積になる。この事実は行列式論の中心であり、証明は <Ref to="thm-characterization" /> の「同定」の使い方の見本になっています。

<Theorem id="thm-product" title="積の定理">
$A, B \in M_n(\mathbb{K})$ に対し

$$
\det(AB) = \det A \cdot \det B .
$$
</Theorem>

<Proof of="thm-product">
$A$ を固定します。$B = (\boldsymbol{b}_1\ \cdots\ \boldsymbol{b}_n)$ と列で区切ると、行列の積の定義から $AB$ の第 $j$ 列は $A\boldsymbol{b}_j$ です。そこで写像

$$
D(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n) := \det(A\boldsymbol{b}_1,\ A\boldsymbol{b}_2,\ \ldots,\ A\boldsymbol{b}_n) = \det(AB)
$$

を考え、これが多重線形かつ交代的であることを確かめます。

多重線形性：$\boldsymbol{b} \mapsto A\boldsymbol{b}$ は線形写像なので $A(\boldsymbol{u} + \boldsymbol{w}) = A\boldsymbol{u} + A\boldsymbol{w}$、$A(c\boldsymbol{u}) = c(A\boldsymbol{u})$ が成り立ち、これを $\det$ の第 $k$ 列の位置に入れれば、$\det$ が第 $k$ 列について線形であること（<Ref to="thm-characterization" /> 第 3 段）から $D$ も第 $k$ 変数について線形です。

交代性：$\boldsymbol{b}_p = \boldsymbol{b}_q$（$p \ne q$）ならば $A\boldsymbol{b}_p = A\boldsymbol{b}_q$ なので $\det$ の第 $p$ 列と第 $q$ 列が一致し、$\det$ の交代性から $D = 0$ です。

したがって <Ref to="thm-characterization" /> が使えて

$$
\det(AB) = D(\boldsymbol{b}_1, \ldots, \boldsymbol{b}_n) = D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)\cdot \det B .
$$

最後に $D(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n) = \det(A\boldsymbol{e}_1, \ldots, A\boldsymbol{e}_n)$ ですが、$A\boldsymbol{e}_j$ は $A$ の第 $j$ 列 $\boldsymbol{a}_j$ にほかならないので、これは $\det A$ です。以上より $\det(AB) = \det A \det B$ を得ます。
</Proof>

ここから直ちに次が従います。$A$ が正則、すなわち $AA^{-1} = I_n$ なる $A^{-1}$ が存在するとき、両辺の行列式を取ると $\det A \cdot \det(A^{-1}) = \det I_n = 1$ です。$\mathbb{K}$ は体なので、この等式は $\det A \ne 0$ を意味し、同時に

$$
\det(A^{-1}) = \frac{1}{\det A}
$$

を与えます。また正則行列 $P$ に対し $\det(P^{-1}AP) = \det(P^{-1})\det A \det P = \det A$ となり、**相似な行列の行列式は等しい**ことがわかります。これは行列式が「基底の取り方によらない、線形変換そのものの量」であることを意味しており、後で固有値との関係を見るときの土台になります（[固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues) を参照してください）。さらに $\det(A^k) = (\det A)^k$ も帰納法で従います。

<Aside type="caution">
和については同様の公式は**成り立ちません**。$A = B = I_2$ とすると $\det(A + B) = \det(2I_2) = 2^2 = 4$ ですが、$\det A + \det B = 1 + 1 = 2$ です。行列式は列について線形（1 列だけを動かしたとき線形）であって、行列全体について線形なのではありません。$\det(cA) = c^n\det A$ に $n$ 乗が現れるのも同じ理由です。
</Aside>

## 7. 行列式による正則性の判定

§1 で立てた問い「解けるかどうかを 1 個の数で言い当てられるか」に、ここで完全な答えを与えます。

<Theorem id="thm-regular" title="正則性の判定">
$A = (\boldsymbol{a}_1\ \cdots\ \boldsymbol{a}_n) \in M_n(\mathbb{K})$ に対し、次の 5 条件は同値です。

1. $\det A \ne 0$。
2. $A$ は正則である。すなわち $AB = BA = I_n$ を満たす $B \in M_n(\mathbb{K})$ が存在する。
3. 列ベクトル $\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n$ は一次独立である。
4. 斉次方程式 $A\boldsymbol{x} = \boldsymbol{0}$ の解は $\boldsymbol{x} = \boldsymbol{0}$ のみである。
5. 任意の $\boldsymbol{b} \in \mathbb{K}^n$ に対し、$A\boldsymbol{x} = \boldsymbol{b}$ はただ一つの解を持つ。
</Theorem>

<Proof of="thm-regular">
$(1) \Rightarrow (2) \Rightarrow (5) \Rightarrow (4) \Leftrightarrow (3) \Rightarrow (1)$ の順に示します。

**$(1) \Rightarrow (2)$** <Ref to="prop-adjugate" /> により $B = (\det A)^{-1}\mathrm{adj}\,A$ が $AB = BA = I_n$ を満たします（$n = 1$ のときは $A = (a_{11})$、$a_{11} \ne 0$ で $B = (a_{11}^{-1})$ とすればよく、以下でも $n = 1$ の場合は同様に直接確かめられます）。

**$(2) \Rightarrow (5)$** $\boldsymbol{x} = B\boldsymbol{b}$ とおくと $A\boldsymbol{x} = AB\boldsymbol{b} = \boldsymbol{b}$ なので解が存在します。一意性は、$A\boldsymbol{x} = A\boldsymbol{x}' = \boldsymbol{b}$ ならば左から $B$ を掛けて $\boldsymbol{x} = BA\boldsymbol{x} = BA\boldsymbol{x}' = \boldsymbol{x}'$ となることからわかります。

**$(5) \Rightarrow (4)$** (5) を $\boldsymbol{b} = \boldsymbol{0}$ に適用します。$A\boldsymbol{0} = \boldsymbol{0}$ ですから $\boldsymbol{x} = \boldsymbol{0}$ は $A\boldsymbol{x} = \boldsymbol{0}$ の解の一つであり、(5) によれば解は一つしかないのですから、それが唯一の解です。

**$(4) \Leftrightarrow (3)$** 行列とベクトルの積の定義から $A\boldsymbol{x} = x_1\boldsymbol{a}_1 + \cdots + x_n\boldsymbol{a}_n$ です。したがって「$A\boldsymbol{x} = \boldsymbol{0}$ の解が $\boldsymbol{x} = \boldsymbol{0}$ のみ」は「$x_1\boldsymbol{a}_1 + \cdots + x_n\boldsymbol{a}_n = \boldsymbol{0}$ ならば $x_1 = \cdots = x_n = 0$」と同じ文であり、これが一次独立の定義（<Ref to="mathematics/linear-algebra/vector-spaces#def-independence-basis" />）です。

**$(3) \Rightarrow (1)$** $\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n$ は $n$ 次元ベクトル空間 $\mathbb{K}^n$ の一次独立な $n$ 個のベクトルなので、$\mathbb{K}^n$ の基底をなします（<Ref to="mathematics/linear-algebra/vector-spaces#prop-finite-dim-facts" />。[ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) を参照してください）。よって各標準基底ベクトルが $\boldsymbol{e}_j = \sum_{i=1}^{n} b_{ij}\boldsymbol{a}_i$ と表せます。この係数を並べた行列を $B = (b_{ij})$ とすると、この $n$ 本の等式はまとめて $AB = I_n$ と書けます。両辺の行列式を取り <Ref to="thm-product" /> を使うと $\det A \cdot \det B = \det I_n = 1$ となるので、$\det A \ne 0$ です。
</Proof>

<Figure caption="正則性をめぐる同値性の証明の筋道">
<Mermaid code={`flowchart LR
  D1["det A ≠ 0"] -->|余因子行列で逆行列を作る| D2["A は正則"]
  D2 -->|x = Bb と一意性| D3["Ax = b が常に一意に解ける"]
  D3 -->|b = 0 とおく| D4["Ax = 0 の解は x = 0 のみ"]
  D4 -->|Ax は列の一次結合| D5["列ベクトルが一次独立"]
  D5 -->|基底に直して AB = I、積の定理| D1`} />
</Figure>

<Remark id="rem-dependent-columns" title="一次従属なら行列式は 0（直接証明）">
$(3) \Rightarrow (1)$ の対偶、つまり「列が一次従属ならば $\det A = 0$」は、基底の理論を使わずに多重線形性から直接示せます。実際、$\boldsymbol{a}_k = \sum_{j \ne k} c_j \boldsymbol{a}_j$ と書けたとすると、第 $k$ 変数についての線形性から

$$
\det A = \det(\ldots, \textstyle\sum_{j \ne k} c_j\boldsymbol{a}_j, \ldots) = \sum_{j \ne k} c_j \det(\ldots, \boldsymbol{a}_j, \ldots)
$$

となり、右辺の各項は第 $k$ 列と第 $j$ 列がともに $\boldsymbol{a}_j$ で一致するので交代性から $0$ です。実務では「$\det = 0$ を見たら列（または行）の間に一次関係がある」と読むこの向きをよく使います。
</Remark>

この定理により、行列式は理論の要所で判定装置として働きます。たとえば $\lambda \in \mathbb{K}$ が $A$ の固有値であるとは $A\boldsymbol{x} = \lambda\boldsymbol{x}$ を満たす $\boldsymbol{x} \ne \boldsymbol{0}$ が存在すること、すなわち $(\lambda I_n - A)\boldsymbol{x} = \boldsymbol{0}$ が非自明解を持つことです。<Ref to="thm-regular" /> の $(1) \Leftrightarrow (4)$ より、これは

$$
\varphi_A(\lambda) = \det(\lambda I_n - A) = 0
$$

と同値になります。固有値の議論が「$n$ 次方程式の根を求める」問題に翻訳できるのは、この同値性のおかげです。この多項式 $\varphi_A$ は <Ref to="mathematics/linear-algebra/eigenvalues#def-charpoly" text="特性多項式" /> と呼ばれます。詳しくは [固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues) で扱います。

## 8. 幾何学的意味：符号付き体積

ここまで代数的に扱ってきた行列式が、なぜ「つぶれているかどうか」を測れるのか。答えは面積・体積です。まず 2 次元で完全に証明します。

<Proposition id="prop-volume2" title="2 次の行列式と平行四辺形の面積">
$\boldsymbol{u} = \begin{pmatrix} a \\ c \end{pmatrix}$、$\boldsymbol{v} = \begin{pmatrix} b \\ d \end{pmatrix}$ を $\mathbb{R}^2$ のベクトルとし、$A = (\boldsymbol{u}\ \boldsymbol{v})$ とします。$\boldsymbol{u}, \boldsymbol{v}$ が張る平行四辺形

$$
P = \{ s\boldsymbol{u} + t\boldsymbol{v} \mid 0 \le s \le 1,\ 0 \le t \le 1 \}
$$

の面積は $|\det A| = |ad - bc|$ に等しい。
</Proposition>

<Proof of="prop-volume2">
$\boldsymbol{u} = \boldsymbol{0}$ または $\boldsymbol{v} = \boldsymbol{0}$ なら $P$ は線分または点で面積 $0$、行列式も <Ref to="prop-elementary" /> (4) より $0$ なので成立します。以下 $\boldsymbol{u}, \boldsymbol{v} \ne \boldsymbol{0}$ とし、両者のなす角を $\theta \in [0, \pi]$ とします。平行四辺形の面積は「底辺 $\times$ 高さ」で $S = \|\boldsymbol{u}\| \cdot \|\boldsymbol{v}\|\sin\theta$ です（$\sin\theta \ge 0$ に注意）。

内積となす角の関係 $\langle \boldsymbol{u}, \boldsymbol{v}\rangle = \|\boldsymbol{u}\|\|\boldsymbol{v}\|\cos\theta$（角度の定義は <Ref to="mathematics/linear-algebra/inner-product-spaces#def-angle" />）を用いると

$$
S^2 = \|\boldsymbol{u}\|^2\|\boldsymbol{v}\|^2 \sin^2\theta = \|\boldsymbol{u}\|^2\|\boldsymbol{v}\|^2 - \|\boldsymbol{u}\|^2\|\boldsymbol{v}\|^2\cos^2\theta = \|\boldsymbol{u}\|^2\|\boldsymbol{v}\|^2 - \langle \boldsymbol{u}, \boldsymbol{v}\rangle^2
$$

です。成分で書き下すと $\|\boldsymbol{u}\|^2 = a^2 + c^2$、$\|\boldsymbol{v}\|^2 = b^2 + d^2$、$\langle \boldsymbol{u}, \boldsymbol{v}\rangle = ab + cd$ ですから

$$
\begin{aligned}
S^2 &= (a^2 + c^2)(b^2 + d^2) - (ab + cd)^2 \\
&= a^2b^2 + a^2d^2 + c^2b^2 + c^2d^2 - (a^2b^2 + 2abcd + c^2d^2) \\
&= a^2d^2 - 2abcd + b^2c^2 = (ad - bc)^2 .
\end{aligned}
$$

$S \ge 0$ なので $S = |ad - bc| = |\det A|$ です。
</Proof>

一般の $n$ でも同じことが成り立ちます。$\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n \in \mathbb{R}^n$ の張る平行体を $P(\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n) = \{\sum_i t_i \boldsymbol{a}_i \mid 0 \le t_i \le 1\}$ とし、その体積を $\mathrm{vol}$ で表します。「体積」が満たすべき性質を素朴に列挙すると、次のようになります。

- **正規化**：単位立方体 $P(\boldsymbol{e}_1, \ldots, \boldsymbol{e}_n)$ の体積は $1$。
- **斉次性**：1 辺を $c$ 倍（$c > 0$）すれば体積は $c$ 倍。
- **せん断不変性**：ある辺に他の辺の定数倍を足しても体積は変わらない（底面と高さが変わらないため）。
- **退化**：辺が一次従属なら平行体は低い次元に押しつぶされ、体積は $0$。

ここで符号を込めた量 $\widetilde{\mathrm{vol}}$（右手系なら正、左手系なら負とする**符号付き体積**）を考えると、斉次性は $c < 0$ も含めて成り立ち、加法性と合わせて多重線形性になります。せん断不変性と退化は交代性の別表現です。つまり $\widetilde{\mathrm{vol}}$ は多重線形・交代的で単位立方体に $1$ を与える写像であり、<Ref to="thm-characterization" /> によって

$$
\widetilde{\mathrm{vol}}(\boldsymbol{a}_1, \ldots, \boldsymbol{a}_n) = \det(\boldsymbol{a}_1\ \cdots\ \boldsymbol{a}_n)
$$

でなければなりません。**行列式とは符号付き体積の別名**なのです。厳密には $\mathbb{R}^n$ のルベーグ測度 $\mu$ に対する等式 $\mu(A(E)) = |\det A|\,\mu(E)$（$E$ は可測集合）として述べられ、その証明は重積分の変数変換公式の一部として解析学で与えられます。

<Figure caption="単位正方形は線形変換 A によって平行四辺形に写り、面積は det A の絶対値倍になる">
<svg viewBox="0 0 640 300" width="100%" role="img" aria-label="単位正方形が線形変換によって平行四辺形に写る様子を表す図">
  <g stroke="currentColor" stroke-width="1" opacity="0.35" fill="none">
    <path d="M30 240 H 250" />
    <path d="M60 275 V 105" />
    <path d="M350 240 H 610" />
    <path d="M380 275 V 105" />
  </g>
  <polygon points="60,240 120,240 120,180 60,180" fill="var(--sl-color-accent)" fill-opacity="0.18" stroke="var(--sl-color-accent)" stroke-width="2" />
  <polygon points="380,240 500,210 560,120 440,150" fill="var(--sl-color-accent)" fill-opacity="0.18" stroke="var(--sl-color-accent)" stroke-width="2" />
  <g stroke="currentColor" stroke-width="2" fill="none">
    <path d="M60 240 L 117 240" />
    <path d="M60 240 L 60 183" />
    <path d="M380 240 L 496 211" />
    <path d="M380 240 L 437 155" />
    <path d="M270 190 L 336 190" />
  </g>
  <g fill="currentColor">
    <polygon points="120,240 112,236 112,244" />
    <polygon points="60,180 56,188 64,188" />
    <polygon points="500,210 491,216 489,208" />
    <polygon points="440,150 438,161 431,156" />
    <polygon points="345,190 333,184 333,196" />
  </g>
  <g fill="currentColor" font-size="14" text-anchor="middle">
    <text x="96" y="259">e₁</text>
    <text x="40" y="207">e₂</text>
    <text x="90" y="215">面積 1</text>
    <text x="522" y="228">Ae₁</text>
    <text x="412" y="146">Ae₂</text>
    <text x="470" y="190">面積 |det A|</text>
    <text x="303" y="176">A</text>
  </g>
</svg>
</Figure>

<Example id="ex-geometry" title="拡大率・せん断・裏返し">
図の右側は

$$
A = \begin{pmatrix} 2 & 1 \\ \tfrac{1}{2} & \tfrac{3}{2} \end{pmatrix}, \qquad \det A = 2\cdot\tfrac{3}{2} - 1\cdot\tfrac{1}{2} = 3 - \tfrac{1}{2} = \tfrac{5}{2}
$$

による像です。単位正方形（面積 $1$）が面積 $5/2$ の平行四辺形に写っています。<Ref to="prop-volume2" /> を $\boldsymbol{u} = A\boldsymbol{e}_1 = (2, 1/2)^{\mathsf{T}}$、$\boldsymbol{v} = A\boldsymbol{e}_2 = (1, 3/2)^{\mathsf{T}}$ に適用しても $|2 \cdot 3/2 - 1 \cdot 1/2| = 5/2$ で一致します。

典型的な変換を並べると、行列式が何を測っているかがはっきりします。次の 5 つの行列を考えます。

$$
S_k = \begin{pmatrix} 1 & k \\ 0 & 1 \end{pmatrix}, \quad
R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}, \quad
F = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \quad
E = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}, \quad
\Pi = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}
$$

| 行列 | 変換 | 行列式 | 幾何的な意味 |
|---|---|---|---|
| $S_k$ | せん断 | $1 \cdot 1 - k \cdot 0 = 1$ | 傾けるだけで、面積も向きも保つ |
| $R_\theta$ | 回転 | $\cos^2\theta + \sin^2\theta = 1$ | 面積も向きも保つ |
| $F$ | 軸の入れ替え（鏡映） | $0 \cdot 0 - 1 \cdot 1 = -1$ | 面積は保つが向きが反転する |
| $E$ | 横方向の拡大 | $3 \cdot 1 - 0 \cdot 0 = 3$ | 面積が 3 倍になる |
| $\Pi$ | 第 1 軸への射影 | $1 \cdot 0 - 0 \cdot 0 = 0$ | 直線につぶれ、面積が消える |

最後の行が <Ref to="thm-regular" /> の幾何的な意味です。$\det A = 0$ とは、単位立方体の像が「厚みを失う」ことであり、そのとき $A$ は情報を落としているので逆変換が作れません。

積の定理も幾何的に読めます。$B$ が体積を $\det B$ 倍にし、$A$ が体積を $\det A$ 倍にするなら、続けて施した $AB$ は体積を $\det A \cdot \det B$ 倍にするはずです。<Ref to="thm-product" /> はこの直観の正確な形です。$\det(A^{-1}) = 1/\det A$ も「拡大したものを元に戻すには同じ率で縮める」と読めます。
</Example>

<Aside type="tip">
向き（符号）の情報は、$3$ 次元では外積 $\boldsymbol{u}\times\boldsymbol{v}$ の向きや右手系・左手系の区別として現れ、微分積分では重積分の変数変換のヤコビアン $\det(\partial x_i/\partial u_j)$ として現れます。変数変換公式に**絶対値**が付くのは、積分が向きを気にしないためです。一方、微分形式の積分では符号込みの行列式がそのまま向きの情報を担います。
</Aside>

## 9. 計算法とデータ解析での現れ方

理論的な定義と実際の計算手順は別物です。ライプニッツの公式は $n!$ 個の項の和であり、各項が $n-1$ 回の乗算を含むので、必要な乗算はおよそ $n! \cdot (n-1)$ 回です。一方、行基本変形で上三角化してから対角成分を掛ける方法（ガウスの消去法、LU 分解）は乗除算がおよそ $n^3/3$ 回で済みます。

| $n$ | ライプニッツの公式の項数 $n!$ | 掃き出しの乗除算回数（概算 $n^3/3$） |
|---|---|---|
| $5$ | $120$ | 約 $42$ |
| $10$ | $3628800$ | 約 $333$ |
| $20$ | 約 $2.4 \times 10^{18}$ | 約 $2667$ |
| $50$ | 約 $3.0 \times 10^{64}$ | 約 $41667$ |

$n = 20$ の時点で、毎秒 $10^9$ 項を計算できる計算機でもライプニッツの公式は 70 年以上かかります。定義式をそのまま実装してはいけません。

<Example id="ex-elimination" title="4 次行列式を二通りに計算する">
$$
A = \begin{pmatrix} 0 & 1 & 2 & 1 \\ 2 & 1 & 3 & 1 \\ 6 & 5 & 16 & 5 \\ 2 & 3 & 9 & 4 \end{pmatrix}
$$

**方法 1：行基本変形。** まず第 1 行と第 2 行を入れ替えます。<Ref to="prop-elementary" /> (1)(5) より、この操作で行列式は $-1$ 倍になるので、入れ替えた行列を $A'$ とすると $\det A' = -\det A$ です。

$$
A' = \begin{pmatrix} 2 & 1 & 3 & 1 \\ 0 & 1 & 2 & 1 \\ 6 & 5 & 16 & 5 \\ 2 & 3 & 9 & 4 \end{pmatrix}
$$

次に、第 3 行から第 1 行の $3$ 倍を、第 4 行から第 1 行の $1$ 倍を引きます。<Ref to="prop-elementary" /> (3)(5) より行列式は変わりません。

$$
\begin{pmatrix} 2 & 1 & 3 & 1 \\ 0 & 1 & 2 & 1 \\ 0 & 2 & 7 & 2 \\ 0 & 2 & 6 & 3 \end{pmatrix}
$$

続いて第 3 行と第 4 行から第 2 行の $2$ 倍を引き、最後に第 4 行から第 3 行の $2/3$ 倍を引きます。

$$
\begin{pmatrix} 2 & 1 & 3 & 1 \\ 0 & 1 & 2 & 1 \\ 0 & 0 & 3 & 0 \\ 0 & 0 & 2 & 1 \end{pmatrix} \longrightarrow \begin{pmatrix} 2 & 1 & 3 & 1 \\ 0 & 1 & 2 & 1 \\ 0 & 0 & 3 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}
$$

上三角になったので <Ref to="prop-basic" /> (2) より、この行列の行列式は $2 \cdot 1 \cdot 3 \cdot 1 = 6$ です。これは $\det A'$ に等しく、$\det A = -\det A' = -6$ を得ます。

**方法 2：余因子展開。** 第 1 行は $0$ を含むので展開に向いています。<Ref to="thm-cofactor" /> (2) を $i = 1$ で使うと、符号は $(-1)^{1+j}$ ですから

$$
\det A = -1 \cdot \det A_{12} + 2 \cdot \det A_{13} - 1 \cdot \det A_{14}
$$

です（$a_{11} = 0$ の項は消えます）。3 つの小行列式をサラスの規則で計算します。

$$
\det A_{12} = \det\begin{pmatrix} 2 & 3 & 1 \\ 6 & 16 & 5 \\ 2 & 9 & 4 \end{pmatrix} = 2(64 - 45) - 3(24 - 10) + 1(54 - 32) = 38 - 42 + 22 = 18,
$$

$$
\det A_{13} = \det\begin{pmatrix} 2 & 1 & 1 \\ 6 & 5 & 5 \\ 2 & 3 & 4 \end{pmatrix} = 2(20 - 15) - 1(24 - 10) + 1(18 - 10) = 10 - 14 + 8 = 4,
$$

$$
\det A_{14} = \det\begin{pmatrix} 2 & 1 & 3 \\ 6 & 5 & 16 \\ 2 & 3 & 9 \end{pmatrix} = 2(45 - 48) - 1(54 - 32) + 3(18 - 10) = -6 - 22 + 24 = -4.
$$

よって $\det A = -18 + 8 + 4 = -6$ となり、方法 1 と一致します。$4$ 次でも余因子展開は $3$ 次を 3 回計算する必要があり、次数が上がると急速に不利になります。
</Example>

数値計算ライブラリも内部では LU 分解を使っています。

```python
import numpy as np

A = np.array([
    [0.0, 1.0,  2.0, 1.0],
    [2.0, 1.0,  3.0, 1.0],
    [6.0, 5.0, 16.0, 5.0],
    [2.0, 3.0,  9.0, 4.0],
])

print(np.linalg.det(A))         # -6.0 にごく近い値（浮動小数点誤差を含む）

sign, logabsdet = np.linalg.slogdet(A)
print(sign, np.exp(logabsdet))  # -1.0 と 6.0 にごく近い値
```

`slogdet` は符号と $\log|\det A|$ を別々に返します。次元が大きいと $\det$ そのものは容易に桁あふれ・桁落ちを起こす（対角成分の積なので、$1000$ 個の $0.1$ を掛ければ $10^{-1000}$ になります）ため、統計や機械学習では $\det$ ではなく $\log\det$ を扱うのが標準です。対称正定値行列 $\Sigma$ ならコレスキー分解 $\Sigma = LL^{\mathsf{T}}$ を使って

$$
\log\det\Sigma = \log\big((\det L)^2\big) = 2\sum_{i=1}^{n}\log L_{ii}
$$

と計算できます（<Ref to="thm-product" /> と <Ref to="prop-basic" /> (1)(2) を使いました）。

<Example id="ex-covariance" title="共分散行列の行列式（一般化分散）">
2 変数のデータから標本共分散行列

$$
S = \begin{pmatrix} 4 & 2 \\ 2 & 3 \end{pmatrix}
$$

が得られたとします。$\det S = 4 \cdot 3 - 2 \cdot 2 = 8$ であり、この値を**一般化分散**と呼びます。意味を見ます。

まず固有値を求めます。$\varphi_S(\lambda) = \det(\lambda I_2 - S) = (\lambda - 4)(\lambda - 3) - 4 = \lambda^2 - 7\lambda + 8$ で、根は $\lambda = (7 \pm \sqrt{17})/2$、数値では $\lambda_1 \approx 5.562$、$\lambda_2 \approx 1.438$ です。積を取ると $\lambda_1\lambda_2 = 8 = \det S$、和は $\lambda_1 + \lambda_2 = 7 = \mathrm{tr}\,S$ になっています。

積が一致するのは偶然ではありません。特性多項式 $\varphi_A(\lambda) = \det(\lambda I_n - A)$ は、ライプニッツの公式で $\sigma = \mathrm{id}$ の項が $\prod_i (\lambda - a_{ii})$、それ以外の項の次数が $n-2$ 以下であることから、$\lambda$ の $n$ 次モニック多項式です。よって複素数の範囲で $\varphi_A(\lambda) = \prod_{i=1}^{n}(\lambda - \lambda_i)$ と因数分解できます。$\lambda = 0$ を代入すると、左辺は $\det(-A) = (-1)^n\det A$（<Ref to="prop-elementary" /> (2)）、右辺は $(-1)^n\prod_i \lambda_i$ ですから

$$
\det A = \lambda_1\lambda_2\cdots\lambda_n
$$

が一般に成り立ちます。**行列式は固有値の積**なのです（<Ref to="mathematics/linear-algebra/eigenvalues#cor-trace-det" />。[対角化とジョルダン標準形](/mathematics/linear-algebra/diagonalization-and-jordan-form) も参照してください）。

幾何的な意味も明快です。楕円 $E = \{\boldsymbol{x} \in \mathbb{R}^2 \mid \boldsymbol{x}^{\mathsf{T}}S^{-1}\boldsymbol{x} \le 1\}$（データの散らばりを表す等確率楕円）は、単位円板を $S^{1/2}$ で写した像なので、その面積は <Ref to="prop-volume2" /> の一般化により $\pi \cdot \det(S^{1/2}) = \pi\sqrt{\det S} = 2\sqrt{2}\,\pi \approx 8.886$ です。一般化分散はデータ雲の「広がりの体積」を測っていることになります。もし 2 つの変数が完全に相関していれば楕円は線分につぶれ、$\det S = 0$ になります。

この視点は主成分分析（PCA）に直結します。PCA は共分散行列を直交行列で対角化して分散の大きい方向を取り出す手法で、$\det S = \prod_i \lambda_i$ は各主成分の分散の積、すなわち全体の広がりの体積です。$\lambda_i$ のうち極端に小さいものがあれば、その方向にはほとんど情報がなく、次元を削っても失うものが少ない、と判断できます。また多変量正規分布の対数尤度に現れる $-\frac{1}{2}\log\det\Sigma$ の項は、この「広がりの体積」に対する罰則として働きます。直交行列による対角化の一般論は [内積空間とグラム・シュミット直交化](/mathematics/linear-algebra/inner-product-spaces) と [スペクトル定理](/mathematics/linear-algebra/spectral-theorem) で扱います（実対称行列が直交行列で対角化できることは <Ref to="mathematics/linear-algebra/spectral-theorem#cor-real-symmetric" />）。
</Example>

## 10. 演習

<Exercise id="exr-triangle-area" difficulty="易">
平面上の 3 点 $P(1, 2)$、$Q(4, 3)$、$R(2, 6)$ を頂点とする三角形の面積を、行列式を用いて求めてください。また $P \to Q \to R$ の回り方が反時計回りか時計回りかを判定してください。
<Solution>
$P$ を基点として $\overrightarrow{PQ} = (3, 1)^{\mathsf{T}}$、$\overrightarrow{PR} = (1, 4)^{\mathsf{T}}$ です。この 2 ベクトルが張る平行四辺形の面積は <Ref to="prop-volume2" /> より

$$
\left| \det\begin{pmatrix} 3 & 1 \\ 1 & 4 \end{pmatrix} \right| = |3 \cdot 4 - 1 \cdot 1| = 11
$$

です。三角形はこの平行四辺形の半分なので、面積は $11/2$ です。

符号は $\det = 11 > 0$ ですから、$(\overrightarrow{PQ}, \overrightarrow{PR})$ は標準基底 $(\boldsymbol{e}_1, \boldsymbol{e}_2)$ と同じ向き、すなわち反時計回りです。§8 で述べたとおり、行列式の絶対値が面積を、符号が向きを担っています。
</Solution>
</Exercise>

<Exercise id="exr-skew" difficulty="標準">
$n$ を奇数とし、$A \in M_n(\mathbb{R})$ が交代行列（$A^{\mathsf{T}} = -A$）であるとします。$\det A = 0$ を示してください。また、$n$ が偶数のときにはこの結論が成り立たないことを $n = 2$ の例で示してください。
<Solution>
<Ref to="prop-basic" /> (1) より $\det A = \det A^{\mathsf{T}}$ です。仮定 $A^{\mathsf{T}} = -A$ を代入すると $\det A = \det(-A)$ となります。ここで $-A$ は $A$ の $n$ 個の列すべてを $-1$ 倍したものですから、<Ref to="prop-elementary" /> (2) より $\det(-A) = (-1)^n \det A$ です。$n$ が奇数なので $(-1)^n = -1$、したがって

$$
\det A = -\det A
$$

となり、両辺に $\det A$ を加えて $2\det A = 0$ を得ます。$\mathbb{R}$ では $2 \ne 0$ なので $\det A = 0$ です。

$n$ が偶数のときは $(-1)^n = 1$ となり上の議論は何も言いません。実際、$n = 2$ で

$$
A = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}
$$

は $A^{\mathsf{T}} = -A$ を満たす交代行列ですが、$\det A = 0 \cdot 0 - 1 \cdot (-1) = 1 \ne 0$ です。奇数という仮定が本質的だったことがわかります。
</Solution>
</Exercise>

<Exercise id="exr-block" difficulty="標準">
$p, q \ge 1$、$n = p + q$ とし、$A \in M_p(\mathbb{K})$、$D \in M_q(\mathbb{K})$、$B$ を $p \times q$ 行列、$O$ を $q \times p$ 零行列として

$$
M = \begin{pmatrix} A & B \\ O & D \end{pmatrix} \in M_n(\mathbb{K})
$$

とします。$\det M = \det A \cdot \det D$ を示してください。
<Solution>
定義（<Ref to="def-determinant" />）に従い $\det M = \sum_{\sigma \in S_n}\mathrm{sgn}(\sigma)\prod_{j=1}^{n} m_{\sigma(j)\,j}$ を考えます。$M$ の成分は、$i > p$ かつ $j \le p$ のとき（左下のブロック $O$ の位置）$m_{ij} = 0$ です。

項が $0$ でないためには、すべての $j \le p$ について $\sigma(j) \le p$ が必要です。これは $\sigma$ が $\{1, \ldots, p\}$ を $\{1, \ldots, p\}$ の中へ写すということで、$\sigma$ が単射で集合が有限であることから、$\{1, \ldots, p\}$ の上への全単射になります。したがって $\sigma$ は残りの $\{p+1, \ldots, n\}$ も自分自身の上に写します。そこで $\alpha \in S_p$ を $\sigma$ の $\{1, \ldots, p\}$ への制限、$\beta \in S_q$ を $\beta(k) = \sigma(p + k) - p$ で定めると、$\sigma$ と対 $(\alpha, \beta)$ は 1 対 1 に対応します。

符号を比べます。転倒する組は 3 種類に分かれます。両方が $\{1,\ldots,p\}$ に属する組の転倒数は $\mathrm{inv}(\alpha)$、両方が $\{p+1,\ldots,n\}$ に属する組の転倒数は $\mathrm{inv}(\beta)$ です。$i \le p < j$ という組については $\sigma(i) \le p < \sigma(j)$ なので決して転倒しません。よって $\mathrm{inv}(\sigma) = \mathrm{inv}(\alpha) + \mathrm{inv}(\beta)$、すなわち $\mathrm{sgn}(\sigma) = \mathrm{sgn}(\alpha)\mathrm{sgn}(\beta)$ です。

積の部分は、$j \le p$ では $m_{\sigma(j)j} = a_{\alpha(j)j}$、$j = p + k$（$k \le q$）では $m_{\sigma(j)j} = d_{\beta(k)k}$ です。以上をまとめると

$$
\det M = \sum_{\alpha \in S_p}\sum_{\beta \in S_q} \mathrm{sgn}(\alpha)\mathrm{sgn}(\beta) \prod_{j=1}^{p} a_{\alpha(j)j} \prod_{k=1}^{q} d_{\beta(k)k} = \left(\sum_{\alpha}\mathrm{sgn}(\alpha)\prod_j a_{\alpha(j)j}\right)\left(\sum_{\beta}\mathrm{sgn}(\beta)\prod_k d_{\beta(k)k}\right)
$$

となり、右辺は $\det A \cdot \det D$ です。なお右上のブロック $B$ が結果に一切現れないことに注意してください。これは <Ref to="prop-basic" /> (2) の三角行列の公式のブロック版です。
</Solution>
</Exercise>

<Exercise id="exr-adjugate" difficulty="難">
$n \ge 2$ とします。任意の $A \in M_n(\mathbb{K})$ に対し $\det(\mathrm{adj}\,A) = (\det A)^{n-1}$ が成り立つことを示してください（$\det A = 0$ の場合も含めて示すこと）。
<Solution>
<Ref to="prop-adjugate" /> より $A \cdot \mathrm{adj}\,A = (\det A)I_n$ です。両辺の行列式を取り、<Ref to="thm-product" /> と <Ref to="prop-elementary" /> (2)（$\det(cI_n) = c^n \det I_n = c^n$）を使うと

$$
\det A \cdot \det(\mathrm{adj}\,A) = (\det A)^n \qquad \cdots (\ast)
$$

を得ます。

**場合 1：$\det A \ne 0$。** $(\ast)$ の両辺を $\det A$ で割って $\det(\mathrm{adj}\,A) = (\det A)^{n-1}$ です。

**場合 2：$\det A = 0$。** このとき右辺は $n - 1 \ge 1$ より $(\det A)^{n-1} = 0$ なので、$\det(\mathrm{adj}\,A) = 0$ を示せば十分です（$(\ast)$ は $0 = 0$ となるだけで情報を与えないため、別の議論が必要です）。背理法で $\det(\mathrm{adj}\,A) \ne 0$ と仮定します。<Ref to="thm-regular" /> より $\mathrm{adj}\,A$ は正則で、逆行列 $(\mathrm{adj}\,A)^{-1}$ を持ちます。一方 <Ref to="prop-adjugate" /> と $\det A = 0$ から $A \cdot \mathrm{adj}\,A = O$ ですから、右から $(\mathrm{adj}\,A)^{-1}$ を掛けて $A = O$ となります。しかし $A = O$ ならば、その $(i,j)$ 小行列はすべて $n - 1 \ge 1$ 次の零行列であり、行列式は $0$（<Ref to="prop-elementary" /> (4)）なので全余因子が $0$、すなわち $\mathrm{adj}\,A = O$ です。これは $\mathrm{adj}\,A$ が正則であることに矛盾します。よって $\det(\mathrm{adj}\,A) = 0 = (\det A)^{n-1}$ です。

（$n \ge 2$ という仮定は場合 2 で本質的に効いています。$n = 1$ では $\mathrm{adj}\,A = (1)$ と約束するため $\det(\mathrm{adj}\,A) = 1 = (\det A)^0$ となり、結論自体は成り立ちますが、上の議論はそのままでは使えません。）
</Solution>
</Exercise>

## 参考文献

- 齋藤正彦『線型代数入門』東京大学出版会、1966 — 行列式の章。置換の符号からライプニッツの公式、余因子展開までの標準的な流れ。
- 佐武一郎『線型代数学』裳華房（数学選書）、新装版 2015 — 行列式の章。交代多重線形形式としての扱いが明快です。
- S. Lang, *Linear Algebra*, 3rd ed., Springer, 1987 — 行列式の章。この記事の <Ref to="thm-characterization" /> のような公理的特徴づけを軸にした構成。
- 杉浦光夫『解析入門 II』東京大学出版会、1985 — 重積分の変数変換公式。$|\det|$ が体積の拡大率として現れることの解析的な証明。
- G. H. Golub, C. F. Van Loan, *Matrix Computations*, 4th ed., Johns Hopkins University Press, 2013 — ガウスの消去法と LU 分解の章。行列式の数値計算と桁あふれの扱い。
- M. Kline, *Mathematical Thought from Ancient to Modern Times*, Oxford University Press, 1972 — 行列式と行列の章。関孝和・ライプニッツ・クラメル・コーシーに至る歴史的経緯。
