行列式に対するライプニッツの明示公式

数学の線型代数学における行列式の明示公式 (英: explicit formula)あるいはライプニッツの公式 (英: Leibniz formula) とは、正方行列の行列式をその行列の成分と置換を用いて陽に表したものである。ゴットフリート・ライプニッツに敬意を表してこの名がある。 明示公式 n次正方行列 A に対して、その (i, j)成分を ai,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(n3) まで抑えられる—なぜならば、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-列ベクトルを aj ≔ (a j i )i=1,…,n  と書くことにする—すなわち A = (a1, …, an) である。同様に単位行列 I もその第 k-列を ek として I = (e1, …, en) と書く。 すると A の各列ベクトルは aj = ∑n k=1 a j k ek と書けるから、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 に対し、σ から添字 j1 と j2 を入れ替えて得られる置換を σ′ と書くことにすれば、右辺はさらに ∑ σ ∈ 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} と計算できる。 行列 余因子展開 クラメルの公式 ライプニッツの公式: 円周率に対するライプニッツの公式 Hazewinkel, Michiel, ed. (2001), “Determinant (id=12692)”, Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4, https://www.encyclopediaofmath.org/index.php?title=Determinant&oldid=12692  Trefethen, Lloyd N.; Bau, David (June 1, 1997). Numerical Linear Algebra. SIAM. ISBN 978-0898713619  Weisstein, Eric W. "Determinant". mathworld.wolfram.com (英語). determinant in nLab determinant - PlanetMath.（英語） Definition:Determinant at ProofWiki Suprunenko, D.A. (2001), “Determinant”, in Hazewinkel, Michiel, Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4, https://www.encyclopediaofmath.org/index.php?title=Determinant