1. 行列式って何? 動機

正方行列 AA に対して定義される数値行列式(determinant)は、 記号で detA\det A あるいは A|A| と書きます。 一見ただの「行列に紐づいた数」ですが、いくつか役割があります。

  • 独立性の判定 — 行(あるいは列)ベクトルが線形独立 ⇔ detA0\det A \neq 0
  • 逆行列の存在AA が可逆 ⇔ detA0\det A \neq 0
  • 面積・体積 — 2×2 なら 2 つの列ベクトルが張る平行四辺形の面積、3×3 なら平行六面体の体積(符号付き)
  • 変換のスケール — 線形変換 AA による面積/体積の拡大率

以下、計算方法を 2×2 → 3×3 → 一般 n×n の順で見ていきます。

2. 2×2 行列式 定義

一番基本の 2×2 行列式は次の公式

det ⁣(abcd)  =  adbc\det\!\begin{pmatrix} a & b \\ c & d \end{pmatrix} \;=\; a\,d - b\,c

左上 × 右下 − 右上 × 左下」と覚える。具体例

det ⁣(3214)=3421=122=10\det\!\begin{pmatrix} 3 & 2 \\ 1 & 4 \end{pmatrix} = 3 \cdot 4 - 2 \cdot 1 = 12 - 2 = 10
演習 #1

2×2 の基本. 次の行列式を計算しよう。

det ⁣(5324)\det\!\begin{pmatrix} 5 & -3 \\ 2 & 4 \end{pmatrix}

解答を見る

公式 det=adbc\det = ad - bc に代入:

det ⁣(5324)=54(3)2=20+6=26.\det\!\begin{pmatrix} 5 & -3 \\ 2 & 4 \end{pmatrix} = 5 \cdot 4 - (-3) \cdot 2 = 20 + 6 = 26.

注意:右上 bb が負のとき でさらに符号がひっくり返るので、足し算になる。

3. 3×3 行列式 — Sarrus の方法 定義

3×3 行列の行列式は次の 6 項の和差で書ける(Sarrus の公式):

det ⁣(a11a12a13a21a22a23a31a32a33)\det\!\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix}
=a11a22a33+a12a23a31+a13a21a32a13a22a31a11a23a32a12a21a33= 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}

視覚的な覚え方(Sarrus 図)

行列を右に 2 列分書き写したつもりになって、3×5 の枠を考える。

  • 右下がりの斜め 3 本(↘): a11a22a33, a12a23a31, a13a21a32a_{11}a_{22}a_{33},\ a_{12}a_{23}a_{31},\ a_{13}a_{21}a_{32} ── これらは+
  • 右上がりの斜め 3 本(↗): a13a22a31, a11a23a32, a12a21a33a_{13}a_{22}a_{31},\ a_{11}a_{23}a_{32},\ a_{12}a_{21}a_{33} ── これらは

Sarrus は3×3 専用。4×4 以上には使えない(同じ要領で書けないので、次節の余因子展開を使う)。

演習 #2

3×3 を Sarrus で. 次の行列式を、Sarrus の方法で計算しよう。

det ⁣(123045106)\det\!\begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 1 & 0 & 6 \end{pmatrix}

解答を見る

右下がりの 3 本(プラス):

  • 146=241 \cdot 4 \cdot 6 = 24
  • 251=102 \cdot 5 \cdot 1 = 10
  • 300=03 \cdot 0 \cdot 0 = 0
  • 合計: 24+10+0=3424 + 10 + 0 = 34
右上がりの 3 本(マイナス):
  • 341=123 \cdot 4 \cdot 1 = 12
  • 150=01 \cdot 5 \cdot 0 = 0
  • 206=02 \cdot 0 \cdot 6 = 0
  • 合計: 12+0+0=1212 + 0 + 0 = 12
差をとる:

det=3412=22.\det = 34 - 12 = 22.

4. 余因子展開 — 一般の n×n 定義

n×n 行列にも使える普遍的な計算方法が余因子展開(cofactor expansion)。 まず必要な道具を 2 つ定義します。

小行列 — 1 行 1 列を消した残り

n×n 行列 AA小行列(minor matrix)AijA_{ij} とは、 AA から i 行目j 列目をまるごと取り除いて残った (n−1)×(n−1) 行列のこと。

例:3×3 で i=1,j=2i = 1, j = 2(1 行目と 2 列目を消す)場合

(a11a12a13a21a22a23a31a32a33)    A12=(a21a23a31a33)\begin{pmatrix} \bcancel{a_{11}} & \bcancel{a_{12}} & \bcancel{a_{13}} \\ a_{21} & \bcancel{a_{22}} & a_{23} \\ a_{31} & \bcancel{a_{32}} & a_{33} \end{pmatrix} \;\longrightarrow\; A_{12} = \begin{pmatrix} a_{21} & a_{23} \\ a_{31} & a_{33} \end{pmatrix}

1 行目をまるごと消し、2 列目をまるごと消して、残った 2×2 の塊が A12A_{12}

小行列式 — 小行列の行列式

上の小行列 AijA_{ij}行列式MijM_{ij} と書き、これを小行列式(minor)と呼びます。

Mij    detAijM_{ij} \;\equiv\; \det A_{ij}

n×n の行列式を計算するために、n 個の (n−1)×(n−1) の行列式を取る ── つまりサイズが 1 つ落ちる。 これを再帰的に繰り返すと、最終的に 2×2 の adbcad - bc まで辿り着いて計算できる。

展開の式

1 行目で余因子展開するときの式

detA  =  j=1n(1)1+ja1jM1j  =  a11M11a12M12+a13M13\det A \;=\; \sum_{j=1}^{n} (-1)^{1+j}\,a_{1j}\,M_{1j} \;=\; a_{11} M_{11} - a_{12} M_{12} + a_{13} M_{13} - \cdots

各成分 a1ja_{1j}M1jM_{1j}(その成分の行・列を消した小行列式)を掛け、符号 (1)1+j(-1)^{1+j} を付けて足す。 符号は1 行目なら (+,,+,,)(+, -, +, -, \ldots)市松模様

どの行・列で展開するか

余因子展開はどの行・列で展開しても同じ値が出ます(ii 行目で展開する一般式は detA=j(1)i+jaijMij\det A = \sum_j (-1)^{i+j} a_{ij} M_{ij})。 実用上は 0 が多い行・列を選ぶと楽になる(0 が掛かる項は無視できる)。

n が大きいときは、各小行列式 MijM_{ij} がさらに (n−1)×(n−1) の展開を要するので、再帰的に小さくしていく。 実用的には 3×3 や 4×4 までは手で、それ以上は数値計算ソフトに任せるのが普通。

演習 #3

余因子展開で同じ行列式を計算. 上と同じ行列を、今度は1 行目で余因子展開して計算しよう。

det ⁣(123045106)=a11M11a12M12+a13M13\det\!\begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 1 & 0 & 6 \end{pmatrix} = a_{11} M_{11} - a_{12} M_{12} + a_{13} M_{13}

ここで 行・ 列を消した小行列の行列式(小行列式)。

解答を見る

1 行目の各成分について、その行と列を消した 2×2 行列式を取る。

M11M_{11}(1 行 1 列を消す):

M11=det ⁣(4506)=4650=24.M_{11} = \det\!\begin{pmatrix} 4 & 5 \\ 0 & 6 \end{pmatrix} = 4 \cdot 6 - 5 \cdot 0 = 24.

M12M_{12}(1 行 2 列を消す):

M12=det ⁣(0516)=0651=5.M_{12} = \det\!\begin{pmatrix} 0 & 5 \\ 1 & 6 \end{pmatrix} = 0 \cdot 6 - 5 \cdot 1 = -5.

M13M_{13}(1 行 3 列を消す):

M13=det ⁣(0410)=0041=4.M_{13} = \det\!\begin{pmatrix} 0 & 4 \\ 1 & 0 \end{pmatrix} = 0 \cdot 0 - 4 \cdot 1 = -4.

展開:

det=1242(5)+3(4)=24+1012=22.\det = 1 \cdot 24 - 2 \cdot (-5) + 3 \cdot (-4) = 24 + 10 - 12 = 22. \quad\checkmark

Sarrus と同じ値が出る。
余因子展開はどんな行・列でも展開できるので、0 が多い行を選ぶと楽になる(掛け算が消える)。

5. 計算を楽にする性質 派生関係

公式に直接代入する以外に、行列式の性質を使うと計算がぐっと楽になる場合があります。

  • 同じ行(列)が 2 つあるdet=0\det = 0
  • ある行(列)が全部ゼロdet=0\det = 0
  • 2 つの行を入れ替える → 符号が反転(detdet\det \to -\det)
  • ある行を kk → 行列式も kk 倍(線形性、列でも同じ)
  • ある行に他の行の定数倍を足すdet\det は不変。これを使って0 を増やすと展開が楽になる
  • 転置しても値は同じ:detA=detA\det A = \det A^{\top}
  • 積の行列式は積:det(AB)=detAdetB\det(AB) = \det A \cdot \det B

特に「行に他の行の定数倍を足す → 不変」を使うと、三角行列(下/上 三角)に持ち込めます。 三角行列の行列式は対角成分の積なので一発。これは大きな n でも有効。