行列式は第 1 行に沿った展開によって定義された。その定義は論理的に完全だが計算コストが高い——n×n 行列を素朴に展開すると n! 回の乗算が必要だ。この記事は行列式を扱いやすくする性質を展開する:任意の行・列への展開、行変換と行列式の相互作用、等式 det(AB)=det(A)det(B)。最後に、余因子行列を使った逆行列の公式とクラメルの公式という二つの古典的応用で締めくくる。
任意の行・列へのラプラス展開
行列式の定義は第 1 行に沿って展開した。どの行・列に沿って展開しても同じ値が得られる。
定理(ラプラス展開):任意の i∈{1,…,n} に対して:
\det(A) = \sum_{j=1}^{n} (-1)^{i+j}\, a_{ij}\, \det(A_{ij}), \tag{1}
任意の j∈{1,…,n} に対して:
\det(A) = \sum_{i=1}^{n} (-1)^{i+j}\, a_{ij}\, \det(A_{ij}). \tag{2}
ここで Aij は第 i 行と第 j 列を削除して得られる (n−1)×(n−1) の小行列であり、Cij:=(−1)i+jdet(Aij) が (i,j) 余因子だ。
実際には:ゼロが最も多い行または列に沿って展開する——ゼロの項は何も寄与しないので、計算量を大幅に削減できる。
計算例
A=025136047.
第 1 行に沿って展開すると、a12=1 の項だけが非ゼロ:
det(A)=(−1)1+2⋅1⋅det(2547)=−1⋅(14−20)=6.
転置
\det(A^\top) = \det(A). \tag{3}
転置によって行列式は変わらないので、行についての主張はそのまま列についても成り立つ。特に、列展開(式 (2))は A⊤ に行展開(式 (1))を適用することで従い、以下のすべての行変換の規則は完全に同様の列変換の対応物を持つ。
行変換が行列式に与える影響
ガウス・ジョルダン消去法の構成要素である行変換は、行列式と明快な形で相互作用する:
| 行変換 | det(A) への影響 |
|---|
| 二行を交換する | det を −1 倍する |
| 第 i 行をスカラー c=0 で掛ける | det を c 倍する |
| ある行のスカラー倍を別の行に加える | det は不変 |
これら三つの規則でガウス消去法は効率的な行列式算法になる。行交換と行加算だけで(行スケーリングなしで)A にガウス消去法を適用し、交換回数 s を記録する。結果は上三角行列 U だ。三角行列の行列式は対角成分の積なので:
\det(A) = (-1)^{s}\, \prod_{i=1}^{n} u_{ii}. \tag{4}
これにより det(A) を O(n3) 演算で計算できる——消去法自体と同じコストだ。
可逆性との関係
A が可逆であることは、ガウス消去法が U のすべての対角成分に非ゼロエントリを生成すること、すなわち ∏iuii=0 と等価だ。(4) からこれは det(A)=0 と同値——行列式で確立した基準と一致する。
乗法性
\det(AB) = \det(A)\,\det(B). \tag{5}
行列式は n×n 行列から体 F への乗法的準同型(multiplicative homomorphism)だ。いくつかの直ちに従う結果:
- det(In)=1。したがって A が可逆なら 1=det(A)det(A−1) より det(A−1)=1/det(A)。
- det(Ak)=det(A)k(任意の非負整数 k)。
- det(A1A2⋯Ak)=det(A1)det(A2)⋯det(Ak)。
(5) は和には拡張されない:一般に det(A+B)=det(A)+det(B)。
余因子行列
A の余因子行列(cofactor matrix)は (i,j) 成分が余因子 Cij=(−1)i+jdet(Aij) の n×n 行列だ。
A の余因子行列の転置(古典的随伴行列、adjugate または classical adjoint とも)は:
\operatorname{adj}(A)_{ij} \coloneqq C_{ji} = (-1)^{i+j}\det(A_{ji}). \tag{6}
定理:
A \cdot \operatorname{adj}(A) = \operatorname{adj}(A) \cdot A = \det(A)\, I_n. \tag{7}
証明は A⋅adj(A) の (i,k) 成分を ∑jaijCkj と書くことによる:i=k のとき、これは第 i 行に沿った det(A) の余因子展開;i=k のとき、同じ行を二行持つ行列の行列式を計算することになりゼロになる。
det(A)=0 のとき、両辺を det(A) で割ると明示的な逆行列の公式が得られる:
A^{-1} = \frac{1}{\det(A)}\operatorname{adj}(A). \tag{8}
大きな n に対してこれは O(n4)——ガウス消去法より遅い。主に 2×2 と 3×3 の手計算や理論的な議論に有用だ。
2×2 の場合
A=(acbd)、det(A)=ad−bc=0 のとき:
A−1=ad−bc1(d−c−ba).
対角成分を入れ替え、非対角成分の符号を変え、行列式で割る。
クラメルの公式
A を可逆な n×n 行列、b∈Fn とする。Ax=b の唯一の解の各成分は:
x_i = \frac{\det(A_i(b))}{\det(A)}, \qquad i = 1, \ldots, n, \tag{9}
ここで Ai(b) は A の第 i 列を b で置き換えた行列だ。
なぜ機能するか:x=A−1b=det(A)1adj(A)b から、第 i 成分は det(A)1 乗の adj(A) の第 i 行と b の内積だ。その内積を A の第 i 列(b を挿入した)に沿った余因子展開として書き直すと det(Ai(b)) が得られる。
余因子行列の公式と同様に、クラメルの公式は O(n4) で大きな方程式系には実用的でない。主に n≤3 の手計算や理論的証明(整数線型方程式系の解が有理数——または整数——表現を持つことを示すなど)に使われる。
まとめ
- ラプラス展開は任意の行または列に沿って機能する(式 (1) と (2));ゼロが最も多い行・列を選ぶと計算量が最小になる。
- 転置:det(A⊤)=det(A)、したがってすべての行の結果に完全な列の対応物が存在する。
- 行変換は行列式に予測可能な影響を与える:二行の交換で符号が反転;行を c 倍すると行列式も c 倍;ある行のスカラー倍を別の行に加えても行列式は不変。
- ガウス消去法は O(n3) のアルゴリズムを与える:A を上三角 U に簡約し、det(A)=(−1)交換数∏iuii。
- 乗法性:det(AB)=det(A)det(B);特に det(A−1)=1/det(A)。
- 余因子行列の転置:A−1=det(A)1adj(A)、明示的だが O(n4) の公式で、主に小行列や理論的な議論に有用。
- クラメルの公式:xi=det(Ai(b))/det(A)、Ax=b の閉形式の解で n≤3 や理論的な議論に有用。