余因子展開

曖昧さ回避 この項目では、行列式の展開について説明しています。ポテンシャルの展開については「ラプラス展開 (ポテンシャル)(英語版)」をご覧ください。

数学線型代数学における余因子展開(よいんしてんかい、: cofactor expansion)、あるいはピエール・シモン・ラプラスの名に因んでラプラス展開とは、n正方行列 A行列式 |A| の、n 個の A(n − 1)小行列式の重み付き和としての表示である。余因子展開は行列式を見るいくつかの方法の一つとして理論的に興味深く、行列式の実際の計算においても有用である。

A(i, j)余因子(英語版)とは、次で定義されるスカラーである:

a ~ i , j = ( 1 ) i + j M i , j {\displaystyle {\widetilde {a}}_{i,j}=(-1)^{i+j}M_{i,j}}

ここで Mi,jA(i, j)小行列式、つまり、A から第i行と第j列を除いて得られる (n − 1)小正方行列の行列式である。

すると余因子展開は次で与えられる:

定理 ― A = (ai,j)n次正方行列とし、任意の i, j ∈ {1, 2, …, n} を固定する。

するとその行列式 |A| は次で与えられる:

| A | = a i , 1 a ~ i , 1 + a i , 2 a ~ i , 2 + + a i , n a ~ i , n = j = 1 n a i , j a ~ i , j = a 1 , j a ~ 1 j + a 2 , j a ~ 2 , j + + a n , j a ~ n , j = i = 1 n a i , j a ~ i , j {\displaystyle {\begin{aligned}|A|&=a_{i,1}{\widetilde {a}}_{i,1}+a_{i,2}{\widetilde {a}}_{i,2}+\cdots +a_{i,n}{\widetilde {a}}_{i,n}=\textstyle \sum \limits _{j'=1}^{n}a_{i,j'}{\widetilde {a}}_{i,j'}\\&=a_{1,j}{\widetilde {a}}_{1j}+a_{2,j}{\widetilde {a}}_{2,j}+\cdots +a_{n,j}{\widetilde {a}}_{n,j}=\textstyle \sum \limits _{i'=1}^{n}a_{i',j}{\widetilde {a}}_{i',j}\end{aligned}}}

次の行列式の余因子展開を考える:

| A | = | 1 2 3 4 5 6 7 8 9 | {\displaystyle |A|={\begin{vmatrix}1&2&3\\4&5&6\\7&8&9\end{vmatrix}}}

行列式はその1つの行あるいは列に沿って余因子展開し計算することができる。例えば、第1行に沿って展開すると:

| A | = 1 | 5 6 8 9 | 2 | 4 6 7 9 | + 3 | 4 5 7 8 | = 1 ( 3 ) 2 ( 6 ) + 3 ( 3 ) = 0 {\displaystyle {\begin{aligned}|A|&=1\cdot {\begin{vmatrix}5&6\\8&9\end{vmatrix}}-2\cdot {\begin{vmatrix}4&6\\7&9\end{vmatrix}}+3\cdot {\begin{vmatrix}4&5\\7&8\end{vmatrix}}\\&=1\cdot (-3)-2\cdot (-6)+3\cdot (-3)=0\end{aligned}}}

第2列に沿って余因子展開すると次のようになる:

| A | = 2 | 4 6 7 9 | + 5 | 1 3 7 9 | 8 | 1 3 4 6 | = 2 ( 6 ) + 5 ( 12 ) 8 ( 6 ) = 0 {\displaystyle {\begin{aligned}|A|&=-2\cdot {\begin{vmatrix}4&6\\7&9\end{vmatrix}}+5\cdot {\begin{vmatrix}1&3\\7&9\end{vmatrix}}-8\cdot {\begin{vmatrix}1&3\\4&6\end{vmatrix}}\\&=-2\cdot (-6)+5\cdot (-12)-8\cdot (-6)=0\end{aligned}}}

結果が正しいことを確かめるのは易しい。実際、第1列と第3列を足すと第2列の2倍になるから行列は正則でなく、したがってその行列式は 0 である。

証明

置換による証明

An次正方行列とし、i, j ∈ {1, 2, …, n} を固定する。A(i, j)小行列 Mi,j の成分を簡単のため ( b s , t ) 1 s , t n 1 {\displaystyle (b_{s,t})_{1\leq s,t\leq n-1}} と書く。ai,j を因子に持つ |A| の展開項を考えると、それは σ(i) = j を満たす適当な置換 σSn により

( sgn σ ) a 1 , σ ( 1 ) a i , j a n , σ ( n ) = ( sgn σ ) a i , j b 1 , τ ( 1 ) b n 1 , τ ( n 1 ) {\displaystyle (\operatorname {sgn} \sigma )\,a_{1,\sigma (1)}\cdots a_{i,j}\cdots a_{n,\sigma (n)}=(\operatorname {sgn} \sigma )\,a_{i,j}\,b_{1,\tau (1)}\cdots b_{n-1,\tau (n-1)}}

と表すことができる。ここで τSn−1 は行列式の展開項が等しくなるように σ から導かれるものであり、対応 τσSn−1{σSn  |  σ(i) = j} の間の全単射である。τσ で次のように表せる:

τ = [ 1 i 1 i n 1 ( ) j σ ( 1 ) ( ) j σ ( i 1 ) ( ) j σ ( i + 1 ) ( ) j σ ( n ) ] {\displaystyle \tau ={\begin{bmatrix}1&\cdots &i-1&i&\cdots &n-1\\(\leftarrow )_{j}\sigma (1)&\cdots &(\leftarrow )_{j}\sigma (i-1)&(\leftarrow )_{j}\sigma (i+1)&\cdots &(\leftarrow )_{j}\sigma (n)\end{bmatrix}}}

ただし、(←)j はこの場だけの省略記法で、巡回置換 (n, n − 1, …, j + 1, j) を表すものとする。つまり、j より大きい番号は 1 ずつ減らし、jn に写す置換(したがって、τ の像がきちんと集合 {1, 2, …, n − 1} になる)を意味するものとする。

τ からもとの σ を以下のようにして導出することができる:τSn−1τ′Sn に拡張すると(このとき τ′(n) = n にならざるを得ない)、

τ = [ 1 i 1 i n 1 n ( ) j σ ( 1 ) ( ) j σ ( i 1 ) ( ) j σ ( i + 1 ) ( ) j σ ( n ) n ] {\displaystyle \tau '={\begin{bmatrix}1&\cdots &i-1&i&\cdots &n-1&n\\(\leftarrow )_{j}\sigma (1)&\cdots &(\leftarrow )_{j}\sigma (i-1)&(\leftarrow )_{j}\sigma (i+1)&\cdots &(\leftarrow )_{j}\sigma (n)&n\end{bmatrix}}}

と表せる。このとき、先に (←)i(これは巡回置換 (n, n − 1, …, i + 1, i) のことである)を施してから τ′ を施す置換 τ′(←)i も、σ を施してから (←)j を施す置換 (←)jσ も、どちらも次の置換になる:

[ 1 i 1 i i + 1 n ( ) j σ ( 1 ) ( ) j σ ( i 1 ) n ( ) j σ ( i + 1 ) ( ) j σ ( n ) ] {\displaystyle {\begin{bmatrix}1&\cdots &i-1&i&i+1&\cdots &n\\(\leftarrow )_{j}\sigma (1)&\cdots &(\leftarrow )_{j}\sigma (i-1)&n&(\leftarrow )_{j}\sigma (i+1)&\cdots &(\leftarrow )_{j}\sigma (n)\end{bmatrix}}}

したがって (←)jσ = τ′(←)i, 故に σ = (→)jτ′(←)i を得る(ただし、(→)j(←)j の逆置換である (j, j + 1, …, n) を表すとする)。故に

σ = ( j , j + 1 , , n ) τ ( n , n 1 , , i ) {\displaystyle \sigma =(j,j+1,\cdots ,n)\tau '(n,n-1,\cdots ,i)}

ここに現れる2つの巡回置換はそれぞれ ni個と nj個の互換の積で表せるから

sgn σ = ( 1 ) 2 n ( i + j ) sgn τ = ( 1 ) i + j sgn τ {\displaystyle \operatorname {sgn} \sigma =(-1)^{2n-(i+j)}\operatorname {sgn} \tau '=(-1)^{i+j}\operatorname {sgn} \tau }

であり、また写像 τσ が全単射であったから、

σ S n σ ( i ) = j ( sgn σ ) a 1 , σ ( 1 ) a n , σ ( n ) = τ S n 1 ( 1 ) i + j ( sgn τ ) a i , j b 1 , τ ( 1 ) b n 1 , τ ( n 1 ) = a i , j ( 1 ) i + j | M i , j | = a i , j a ~ i , j {\displaystyle {\begin{aligned}\textstyle \sum \limits _{\scriptstyle \sigma \in S_{n} \atop \scriptstyle \sigma (i)=j}(\operatorname {sgn} \sigma )\,a_{1,\sigma (1)}\cdots a_{n,\sigma (n)}&=\textstyle \sum \limits _{\tau \in S_{n-1}}(-1)^{i+j}(\operatorname {sgn} \tau )\,a_{i,j}\,b_{1,\tau (1)}\cdots b_{n-1,\tau (n-1)}\\&=a_{i,j}(-1)^{i+j}\left|M_{i,j}\right|\\&=a_{i,j}\,{\widetilde {a}}_{i,j}\end{aligned}}}

となり、ここから所期の結果が得られる。(証明終)

多重線形交代性による証明

n次正方行列 A = (ai,j) の行列式を、第j列に沿って展開することを考える。

det A = | a 1 , 1 a 1 , j a 1 , n a i , 1 a i , j a i , n a n , 1 a n , j a n , n | = i = 1 n a i , j | a 1 , 1 0 a 1 , n a i , 1 1 a i , n a n , 1 0 a n , n | = i = 1 n a i , j ( 1 ) ( i 1 ) + ( j 1 ) | 1 0 0 ˘ 0 0 a 1 , 1 a ˘ 1 , j a 1 , n 0 ˘ a ˘ i , 1 a ˘ i , j a ˘ i , n 0 a n , 1 a ˘ n , j a n , n | = i = 1 n a i , j ( 1 ) i + j | a 1 , 1 a ˘ 1 , j a 1 , n a ˘ i , 1 a ˘ i , j a ˘ i , n a n , 1 a ˘ n , j a n , n | = i = 1 n a i , j a ~ i , j {\displaystyle {\begin{aligned}\det A&={\begin{vmatrix}a_{1,1}&\cdots &a_{1,j}&\cdots &a_{1,n}\\\vdots &&\vdots &&\vdots \\a_{i,1}&\cdots &a_{i,j}&\cdots &a_{i,n}\\\vdots &&\vdots &&\vdots \\a_{n,1}&\cdots &a_{n,j}&\cdots &a_{n,n}\\\end{vmatrix}}\\&\\&=\textstyle \sum \limits _{i=1}^{n}\,a_{i,j}\,{\begin{vmatrix}a_{1,1}&\cdots &0&\cdots &a_{1,n}\\\vdots &&\vdots &&\vdots \\a_{i,1}&\cdots &1&\cdots &a_{i,n}\\\vdots &&\vdots &&\vdots \\a_{n,1}&\cdots &0&\cdots &a_{n,n}\\\end{vmatrix}}\\&\\&=\textstyle \sum \limits _{i=1}^{n}\,a_{i,j}\,\cdot (-1)^{(i-1)+(j-1)}\,{\begin{vmatrix}\;1&0&\cdots &{\breve {0}}&\cdots &0\\\;0&a_{1,1}&\cdots &{\breve {a}}_{1,j}&\cdots &a_{1,n}\\\;\vdots &\vdots &&\vdots &&\vdots \\\;{\breve {0}}&{\breve {a}}_{i,1}&\cdots &{\breve {a}}_{i,j}&\cdots &{\breve {a}}_{i,n}\\\;\vdots &\vdots &&\vdots &&\vdots \\\;0&a_{n,1}&\cdots &{\breve {a}}_{n,j}&\cdots &a_{n,n}\\\end{vmatrix}}\\&\\&=\textstyle \sum \limits _{i=1}^{n}\,a_{i,j}\,\cdot (-1)^{i+j}\,{\begin{vmatrix}a_{1,1}&\cdots &{\breve {a}}_{1,j}&\cdots &a_{1,n}\\\vdots &&\vdots &&\vdots \\{\breve {a}}_{i,1}&\cdots &{\breve {a}}_{i,j}&\cdots &{\breve {a}}_{i,n}\\\vdots &&\vdots &&\vdots \\a_{n,1}&\cdots &{\breve {a}}_{n,j}&\cdots &a_{n,n}\\\end{vmatrix}}\\&=\textstyle \sum \limits _{i=1}^{n}a_{i,j}\,{\widetilde {a}}_{i,j}\quad \blacksquare \end{aligned}}}

i行に沿う展開も同様である。(証明終)

補小行列式展開

余因子展開は次のように一般化できる。

正方行列

A = [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ] {\displaystyle A={\begin{bmatrix}1&2&3&4\\5&6&7&8\\9&10&11&12\\13&14&15&16\end{bmatrix}}}

を考える。この行列の行列式は最初の2行に沿った余因子展開を用いて次のように計算できる。まず {1, 2, 3, 4} には2つの相異なる数の集合が6つあることに注意。すなわち

S = { { 1 , 2 } , { 1 , 3 } , { 1 , 4 } , { 2 , 3 } , { 2 , 4 } , { 3 , 4 } } {\displaystyle S=\left\{\{1,2\},\{1,3\},\{1,4\},\{2,3\},\{2,4\},\{3,4\}\right\}}

をそれらの集合とする。

補余因子を

b { j , k } = | a 1 j a 1 k a 2 j a 2 k | {\displaystyle b_{\{j,k\}}={\begin{vmatrix}a_{1j}&a_{1k}\\a_{2j}&a_{2k}\end{vmatrix}}}
c { j , k } = | a 3 j a 3 k a 4 j a 4 k | {\displaystyle c_{\{j,k\}}={\begin{vmatrix}a_{3j}&a_{3k}\\a_{4j}&a_{4k}\end{vmatrix}}}

と定義し、それらの置換の符号を

ε { i , j } , { p , q } = sgn [ 1 2 3 4 i j p q ] {\displaystyle \varepsilon ^{\{i,j\},\{p,q\}}=\operatorname {sgn} {\begin{bmatrix}1&2&3&4\\i&j&p&q\end{bmatrix}}}

と定義することで、A の行列式は

| A | = H S ε H , H b H c H {\displaystyle |A|=\sum _{H\in S}\varepsilon ^{H,H'}b_{H}c_{H'}}

と書き下せる。ただし H′H の補集合である。

我々の明示的な例でこれを計算すると次のようになる。

| A | = b { 1 , 2 } c { 3 , 4 } b { 1 , 3 } c { 2 , 4 } + b { 1 , 4 } c { 2 , 3 } + b { 2 , 3 } c { 1 , 4 } b { 2 , 4 } c { 1 , 3 } + b { 3 , 4 } c { 1 , 2 } = | 1 2 5 6 | | 11 12 15 16 | | 1 3 5 7 | | 10 12 14 16 | + | 1 4 5 8 | | 10 11 14 15 | + | 2 3 6 7 | | 9 12 13 16 | | 2 4 6 8 | | 9 11 13 15 | + | 3 4 7 8 | | 9 10 13 14 | = 4 ( 4 ) ( 8 ) ( 8 ) + ( 12 ) ( 4 ) + ( 4 ) ( 12 ) ( 8 ) ( 8 ) + ( 4 ) ( 4 ) = 16 64 + 48 + 48 64 + 16 = 0 {\displaystyle {\begin{aligned}|A|&=b_{\{1,2\}}c_{\{3,4\}}-b_{\{1,3\}}c_{\{2,4\}}+b_{\{1,4\}}c_{\{2,3\}}+b_{\{2,3\}}c_{\{1,4\}}-b_{\{2,4\}}c_{\{1,3\}}+b_{\{3,4\}}c_{\{1,2\}}\\&={\begin{vmatrix}1&2\\5&6\end{vmatrix}}\cdot {\begin{vmatrix}11&12\\15&16\end{vmatrix}}-{\begin{vmatrix}1&3\\5&7\end{vmatrix}}\cdot {\begin{vmatrix}10&12\\14&16\end{vmatrix}}+{\begin{vmatrix}1&4\\5&8\end{vmatrix}}\cdot {\begin{vmatrix}10&11\\14&15\end{vmatrix}}\\&\quad +{\begin{vmatrix}2&3\\6&7\end{vmatrix}}\cdot {\begin{vmatrix}9&12\\13&16\end{vmatrix}}-{\begin{vmatrix}2&4\\6&8\end{vmatrix}}\cdot {\begin{vmatrix}9&11\\13&15\end{vmatrix}}+{\begin{vmatrix}3&4\\7&8\end{vmatrix}}\cdot {\begin{vmatrix}9&10\\13&14\end{vmatrix}}\\&=-4\cdot (-4)-(-8)\cdot (-8)+(-12)\cdot (-4)+(-4)\cdot (-12)-(-8)\cdot (-8)+(-4)\cdot (-4)\\&=16-64+48+48-64+16=0\end{aligned}}}

上と同様、結果が正しいことを確かめるのは容易である。実際、第1列と第3列を足すと第2列の2倍になるから行列は正則でなく、したがって行列式は 0 である。

一般の主張

B = (bij)n次正方行列とし、S{1, 2, …, n}k 元部分集合全体の集合とし、H をその元とする。すると B の行列式は H によって指定される k 個の行に沿って次のように展開できる:

| B | = L S ε H , L b H , L c H , L {\displaystyle |B|=\textstyle \sum \limits _{L\in S}\varepsilon ^{H,L}b_{H,L}c_{H,L}}

ただし εH,LHL によって決定される置換の符号で

( 1 ) h H h + L {\displaystyle (-1)^{\sum \limits _{h\in H}h+\sum \limits _{\ell \in L}\ell }}

に等しく、bH,LB から添え字がそれぞれ HL に属している行と列を除いて得られる B の正方部分行列で、cH,LbH,L の補行列と呼ばれる)は bH′,L と定義される。ここで H'L' はそれぞれ HL の補集合である。

これは k = 1 のとき冒頭の定理と一致する。同じことは任意の固定された k 個の列に対しても成り立つ。

計算量

余因子展開は高次行列に対しては計算的に非効率的である。なぜならば N次正方行列に対して計算のオーダーは N! だからである。したがって、余因子展開は大きい N に対して適切ではない。LU分解にあるように三角行列への分解を用いて、行列式を N3/3 のオーダーで決定できる[1]

関連項目

脚注

  1. ^ Stoer Bulirsch: Introduction to Numerical Mathematics

参考文献

  • David Poole: Linear Algebra. A Modern Introduction. Cengage Learning 2005, ISBN 0-534-99845-3, p. 265-267 (restricted online copy, p. 265, - Google ブックス)
  • Harvey E. Rose: Linear Algebra. A Pure Mathematical Approach. Springer 2002, ISBN 3-7643-6905-1, p. 57-60 (restricted online copy, p. 57, - Google ブックス)

外部リンク

  • cofactor expansion - PlanetMath.(英語)
  • Weisstein, Eric W. "Determinant Expansion by Minors". mathworld.wolfram.com (英語).
連立一次方程式
ベクトル
ベクトル空間
計量ベクトル空間
行列線型写像
演算・操作
不変量
クラス
行列式
多重線型代数
数値線形代数
基本的な概念
ソフトウェア
ライブラリ
反復法・技法
人物
行列値関数
その他
カテゴリ カテゴリ