線型代数学における余因子展開(よいんしてんかい、英: cofactor expansion)、あるいはピエール・シモン・ラプラスの名に因んでラプラス展開とは、n × n 行列 B の行列式 |B| の、n 個の B の (n − 1) × (n − 1) 小行列の行列式の重み付き和としての表示である。余因子展開は行列式を見るいくつかの方法の1つとして理論的に興味深いし、行列式の実際の計算においても有用である。
B の (i, j)-余因子(英語版)は次で定義されるスカラー Cij である:
ただし Mij は B の (i, j)-小行列式(英語版)、つまり、B から第 i 行と第 j 列をとり除いて得られる (n − 1) × (n − 1) 行列の行列式である。
すると余因子展開は次で与えられる:
定理 ― B = (bij) を n × n 行列とし、任意の i, j ∈ {1, 2, ..., n} を固定する。
するとその行列式 |B| は次で与えられる:
例
次の行列を考える:
この行列の行列式はその行あるいは列の任意の1つに沿った余因子展開を用いて計算できる。例えば、第1行に沿って展開すると:
第2列に沿って余因子展開すると同じ値となる:
結果が正しいことを確かめるのは易しい。実際、第1列と第3列を足すと第2列の2倍になるから行列は正則でなく、したがってその行列式は 0 である。
証明
B を n × n 行列とし、i, j ∈ {1, 2, ..., n} とする。簡単のため (i, j)-小行列 Mij をなす B の成分を と書く。bij を因子に持つ |B| の展開項を考えるとそれらは各々、τ(i) = j を満たす適当な置換 τ ∈ Sn に対する
の形に書くことができる。ここに τ と同じ小行列式成分をもつように選んだ σ ∈ Sn−1 は明らかに一意に定まり、同様に σ を選べば対応する τ が決まるから、それはつまり対応 σ ↔ τ は Sn−1 と {τ ∈ Sn | τ(i) = j} の間の全単射である。τ と σ の間の関係を陽に と書くことにする。ただし、(←)j は巡回置換 (n, n −1, …, j + 1, j) に関するこの場だけの省略記法で、j より大きなすべての添字を1つ減らす操作(したがって、すべての添字がきちんと集合 {1, 2, …, n − 1} に入る)を意味するものとする。
置換 τ は以下のようにして σ から導出される: 置換 σ′ ∈ Sn を σ′(k) = σ(k) (1 ≤ k ≤ n −1) かつ σ′(n) = n で定めると、σ′ は と表せる。いま、先に (←)i を施してから σ′ を施す操作は、(置換 A の後に B を施す操作は、置換の二行記法では、A の逆を B の上の行に施すことと同値であることに注意すれば) と書ける(ここで (←)i は (n, n − 1, …, i + 1, i) に関する省略記法である)。τ を施してから (←)j を施す操作は で、この2つの操作は一致するから、(←)jτ = σ′(←)i したがって τ = (→)jσ′(←)i を得る(ただし、(→)j は (←)j の逆である (j, j + 1, …, n) に対する省略記法である)。さて が得られたわけだが、ここに現れる2つの巡回置換はそれぞれ n − 1 個と n − j 個の互換の積にかけるから であり、また写像 σ ↔ τ が全単射であったから、 を得て、ここから所期の結果が従う。
補小行列式展開
余因子展開は次のように一般化できる。
例
行列
を考える。この行列の行列式は最初の2行に沿った余因子展開を用いて次のように計算できる。まず {1, 2, 3, 4} には2つの相異なる数の集合が6つあることに注意。すなわち
をそれらの集合とする。
補余因子を
- ,
と定義し、それらの置換の符号を
と定義することで、A の行列式は
と書き下せる。ただし H′ は H の補集合である。
我々の明示的な例でこれを計算すると次のようになる。
上と同様、結果が正しいことを確かめるのは容易である。実際、第1列と第3列を足すと第2列の2倍になるから行列は正則でなく、したがって行列式は 0 である。
一般の主張
B = (bij) を n × n 行列とし、S を {1, 2, …, n} の k 元部分集合全体の集合とし、H をその元とする。すると B の行列式は H によって指定される k 個の行に沿って次のように展開できる:
ただし εH,L は H と L によって決定される置換の符号で
に等しく、bH,L は B から添え字がそれぞれ H と L に属している行と列を除いて得られる B の正方部分行列で、cH,L(bH,L の補行列と呼ばれる)は bH′,L′ と定義される。ここで H′ と L′ はそれぞれ H と L の補集合である。
これは k = 1 のとき冒頭の定理と一致する。同じことは任意の固定された k 個の列に対しても成り立つ。
計算量
余因子展開は高次行列に対しては計算的に非効率的である。なぜならば N × N 行列に対して計算のオーダーは N! だからである。したがって、余因子展開は大きい N に対して適切ではない。LU分解にあるように三角行列への分解を用いて、行列式を N3/3 のオーダーで決定できる[1]。
関連項目
脚注
- ^ Stoer Bulirsch: Introduction to Numerical Mathematics
参考文献
外部リンク