本記事の内容
本記事は余因子、余因子展開と余因子行列について解説する記事です。
本記事を読むにあたり、行列式について知っている必要があるため、以下の記事も合わせてご覧ください。
本記事で言いたいこと
本記事で言いたいことは、
ということです。
ポップに書きましたが、ちゃんと書きますので、ご安心を。
余因子展開をサラッというと、
を指します。
ここで「んぉ?これ、前に似たようなことやらなかったか?」と思った方、鋭いです。
以前、行列式の性質として以下の性質を証明しました。
定理1.
|a11a12⋯a1n0a22⋯a2n⋮⋮⋱⋮0an2⋯ann|=a11|a22⋯a2n⋮⋱⋮an2⋯ann|この定理1.の証明は【線型代数学の基礎シリーズ】行列式編 その2を御覧ください。
これは確かにn次正方行列の行列式をn−1次正方行列の行列式に帰着しています。
ただ、これは第1列が(1,1)成分以外の成分がすべて0の場合でした。
ここで、「行列の行の順序を置換τによって変更すると、行列式はsgn(τ)倍になる。」という性質を思い出してみます。
定理2.
n∈N、A=(aij)をn次正方行列とする。このとき、2つの行を入れ替えると、行列式は−1倍になる。 すなわち、 i行→j行→|a11⋯a1n⋮⋮aj1⋯ajn⋮⋮ai1⋯ain⋮⋮an1⋯ann|=−|a11⋯a1n⋮⋮ai1⋯ain⋮⋮aj1⋯ajn⋮⋮an1⋯ann|←i行←j行この定理2.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。
さて、この定理2.と定理1.によって
|0a12⋯a1n0a22⋯a2n⋮⋮⋮ai1ai2⋯ain⋮⋮⋮0an2⋯ann|=−|ai1ai2⋯ain0a22⋯a2n⋮⋮⋮0a12⋯a1n⋮⋮⋮0an2⋯ann|=−ai1|a22⋯a2n⋮⋮a12⋯a1n⋮⋮an2⋯ann|
が成り立ちます。
従って、「第1列の(1,1)成分以外が0」という条件を弱めた主張が得られます。
つまり、「第1列の(i,1)成分以外が0のとき」の場合の主張が導けます。
これを更に一般化したのが余因子展開です。
つまり、「一般の行列に対して同じようなことができないかな?」ということの答えが余因子展開です。
余因子
ではまず、余因子行列について解説します。
余因子って何スか?
余因子を一言でいうと、
です。
「ナンジャソレ」となるかもしれませんので、明記してしまいます。
余因子
n∈N、n次正方行列A=(aij)から第i行と第j列を取り除いて得られたたn−1次正方行列をAijと書く。すなわち、Aijは j列目↓A=(a11⋯a1j⋯a1n⋮⋮⋮ai1⋯aij⋯ain⋮⋮⋮an1⋯anj⋯ann)←i行目 としたとき、第i行と第j列を取り除いて得られた行列 j列目を取り除いている ↓Aij=(a11⋯a1 j−1a1 j+1⋯a1n⋮⋮⋮⋮ai−1 1⋯ai−1 j−1ai−1 j+1⋯ai−1 nai+1 1⋯ai+1 j−1ai+1 j+1⋯ai+1 n⋮⋮⋮⋮an1⋯an j−1an j+1⋯ann)←i行目を取り除いている である。このとき、 ~aij=(−1)i+jdet(Aij) とおき、これを行列Aにおけるaijの余因子という。
ここで注意なのが、余因子というのはあくまで数(複素行列なら複素数、実行列なら実数)であって、行列ではありません。
正方行列の第i行および第j列に対して定められる数です。
余因子をチャラくいうと、
ということです。
ではこの余因子を計算してみましょう。
いっちょ計算してみっか
例3.
A=(12035−1467)
として、Aの余因子をいっちょ計算してみましょう。
- a11の余因子˜a11(第1行と第1列を抜いたとき)
A11=(5−167),˜a11=(−1)2det(A11)=35+6=41 - a12の余因子˜a12(第1行と第2列を抜いたとき)
A12=(3−147),˜a12=(−1)3det(A12)=−(21+4)=−25 - a13の余因子˜a13(第1行と第3列を抜いたとき)
A13=(3546),˜a13=(−1)4det(A13)=18−20=−2 - a21の余因子˜a21(第2行と第1列を抜いたとき)
A21=(2067),˜a21=(−1)3det(A21)=−(14−0)=−14 - a22の余因子˜a22(第2行と第2列を抜いたとき)
A22=(1047),˜a22=(−1)4det(A22)=7−0=7 - a23の余因子˜a23(第2行と第3列を抜いたとき)
A23=(1246),˜a23=(−1)5det(A23)=−(6−8)=2 - a31の余因子˜a31(第3行と第1列を抜いたとき)
A31=(205−1),˜a31=(−1)4det(A31)=−2−0=−2 - a32の余因子˜a32(第3行と第2列を抜いたとき)
A32=(103−1),˜a32=(−1)5det(A32)=−(−1)=1 - a33の余因子˜a33(第3行と第3列を抜いたとき)
A33=(1235),˜a33=(−1)6det(A33)=5−6=−1
このように、n次正方行列の余因子はn2個あります。
余因子展開(行編)
さて、いよいよ余因子展開の話をします。
なぜ余因子”展開”と言われるのか、ということが次の定理で分かるかと思います。
定理4.(余因子展開)
n∈N、A=(aij)をn次正方行列とする。また、˜aijをAにおけるaijの余因子とする。すなわち、Aの第i行と第j列を取り除いたn−1次正方行列をAijにより表したとき、 ˜aij=(−1)i+jdet(Aij) とする。このとき、以下が成り立つ。- ai1˜ai1+ai2˜ai2+⋯+ain˜ain=det(A)
- ai1˜ak1+ai2˜ak2+⋯+ain˜akn=0,(i≠k)
「ナンジャラホイ?」という具合かもしれませんので、サラッとこの定理4.の言いたいことを書き下します。
定理4.の主張をサラッと解説すると、
ということです。
これをより具体的に書いてみます。
|a11⋯a1j⋯a1n⋮⋮⋮ai1⋯aij⋯ain⋮⋮⋮an1⋯anj⋯ann|=(−1)i+1ai1|a12⋯a1j⋯a1n⋮⋮⋮ai−1 2⋯ai−1 j⋯ai−1 nai+1 2⋯ai+1 j⋯ai+1 n⋮⋮⋮an2⋯anj⋯ann|+(−1)i+2ai2|a11a13⋯a1j⋯a1n⋮⋮⋮⋮ai−1 1ai−1 3⋯ai−1 j⋯ai−1 nai+1 1ai+1 3⋯ai+1 j⋯ai+1 n⋮⋮⋮⋮an1an3⋯anj⋯ann|+⋯⋯+(−1)i+jaij|a11⋯a1 j−1a1 j+1⋯a1n⋮⋮⋮⋮ai−1 1⋯ai−1 j−1ai−1 j+1⋯ai−1 nai+1 1⋯ai+1 j−1ai+1 j+1⋯ai+1 n⋮⋮⋮⋮an1⋯an j−1an j+1⋯ann|+⋯⋯+(−1)i+nain|a11⋯a1j⋯a1 n−1⋮⋮⋮ai−1 1⋯ai−1 j⋯ai−1 n−1ai+1 1⋯ai+1 j⋯ai+1 n−1⋮⋮⋮an1⋯anj⋯an n−1|
ということです。
「んぉ?むしろわからん」となるかもしれませんので、図で説明します。


ということです。
では、証明に入りましょう!
定理4.の証明
n∈N、A=(aij)をn次正方行列として、
A=(a11⋯a1n⋮⋮an1⋯ann)
と書いたとします。
(1.の証明)
A=(aij)の第i行(ai1 ⋯ aij ⋯ ain)は、
(ai1 ⋯ aij ⋯ ain)=(ai1 0⋯0)+(0 ai2 0⋯0)+⋯+(0 ⋯ 0 ain)
というように、(i,j)成分以外が0のn個の行ベクトルの和で書くことができます。
従って、以下の定理を使うことができます。
定理5.
n∈N、A=(aij)をn次正方行列とする。Aの第i行が、2つの行ベクトルの和ならば、行列式は他の行は同じで、第i行は各々のベクトルを取った行列の行列式の和になる。 すなわち、 (∃i∈N;1≤i≤n) s.t. (ai1,…,ain)=(bi1+ci1,…,bin+cin) としたとき、 |a11⋯a1n⋮⋮bi1+ci1⋯bin+cin⋮⋮an1⋯ann|=|a11⋯a1n⋮⋮bi1⋯bin⋮⋮an1⋯ann|+|a11⋯a1n⋮⋮ci1⋯cin⋮⋮an1⋯ann| が成り立つ。定理5.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。
定理5.を繰り返し使えば、
det(A)=|a11⋯⋯⋯a1n⋮⋮ai10⋯⋯0⋮⋮an1⋯⋯⋯ann|+|a11⋯⋯⋯a1n⋮⋮0ai20⋯0⋮⋮an1⋯⋯⋯ann|+⋯⋯+|a11⋯⋯⋯a1n⋮⋮0⋯⋯0ain⋮⋮an1⋯⋯⋯ann|
となります。
この右辺のj番目を計算してみましょう。
右辺のj番目は次です。
|a11⋯⋯a1j⋯⋯a1n⋮⋮⋮0⋯0aij0⋯0⋮⋮⋮an1⋯⋯anj⋯⋯ann|
まず、この行列式の第i行を順に1つ上の行と入れ替える操作をして、第i行を第1行まで移動させます。
ここで、次の定理を思い出します。
定理6.
n∈N、A=(aij)をn次正方行列とする。このとき、2つの行を入れ替えると、行列式は−1倍になる。 すなわち、 i行→j行→|a11⋯a1n⋮⋮aj1⋯ajn⋮⋮ai1⋯ain⋮⋮an1⋯ann|=−|a11⋯a1n⋮⋮ai1⋯ain⋮⋮aj1⋯ajn⋮⋮an1⋯ann|←i行←j行定理6.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。
定理6.から1回の行の入れ替えの操作によって、行列式は−1倍になります。
故に第i行を第1行まで移動させるには、行の入れ替えの操作はi−1回行われるので、第i行が第1行に移動したときの行列式は(−1)i−1倍されます。
従って、
|a11⋯⋯a1j⋯⋯a1n⋮⋮⋮0⋯0aij0⋯0⋮⋮⋮an1⋯⋯anj⋯⋯ann|=(−1)i−1|0⋯0aij0⋯0⋮⋮⋮a11⋯⋯a1j⋯⋯a1n⋮⋮⋮an1⋯⋯anj⋯⋯ann|
次に、先ほどと同様に第j列を1つ左の列と入れ替える操作によって第1列まで移動させます。
このとき、次の定理を使います。
定理7.
n∈N、A=(aij)をn次正方行列とする。Aの各列の順序を置換τによって変更すると、行列式はsgn(τ)になる。すなわち、 τ=(12⋯nk1k2⋯kn) としたとき、 |a1k1a2k1⋯ank1a1k2a2k2⋯ank2⋮⋮⋱⋮a1kna2kn⋯ankn|=sgn(τ)|a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann|=sgn(τ)⋅det(A) が成り立つ。定理7.の証明は【線型代数学の基礎シリーズ】行列式編 その4を御覧ください。
定理7.から1回の列の入れ替えの操作によって、行列式は−1倍になります。
故に第j列を第1列まで移動させるには、列の入れ替えの操作はj−1回行われるので、第j列が第1列に移動したときの行列式は(−1)j−1倍されます。
故に、
(−1)i−1|0⋯0aij0⋯0⋮⋮⋮a11⋯⋯a1j⋯⋯a1n⋮⋮⋮an1⋯⋯anj⋯⋯ann|=(−1)i+j−2|aij0⋯00⋯0a1ja11⋯a1 j−1a1 j+1⋯a1n⋮⋮⋮⋮⋮ai−1 jai−1 1⋯ai−1 j−1ai−1 j+1⋯ai−1 nai+1 jai+1 1⋯ai+1 j−1ai+1 j+1⋯ai+1 n⋮⋮⋮⋮⋮anjan1⋯an j−1an j+1⋯ann|
となります。
ここで、次の定理を使います。
定理8.
行列の行と列を入れ替えても行列式の値は変わらない。すなわち、n∈N、A=(aij)をn次正方行列とするとき、 det(A⊤)=det(A) が成り立つ。 言い換えれば、行列式は転置により不変である。定理8.の証明は【線型代数学の基礎シリーズ】行列式編 その4を御覧ください。
定理8.により、行列式は転置しても不変なので、
(−1)i+j−2|aij0⋯00⋯0a1ja11⋯a1 j−1a1 j+1⋯a1n⋮⋮⋮⋮⋮ai−1 jai−1 1⋯ai−1 j−1ai−1 j+1⋯ai−1 nai+1 jai+1 1⋯ai+1 j−1ai+1 j+1⋯ai+1 n⋮⋮⋮⋮⋮anjan1⋯an j−1an j+1⋯ann|=(−1)i+j−2|aija1j⋯ai−1 jai+1 j⋯anj0a11⋯ai−1 1ai+1 1⋯an1⋮⋮⋮⋮⋮0a1 j−1⋯ai−1 j−1ai+1 j−1⋯an j−10a1 j+1⋯ai−1 j+1ai+1 j+1⋯an j+1⋮⋮⋮⋮⋮0a1n⋯ai−1 nai+1 n⋯ann|
となります。
ここで定理1.から、
(−1)i+j−2|aija1j⋯ai−1 jai+1 j⋯anj0a11⋯ai−1 1ai+1 1⋯an1⋮⋮⋮⋮⋮0a1 j−1⋯ai−1 j−1ai+1 j−1⋯an j−10a1 j+1⋯ai−1 j+1ai+1 j+1⋯an j+1⋮⋮⋮⋮⋮0a1n⋯ai−1 nai+1 n⋯ann|=(−1)i+j−2aij|a11⋯ai−1 1ai+1 1⋯an1⋮⋮⋮⋮a1 j−1⋯ai−1 j−1ai+1 j−1⋯an j−1a1 j+1⋯ai−1 j+1ai+1 j+1⋯an j+1⋮⋮⋮⋮a1n⋯ai−1 nai+1 n⋯ann|
です。
再度定理8.を使い、(−1)i+j−2=(−1)i+j×(−1)−2=(−1)i+j×1=(−1)i+jに注意すると、
(−1)i+j−2aij|a11⋯ai−1 1ai+1 1⋯an1⋮⋮⋮⋮a1 j−1⋯ai−1 j−1ai+1 j−1⋯an j−1a1 j+1⋯ai−1 j+1ai+1 j+1⋯an j+1⋮⋮⋮⋮a1n⋯ai−1 nai+1 n⋯ann|=(−1)i+jaij|a11⋯a1 j−1a1 j+1⋯a1n⋮⋮⋮⋮ai−1 1⋯ai−1 j−1ai−1 j+1⋯ai−1 nai+1 1⋯ai+1 j−1ai+1 j+1⋯ai+1 n⋮⋮⋮⋮an1⋯an j−1an j+1⋯ann|
となります。
この右辺の行列式を見てみると、Aから第i行と第j列を取り除いた行列の行列式ですので、det(Aij)を意味しています。
従って、
(−1)i+jaij|a11⋯a1 j−1a1 j+1⋯a1n⋮⋮⋮⋮ai−1 1⋯ai−1 j−1ai−1 j+1⋯ai−1 nai+1 1⋯ai+1 j−1ai+1 j+1⋯ai+1 n⋮⋮⋮⋮an1⋯an j−1an j+1⋯ann|=(−1)i+jaijdet(Aij)=aij(−1)i+jdet(Aij)=aij˜aij
となります。
以上のことをまとめれば、
|a11⋯⋯a1j⋯⋯a1n⋮⋮⋮0⋯0aij0⋯0⋮⋮⋮an1⋯⋯anj⋯⋯ann|=aij˜aij_
です。
この等式はj=1,2,…,nに対して成り立ちます。
今、どういう状況だったかを思い出すと、
det(A)=|a11⋯⋯⋯a1n⋮⋮ai10⋯⋯0⋮⋮an1⋯⋯⋯ann|+|a11⋯⋯⋯a1n⋮⋮0ai20⋯0⋮⋮an1⋯⋯⋯ann|+⋯⋯+|a11⋯⋯⋯a1n⋮⋮0⋯⋯0ain⋮⋮an1⋯⋯⋯ann|
でした。
そして、この等式における第j列目の部分をピックアップして考えました。
従って、
- 1列目
|a11⋯⋯⋯a1n⋮⋮ai10⋯⋯0⋮⋮an1⋯⋯⋯ann|=ai1˜ai1 - 2列目
|a11⋯⋯⋯a1n⋮⋮0ai20⋯0⋮⋮an1⋯⋯⋯ann|=ai2˜ai2
⋮ - n列目
|a11⋯⋯⋯a1n⋮⋮0⋯⋯0ain⋮⋮an1⋯⋯⋯ann|=ain˜ain
となるわけですので、
ai1˜ai1+ai2˜ai2+⋯+ain˜ain=det(A)
が成り立ちます。
いやあ、疲れましたね。
書いている筆者も疲れちゃいました。
ここで一服しましょう。
終わりましたか?
では続きを行きましょう!
(2.の証明)
「1.の証明が長すぎて覚えてねえよ」と思いますので、再掲します。
ai1˜ak1+ai2˜ak2+⋯+ain˜akn=0,(i≠k)
これを示します。
行列Aとk(≠i)に対して、第k行以外はAと同じで、第k行を第i行で置き換えた行列をB=(bij)とします。
すなわち、
B=(a11⋯a1n⋮⋮ai1⋯ain⋮⋮ai1⋯ain⋮⋮an1⋯ann)←i行←k行
とします。
この行列Bの第i行と第k行は一致しているので、次の命題を使います。
命題.
2つの行が等しい行列の行列式は0である。この命題9.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。
命題9.により、det(B)=0です。
また、行列Aとk(≠i)に対して、第k行以外はAと同じで、第k行を第i行で置き換えた行列がB=(bij)なのですから、任意のj=1,2,…,nに対して
Bkj=Akj,bkj=akj
が成り立ちます。
この第1式から、
˜bkj=(−1)k+jdet(Bkj)=(−1)k+jdet(Akj)=˜akj
従って、1.を使うと、
bk1˜bk1+bk2˜bk2+⋯+bkn˜bkn=det(B)=0
です。
故に、
˜bkj=˜akj,bkj=akj
を使うと、
ai1˜ak1+ai2˜ak2+⋯+ain˜akn=det(A),(i≠k)
が得られます。
定理4.の証明終わり
余因子展開(列編)
列についての余因子展開もありますが、本質的には行の余因子展開と同じですので、証明は省略します。
行の余因子展開においてi行の部分をj列にすれば全く同じように証明できます。
定理10.(列の余因子展開)
n∈N、A=(aij)をn次正方行列とする。また、˜aijをAにおけるaijの余因子とする。すなわち、Aの第i行と第j列を取り除いたn−1次正方行列をAijにより表したとき、 ˜aij=(−1)i+jdet(Aij) とする。このとき、以下が成り立つ。- a1j˜a1j+a2j˜a2j+⋯+anj˜anj=det(A)
- a1j˜a1k+a2j˜a2k+⋯+anj˜ank=0,(i≠k)
いっちょ、余因子展開を使ってみっか
使ってみましょう。
例3.
A=(12035−1467)
として、Aの行列式を余因子展開により求めてみましょう。
まず、det(A)はサラスの方法からdet(A)=−9となります。
サラスの方法とは以下でした。

さて、Aの各aijに対する余因子はすでに求めてありますので、それを使います。
a11˜a11+a12˜a12+a13˜a13=1×41+2×(−25)+0×(−2)=41−50=−9=det(A)
確かに成り立ちました。
余因子行列
余因子行列は一言で言えば、
です。
この余因子行列は行列の逆行列を求める際に重要な役割を果たします。
余因子行列
n∈N、A=(aij)をn次正方行列とする。このとき、aijの余因子˜aijを成分とする行列 (˜a11˜a12⋯˜a1n˜a21˜a22⋯˜a2n⋮⋮⋱⋮˜an1˜an2⋯˜ann) の転置行列 ˜A=(˜a11˜a21⋯˜an1˜a12˜a22⋯˜an2⋮⋮⋱⋮˜a1n˜a2n⋯˜ann) をAの余因子行列という。筆者もよく間違えちゃいましたが、余因子行列は、余因子を成分とする行列を転置した行列です。
次の定理は行列の逆行列を求めるにあたって重要なステップとなる定理です。
定理11.
n∈N、A=(aij)をn次正方行列、˜AをAの余因子行列とする。 このとき、次が成り立つ。 A˜A=A˜A=(det(A)O⋱Odet(A))=det(A)(1O⋱O1)=det(A)In ただし、Inはn次の単位行列である。これはとてつもない事実です。
というもの、det(A)≠0であれば、
A(1det(A)˜A)=(1det(A)˜A)A=In
が成り立つわけですので、1det(A)˜AがAの逆行列となるわけです。
定理11.の証明
n∈N、Aをn次正方行列、˜AをAの余因子行列として、
A=(a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann),˜A=(˜a11˜a21⋯˜an1˜a12˜a22⋯˜an2⋮⋮⋱⋮˜a1n˜a2n⋯˜ann)
と書いたとします。
このとき、A˜Aは
A˜A=(a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann)(˜a11˜a21⋯˜an1˜a12˜a22⋯˜an2⋮⋮⋱⋮˜a1n˜a2n⋯˜ann)=(n∑h=1a1h˜a1hn∑h=1a1h˜a2h⋯n∑h=1a1h˜anhn∑h=1a2h˜a1hn∑h=1a2h˜a2h⋯n∑h=1a2h˜anh⋮⋮⋱⋮n∑h=1anh˜a1hn∑h=1anh˜a2h⋯n∑h=1anh˜anh)
です。
この行列の第(i,k)成分は
n∑h=1aih˜akh
です。
ここで、定理4.により、
n∑h=1aih˜akh={det(A)(i=k)0(i≠k)
です。
故に、
A˜A=(1O⋱O1)=det(A)In
が成り立ちます。
同様にして、˜AAの第(ik)成分は、
n∑h=1˜ahiahk
です。
これもまた定理4.により、
n∑h=1˜ahiahk={det(A)(i=k)0(i≠k)
です。
従って、
˜AA=(1O⋱O1)=det(A)In
となるため、成り立ちます。
定理11.の証明終わり
結
今回は余因子、余因子展開、余因子行列について解説しました。
また、余因子展開は行列式を求めるにあたって重要な事実で、余因子行列は逆行列を求めるにあたって重要な概念です。
それ故、余因子は線型代数の中で非常の重要な位置を占めています。
次回は正則行列の必要十分条件、すなわち逆行列が存在するための必要十分条件について解説します。
乞うご期待!質問、コメントなどお待ちしております!
コメントをする