数学 の線型代数学 における行列式 の明示公式 (英 : explicit formula )あるいはライプニッツの公式 (英 : Leibniz formula ) とは、正方行列 の行列式をその行列の成分 と置換 を用いて陽に表したものである。ゴットフリート・ライプニッツ に敬意を表してこの名がある。
明示公式
n 次正方行列 A に対して、その (i , j ) 成分を a i ,j で表すと、その行列式 det(A ) は次の式で表せる:
det
(
A
)
=
∑
τ
∈
S
n
(
sgn
τ
)
∏
i
=
1
n
a
i
,
τ
(
i
)
=
∑
σ
∈
S
n
(
sgn
σ
)
∏
i
=
1
n
a
σ
(
i
)
,
i
{\displaystyle \det(A)=\textstyle \sum \limits _{\tau \in S_{n}}(\operatorname {sgn} \tau )\prod \limits _{i=1}^{n}a_{i,\tau (i)}=\sum \limits _{\sigma \in S_{n}}(\operatorname {sgn} \sigma )\prod \limits _{i=1}^{n}a_{\sigma (i),i}}
ここに sgn は置換群 Sn に属する置換に対する符号 を与える函数である。
物理学などではレヴィ゠チヴィタ記号 ε とアインシュタインの和の規約 に則り
det
(
A
)
=
ε
i
1
⋯
i
n
a
1
i
1
⋯
a
n
i
n
{\displaystyle \det(A)=\varepsilon _{i_{1}\cdots i_{n}}{a}_{1i_{1}}\cdots {a}_{ni_{n}}}
のように表すこともよくある。
ライプニッツの公式によって行列式を定義する場合、式に従って行列式を直接計算しようとすれば、その計算量は一般に Ω(n !⋅n ) —つまり計算回数は n の階乗 に漸近的に比例—となる(長さ n の置換の総数は n ! であったことを思い出そう)。これは n が大きければそのような計算は実用的でないことを意味している。それでも、(典型的にはガウス消去法 などを通じて)LU分解 A = LU が得られているならば、計算量は O (n 3 ) まで抑えられる—なぜならば、det(A ) = det(L )det(U ) であり、また L, U は三角行列であるからそれらの行列式は単に対角成分を全て掛けるだけで求められる(ただし、数値線形代数 での実用的な応用で明示公式を用いることは稀である)。例えば Trefethen & Bau (1997) などを見よ。
特徴付け
行列式 は以下の定理によって特徴付けることができる。
定理
体 𝕂 上の行列環上で定義された函数
F
:
M
n
(
K
)
→
K
{\displaystyle F\colon M_{n}(\mathbb {K} )\to \mathbb {K} }
で、列ベクトルに関して多重線型かつ交代的 で、F (I ) = 1 を満たすものはただ一つ存在する。ただし I は n -次単位行列 。
上記の明示式 で定義された函数 det は実際にこれら条件を満たすから、このような函数は存在する。逆にこれら条件から上記の明示式が出ることを見れば一意性が示せる。これにより、定理の条件を満たす函数 F が明示公式で与えられる行列式函数にほかならないことがわかるから、行列式
det
:
M
n
(
K
)
→
K
{\textstyle \det \colon M_{n}(\mathbb {K} )\to \mathbb {K} }
を明示公式によって定義することも、定理の条件を満たす唯一の函数として定義することもできる。
証明
一意性
F を定理の条件を満たす函数とし、任意の n × n 行列 A ≔ (a j i )j =1,…,n i =1,…,n に対して、A の第 j -列ベクトルを a j ≔ (a j i )i =1,…,n と書くことにする—すなわち A = (a 1 , …, a n ) である。同様に単位行列 I もその第 k -列を e k として I = (e 1 , …, e n ) と書く。
すると A の各列ベクトルは a j = ∑n k =1 a j k e k と書けるから、F の多重線型性により
F
(
A
)
=
F
(
∑
k
1
=
1
n
a
k
1
1
e
k
1
,
…
,
∑
k
n
=
1
n
a
k
n
n
e
k
n
)
=
∑
k
1
,
…
,
k
n
=
1
n
(
∏
i
=
1
n
a
k
i
i
)
F
(
e
k
1
,
…
,
e
k
n
)
{\displaystyle {\begin{aligned}F(A)&=F{\Bigl (}\sum _{k_{1}=1}^{n}a_{k_{1}}^{1}\mathbf {e} ^{k_{1}},\dotsc ,\sum _{k_{n}=1}^{n}a_{k_{n}}^{n}\mathbf {e} ^{k_{n}}{\Bigr )}\\&=\sum _{k_{1},\dots ,k_{n}=1}^{n}{\Bigl (}\prod _{i=1}^{n}a_{k_{i}}^{i}{\Bigr )}F(\mathbf {e} ^{k_{1}},\dotsc ,\mathbf {e} ^{k_{n}})\end{aligned}}}
を得る。
F の交代性により添字が重複する項が全て零となるから、上記の和は添字に重複のない並びすなわち添字の置換となっている項だけが残り、
F
(
A
)
=
∑
σ
∈
S
n
(
∏
i
=
1
n
a
σ
(
i
)
i
)
F
(
e
σ
(
1
)
,
…
,
e
σ
(
n
)
)
{\displaystyle F(A)=\sum _{\sigma \in S_{n}}{\Bigl (}\prod _{i=1}^{n}a_{\sigma (i)}^{i}{\Bigr )}F(\mathbf {e} ^{\sigma (1)},\dotsc ,\mathbf {e} ^{\sigma (n)})}
と整理できる。さらに
F の交代性により、列ベクトル
e σ (k ) たちの並びを、単位行列になるまで入れ替えるとき、そのような入れ替えで必要な数だけ符号を反転したものが
置換の符号 sgn(σ ) にほかならないから、結局
F
(
A
)
=
∑
σ
∈
S
n
sgn
(
σ
)
(
∏
i
=
1
n
a
σ
(
i
)
i
)
F
(
I
)
=
∑
σ
∈
S
n
sgn
(
σ
)
∏
i
=
1
n
a
σ
(
i
)
i
{\displaystyle {\begin{aligned}F(A)&=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma ){\Bigl (}\prod _{i=1}^{n}a_{\sigma (i)}^{i}{\Bigr )}F(I)\\&=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )\prod _{i=1}^{n}a_{\sigma (i)}^{i}\end{aligned}}}
であることが分かる(最後の等号は、
F (I ) が仮定により
1 に等しいことによる)。したがって、定理の条件を満たす函数
F はライプニッツの公式で定義される函数をおいてよりほかはない。
存在性
函数 F はライプニッツの公式によって定義された函数とし、以下この F が定理の条件をすべて満たすことを見る。
多重線型性
F
(
a
1
,
…
,
c
a
j
,
…
,
a
n
)
=
∑
σ
∈
S
n
sgn
(
σ
)
c
a
σ
(
j
)
j
∏
i
=
1
,
…
,
n
i
≠
j
a
σ
(
i
)
i
=
c
∑
σ
∈
S
n
sgn
(
σ
)
∏
i
=
1
n
a
σ
(
i
)
i
=
c
F
(
a
1
,
…
,
a
j
,
…
,
a
n
)
{\displaystyle {\begin{aligned}F(\mathbf {a} ^{1},\dotsc ,c\mathbf {a} ^{j},\dotsc ,\mathbf {a} ^{n})&=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )ca_{\sigma (j)}^{j}\prod _{i=1,\dotsc ,n \atop i\neq j}a_{\sigma (i)}^{i}\\&=c\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )\prod _{i=1}^{n}a_{\sigma (i)}^{i}\\&=cF(\mathbf {a} ^{1},\dotsc ,\mathbf {a} ^{j},\dotsc ,\mathbf {a} ^{n})\end{aligned}}}
および
F
(
a
1
,
…
,
a
j
+
b
j
,
…
,
a
n
)
=
∑
σ
∈
S
n
sgn
(
σ
)
(
a
σ
(
j
)
j
+
b
σ
(
j
)
j
)
∏
i
=
1
,
…
,
n
i
≠
j
a
σ
(
i
)
i
=
∑
σ
∈
S
n
sgn
(
σ
)
(
(
∏
i
=
1
n
a
σ
(
i
)
i
)
+
(
b
σ
(
j
)
j
∏
i
=
1
,
…
,
n
i
≠
j
a
σ
(
i
)
i
)
)
=
(
∑
σ
∈
S
n
sgn
(
σ
)
∏
i
=
1
n
a
σ
(
i
)
i
)
+
(
∑
σ
∈
S
n
sgn
(
σ
)
b
σ
(
j
)
j
∏
i
=
1
,
…
,
n
i
≠
j
a
σ
(
i
)
i
)
=
F
(
a
1
,
…
,
a
j
,
…
,
a
n
)
+
F
(
a
1
,
…
,
b
j
,
…
,
a
n
)
{\displaystyle {\begin{aligned}F(\mathbf {a} ^{1},\dotsc ,\mathbf {a} ^{j}+\mathbf {b} ^{j},\dotsc ,\mathbf {a} ^{n})&=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )(a_{\sigma (j)}^{j}+b_{\sigma (j)}^{j})\prod _{i=1,\dotsc ,n \atop i\neq j}a_{\sigma (i)}^{i}\\&=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma ){\biggl (}{\Bigl (}\prod _{i=1}^{n}a_{\sigma (i)}^{i}{\Bigr )}+{\Bigl (}b_{\sigma (j)}^{j}\prod _{i=1,\dotsc ,n \atop i\neq j}a_{\sigma (i)}^{i}{\Bigr )}{\biggr )}\\&={\Bigl (}\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )\prod _{i=1}^{n}a_{\sigma (i)}^{i}{\Bigr )}+{\Bigl (}\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )b_{\sigma (j)}^{j}\prod _{i=1,\dotsc ,n \atop i\neq j}a_{\sigma (i)}^{i}{\Bigr )}\\&=F(\mathbf {a} ^{1},\dotsc ,\mathbf {a} ^{j},\dotsc ,\mathbf {a} ^{n})+F(\mathbf {a} ^{1},\dotsc ,\mathbf {b} ^{j},\dotsc ,\mathbf {a} ^{n})\end{aligned}}}
交代性
F
(
a
1
,
…
,
a
j
1
,
…
,
a
j
2
,
…
,
a
n
)
=
∑
σ
∈
S
n
sgn
(
σ
)
α
σ
a
σ
(
j
1
)
j
1
a
σ
(
j
2
)
j
2
(
α
σ
:=
∏
i
=
1
,
…
,
n
i
≠
j
1
,
i
≠
j
2
a
σ
(
i
)
i
)
{\displaystyle F(\mathbf {a} ^{1},\dotsc ,\mathbf {a} ^{j_{1}},\dotsc ,\mathbf {a} ^{j_{2}},\dotsc ,\mathbf {a} ^{n})=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )\alpha _{\sigma }a_{\sigma (j_{1})}^{j_{1}}a_{\sigma (j_{2})}^{j_{2}}\qquad {\Bigl (}\alpha _{\sigma }:=\prod _{i=1,\dotsc ,n \atop i\neq j_{1},i\neq j_{2}}a_{\sigma (i)}^{i}{\Bigr )}}
において、各 σ ∈ Sn に対し、σ から添字 j 1 と j 2 を入れ替えて得られる置換を σ′ と書くことにすれば、右辺はさらに
∑
σ
∈
S
n
,
σ
(
j
1
)
<
σ
(
j
2
)
(
sgn
(
σ
)
α
σ
a
σ
(
j
1
)
j
1
a
σ
(
j
2
)
j
2
+
sgn
(
σ
′
)
α
σ
′
a
σ
′
(
j
1
)
j
1
a
σ
′
(
j
2
)
j
2
)
=
∑
σ
∈
S
n
σ
(
j
1
)
<
σ
(
j
2
)
(
sgn
(
σ
)
α
σ
a
σ
(
j
1
)
j
1
a
σ
(
j
2
)
j
2
−
sgn
(
σ
)
α
σ
a
σ
(
j
2
)
j
1
a
σ
(
j
1
)
j
2
)
=
∑
σ
∈
S
n
σ
(
j
1
)
<
σ
(
j
2
)
sgn
(
σ
)
α
σ
(
a
σ
(
j
1
)
j
1
a
σ
(
j
2
)
j
2
−
a
σ
(
j
1
)
j
2
a
σ
(
j
2
)
j
1
)
{\displaystyle {\begin{aligned}&\quad \sum _{\sigma \in S_{n}, \atop \sigma (j_{1})<\sigma (j_{2})}{\Bigl (}\operatorname {sgn}(\sigma )\alpha _{\sigma }a_{\sigma (j_{1})}^{j_{1}}a_{\sigma (j_{2})}^{j_{2}}+\operatorname {sgn}(\sigma ')\alpha _{\sigma '}a_{\sigma '(j_{1})}^{j_{1}}a_{\sigma '(j_{2})}^{j_{2}}{\Bigr )}\\&=\sum _{\sigma \in S_{n} \atop \sigma (j_{1})<\sigma (j_{2})}{\bigl (}\operatorname {sgn}(\sigma )\alpha _{\sigma }a_{\sigma (j_{1})}^{j_{1}}a_{\sigma (j_{2})}^{j_{2}}-\operatorname {sgn}(\sigma )\alpha _{\sigma }a_{\sigma (j_{2})}^{j_{1}}a_{\sigma (j_{1})}^{j_{2}}{\bigr )}\\&=\sum _{\sigma \in S_{n} \atop \sigma (j_{1})<\sigma (j_{2})}\operatorname {sgn}(\sigma )\alpha _{\sigma }{\bigl (}a_{\sigma (j_{1})}^{j_{1}}a_{\sigma (j_{2})}^{j_{2}}-a_{\sigma (j_{1})}^{j_{2}}a_{\sigma (j_{2})}^{j_{_{1}}}{\bigr )}\end{aligned}}}
と書き直せるから、
a
j
1
=
a
j
2
⟹
F
(
A
)
=
0
{\displaystyle \mathbf {a} ^{j_{1}}=\mathbf {a} ^{j_{2}}\implies F(A)=0}
を得る。
最後に F (I ) = 1 となることは、I = (δ j i )j =1,…,n i =1,…,n (δ j i はクロネッカーのデルタ )および、σ が恒等置換でないかぎり ∏ n i =1 δ i σ (i ) = 0 となることに注意すれば
F
(
I
)
=
∑
σ
∈
S
n
sgn
(
σ
)
∏
i
=
1
n
δ
σ
(
i
)
i
=
∏
i
=
1
n
δ
i
i
=
1
{\displaystyle F(I)=\sum _{\sigma \in S_{n}}\operatorname {sgn}(\sigma )\prod _{i=1}^{n}\delta _{\sigma (i)}^{i}=\prod _{i=1}^{n}\delta _{i}^{i}=1}
と計算できる。
関連項目
参考文献
脚注
外部リンク