1. 行列式って何? 動機
正方行列 A に対して定義される数値行列式(determinant)は、
記号で detA あるいは ∣A∣ と書きます。
一見ただの「行列に紐づいた数」ですが、いくつか役割があります。
- 独立性の判定 — 行(あるいは列)ベクトルが線形独立 ⇔ detA=0
- 逆行列の存在 — A が可逆 ⇔ detA=0
- 面積・体積 — 2×2 なら 2 つの列ベクトルが張る平行四辺形の面積、3×3 なら平行六面体の体積(符号付き)
- 変換のスケール — 線形変換 A による面積/体積の拡大率
以下、計算方法を 2×2 → 3×3 → 一般 n×n の順で見ていきます。
2. 2×2 行列式 定義
一番基本の 2×2 行列式は次の公式
det(acbd)=ad−bc
「左上 × 右下 − 右上 × 左下」と覚える。具体例
det(3124)=3⋅4−2⋅1=12−2=10
演習 #1
2×2 の基本. 次の行列式を計算しよう。
det(52−34)
▶ 解答を見る 解答
公式 det=ad−bc に代入:
det(52−34)=5⋅4−(−3)⋅2=20+6=26.
注意:右上 b が負のとき でさらに符号がひっくり返るので、足し算になる。
3. 3×3 行列式 — Sarrus の方法 定義
3×3 行列の行列式は次の 6 項の和差で書ける(Sarrus の公式):
deta11a21a31a12a22a32a13a23a33 =a11a22a33+a12a23a31+a13a21a32−a13a22a31−a11a23a32−a12a21a33 視覚的な覚え方(Sarrus 図)
行列を右に 2 列分書き写したつもりになって、3×5 の枠を考える。
- 右下がりの斜め 3 本(↘): a11a22a33, a12a23a31, a13a21a32 ── これらは+
- 右上がりの斜め 3 本(↗): a13a22a31, a11a23a32, a12a21a33 ── これらは−
Sarrus は3×3 専用。4×4 以上には使えない(同じ要領で書けないので、次節の余因子展開を使う)。
演習 #2
3×3 を Sarrus で. 次の行列式を、Sarrus の方法で計算しよう。
det101240356
▶ 解答を見る 解答
右下がりの 3 本(プラス):
- 1⋅4⋅6=24
- 2⋅5⋅1=10
- 3⋅0⋅0=0
- 合計: 24+10+0=34
右上がりの 3 本(マイナス):
- 3⋅4⋅1=12
- 1⋅5⋅0=0
- 2⋅0⋅6=0
- 合計: 12+0+0=12
差をとる:
det=34−12=22.
4. 余因子展開 — 一般の n×n 定義
n×n 行列にも使える普遍的な計算方法が余因子展開(cofactor expansion)。
まず必要な道具を 2 つ定義します。
小行列 — 1 行 1 列を消した残り
n×n 行列 A の 小行列(minor matrix)Aij とは、
A から i 行目と j 列目をまるごと取り除いて残った (n−1)×(n−1) 行列のこと。
例:3×3 で i=1,j=2(1 行目と 2 列目を消す)場合
a11a21a31a12a22a32a13a23a33⟶A12=(a21a31a23a33)
1 行目をまるごと消し、2 列目をまるごと消して、残った 2×2 の塊が A12。
小行列式 — 小行列の行列式
上の小行列 Aij の行列式を Mij と書き、これを小行列式(minor)と呼びます。
Mij≡detAij
n×n の行列式を計算するために、n 個の (n−1)×(n−1) の行列式を取る ── つまりサイズが 1 つ落ちる。
これを再帰的に繰り返すと、最終的に 2×2 の ad−bc まで辿り着いて計算できる。
展開の式
1 行目で余因子展開するときの式
detA=j=1∑n(−1)1+ja1jM1j=a11M11−a12M12+a13M13−⋯
各成分 a1j に M1j(その成分の行・列を消した小行列式)を掛け、符号 (−1)1+j を付けて足す。
符号は1 行目なら (+,−,+,−,…) の市松模様。
どの行・列で展開するか
余因子展開はどの行・列で展開しても同じ値が出ます(i 行目で展開する一般式は detA=∑j(−1)i+jaijMij)。
実用上は 0 が多い行・列を選ぶと楽になる(0 が掛かる項は無視できる)。
n が大きいときは、各小行列式 Mij がさらに (n−1)×(n−1) の展開を要するので、再帰的に小さくしていく。
実用的には 3×3 や 4×4 までは手で、それ以上は数値計算ソフトに任せるのが普通。
演習 #3
余因子展開で同じ行列式を計算. 上と同じ行列を、今度は1 行目で余因子展開して計算しよう。
det101240356=a11M11−a12M12+a13M13
ここで は 行・ 列を消した小行列の行列式(小行列式)。
▶ 解答を見る 解答
1 行目の各成分について、その行と列を消した 2×2 行列式を取る。
M11(1 行 1 列を消す):
M11=det(4056)=4⋅6−5⋅0=24.
M12(1 行 2 列を消す):
M12=det(0156)=0⋅6−5⋅1=−5.
M13(1 行 3 列を消す):
M13=det(0140)=0⋅0−4⋅1=−4.
展開:
det=1⋅24−2⋅(−5)+3⋅(−4)=24+10−12=22.✓
Sarrus と同じ値が出る。
余因子展開はどんな行・列でも展開できるので、0 が多い行を選ぶと楽になる(掛け算が消える)。
5. 計算を楽にする性質 派生関係
公式に直接代入する以外に、行列式の性質を使うと計算がぐっと楽になる場合があります。
- 同じ行(列)が 2 つある → det=0
- ある行(列)が全部ゼロ → det=0
- 2 つの行を入れ替える → 符号が反転(det→−det)
- ある行を k 倍 → 行列式も k 倍(線形性、列でも同じ)
- ある行に他の行の定数倍を足す → det は不変。これを使って0 を増やすと展開が楽になる
- 転置しても値は同じ:detA=detA⊤
- 積の行列式は積:det(AB)=detA⋅detB
特に「行に他の行の定数倍を足す → 不変」を使うと、三角行列(下/上 三角)に持ち込めます。
三角行列の行列式は対角成分の積なので一発。これは大きな n でも有効。