Processing math: 100%
スポンサーリンク

「余因子、余因子展開、余因子行列」【線型代数学の基礎シリーズ】行列式編 その5

線型代数学

本記事の内容

本記事は余因子、余因子展開と余因子行列について解説する記事です。
本記事を読むにあたり、行列式について知っている必要があるため、以下の記事も合わせてご覧ください。

本記事で言いたいこと

本記事で言いたいことは、

行列式の計算に置いて余因子展開ってすげぇんだZE

ということです。
ポップに書きましたが、ちゃんと書きますので、ご安心を。

余因子展開をサラッというと、

n次正方行列の行列式をn1次正方行列の行列式に帰着させる方法

を指します。

ここで「んぉ?これ、前に似たようなことやらなかったか?」と思った方、鋭いです。
以前、行列式の性質として以下の性質を証明しました。

定理1.

|a11a12a1n0a22a2n0an2ann|=a11|a22a2nan2ann|

この定理1.の証明は【線型代数学の基礎シリーズ】行列式編 その2を御覧ください。

これは確かにn次正方行列の行列式をn1次正方行列の行列式に帰着しています。
ただ、これは第1列が(1,1)成分以外の成分がすべて0の場合でした。

ここで、「行列の行の順序を置換τによって変更すると、行列式はsgn(τ)倍になる。」という性質を思い出してみます。

定理2.

nNA=(aij)n次正方行列とする。このとき、2つの行を入れ替えると、行列式は1倍になる。 すなわち、 ij|a11a1naj1ajnai1ainan1ann|=|a11a1nai1ainaj1ajnan1ann|ij

この定理2.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。

さて、この定理2.定理1.によって
|0a12a1n0a22a2nai1ai2ain0an2ann|=|ai1ai2ain0a22a2n0a12a1n0an2ann|=ai1|a22a2na12a1nan2ann|
が成り立ちます。
従って、「第1列の(1,1)成分以外が0」という条件を弱めた主張が得られます。
つまり、「第1列の(i,1)成分以外が0のとき」の場合の主張が導けます。

これを更に一般化したのが余因子展開です。
つまり、「一般の行列に対して同じようなことができないかな?」ということの答えが余因子展開です。

余因子

ではまず、余因子行列について解説します。

余因子って何スか?

余因子を一言でいうと、

n次正方行列の第i行と第j列を取り除いて得られるn1次正方行列の行列式に符号を付けたもの。

です。

「ナンジャソレ」となるかもしれませんので、明記してしまいます。

余因子

nNn次正方行列A=(aij)から第i行と第j列を取り除いて得られたたn1次正方行列をAijと書く。すなわち、AijjA=(a11a1ja1nai1aijainan1anjann)i としたとき、第i行と第j列を取り除いて得られた行列    j   Aij=(a11a1 j1a1 j+1a1nai1 1ai1 j1ai1 j+1ai1 nai+1 1ai+1 j1ai+1 j+1ai+1 nan1an j1an j+1ann)i である。
 このとき、 ~aij=(1)i+jdet(Aij) とおき、これを行列Aにおけるaij余因子という。

ここで注意なのが、余因子というのはあくまで数(複素行列なら複素数、実行列なら実数)であって、行列ではありません。
正方行列の第i行および第j列に対して定められるです。

余因子をチャラくいうと、

正方行列から第i行と第j列を引っこ抜いた行列の行列式の値。

ということです。

ではこの余因子を計算してみましょう。

いっちょ計算してみっか

例3.
A=(120351467)
として、Aの余因子をいっちょ計算してみましょう。

  • a11の余因子˜a11(第1行と第1列を抜いたとき)
    A11=(5167),˜a11=(1)2det(A11)=35+6=41
  • a12の余因子˜a12(第1行と第2列を抜いたとき)
    A12=(3147),˜a12=(1)3det(A12)=(21+4)=25
  • a13の余因子˜a13(第1行と第3列を抜いたとき)
    A13=(3546),˜a13=(1)4det(A13)=1820=2
  • a21の余因子˜a21(第2行と第1列を抜いたとき)
    A21=(2067),˜a21=(1)3det(A21)=(140)=14
  • a22の余因子˜a22(第2行と第2列を抜いたとき)
    A22=(1047),˜a22=(1)4det(A22)=70=7
  • a23の余因子˜a23(第2行と第3列を抜いたとき)
    A23=(1246),˜a23=(1)5det(A23)=(68)=2
  • a31の余因子˜a31(第3行と第1列を抜いたとき)
    A31=(2051),˜a31=(1)4det(A31)=20=2
  • a32の余因子˜a32(第3行と第2列を抜いたとき)
    A32=(1031),˜a32=(1)5det(A32)=(1)=1
  • a33の余因子˜a33(第3行と第3列を抜いたとき)
    A33=(1235),˜a33=(1)6det(A33)=56=1

このように、n次正方行列の余因子はn2個あります。

余因子展開(行編)

さて、いよいよ余因子展開の話をします。
なぜ余因子”展開”と言われるのか、ということが次の定理で分かるかと思います。

定理4.(余因子展開)

nNA=(aij)n次正方行列とする。また、˜aijAにおけるaijの余因子とする。すなわち、Aの第i行と第j列を取り除いたn1次正方行列をAijにより表したとき、 ˜aij=(1)i+jdet(Aij) とする。このとき、以下が成り立つ。
  1. ai1˜ai1+ai2˜ai2++ain˜ain=det(A)
  2. ai1˜ak1+ai2˜ak2++ain˜akn=0,(ik)
1.をi行に関する(対する)余因子展開という。

「ナンジャラホイ?」という具合かもしれませんので、サラッとこの定理4.の言いたいことを書き下します。

定理4.の主張をサラッと解説すると、

i行に着目したとき、第i行ベクトルの各成分と、それに対応する余因子の積を列に対して和を取れば、もともとの行列式の値と一致する。

ということです。
これをより具体的に書いてみます。

|a11a1ja1nai1aijainan1anjann|=(1)i+1ai1|a12a1ja1nai1 2ai1 jai1 nai+1 2ai+1 jai+1 nan2anjann|+(1)i+2ai2|a11a13a1ja1nai1 1ai1 3ai1 jai1 nai+1 1ai+1 3ai+1 jai+1 nan1an3anjann|++(1)i+jaij|a11a1 j1a1 j+1a1nai1 1ai1 j1ai1 j+1ai1 nai+1 1ai+1 j1ai+1 j+1ai+1 nan1an j1an j+1ann|++(1)i+nain|a11a1ja1 n1ai1 1ai1 jai1 n1ai+1 1ai+1 jai+1 n1an1anjan n1|

ということです。
「んぉ?むしろわからん」となるかもしれませんので、図で説明します。

ということです。

では、証明に入りましょう!

定理4.の証明

nNA=(aij)n次正方行列として、
A=(a11a1nan1ann)
と書いたとします。

(1.の証明)

A=(aij)の第i(ai1  aij  ain)は、
(ai1  aij  ain)=(ai1 00)+(0 ai2 00)++(0  0 ain)
というように、(i,j)成分以外が0n個の行ベクトルの和で書くことができます。
従って、以下の定理を使うことができます。

定理5.

nNA=(aij)n次正方行列とする。Aの第i行が、2つの行ベクトルの和ならば、行列式は他の行は同じで、第i行は各々のベクトルを取った行列の行列式の和になる。 すなわち、 (iN;1in) s.t. (ai1,,ain)=(bi1+ci1,,bin+cin) としたとき、 |a11a1nbi1+ci1bin+cinan1ann|=|a11a1nbi1binan1ann|+|a11a1nci1cinan1ann| が成り立つ。

定理5.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。

定理5.を繰り返し使えば、
det(A)=|a11a1nai100an1ann|+|a11a1n0ai200an1ann|++|a11a1n00ainan1ann|
となります。

この右辺のj番目を計算してみましょう。
右辺のj番目は次です。
|a11a1ja1n00aij00an1anjann|

まず、この行列式の第i行を順に1つ上の行と入れ替える操作をして、第i行を第1行まで移動させます。
ここで、次の定理を思い出します。

定理6.

nNA=(aij)n次正方行列とする。このとき、2つの行を入れ替えると、行列式は1倍になる。 すなわち、 ij|a11a1naj1ajnai1ainan1ann|=|a11a1nai1ainaj1ajnan1ann|ij

定理6.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。

定理6.から1回の行の入れ替えの操作によって、行列式は1倍になります。
故に第i行を第1行まで移動させるには、行の入れ替えの操作はi1回行われるので、第i行が第1行に移動したときの行列式は(1)i1倍されます。
従って、
|a11a1ja1n00aij00an1anjann|=(1)i1|00aij00a11a1ja1nan1anjann|

次に、先ほどと同様に第j列を1つ左の列と入れ替える操作によって第1列まで移動させます。
このとき、次の定理を使います。

定理7.

nNA=(aij)n次正方行列とする。Aの各列の順序を置換τによって変更すると、行列式はsgn(τ)になる。すなわち、 τ=(12nk1k2kn) としたとき、 |a1k1a2k1ank1a1k2a2k2ank2a1kna2knankn|=sgn(τ)|a11a12a1na21a22a2nan1an2ann|=sgn(τ)det(A) が成り立つ。

定理7.の証明は【線型代数学の基礎シリーズ】行列式編 その4を御覧ください。

定理7.から1回の列の入れ替えの操作によって、行列式は1倍になります。
故に第j列を第1列まで移動させるには、列の入れ替えの操作はj1回行われるので、第j列が第1列に移動したときの行列式は(1)j1倍されます。
故に、

(1)i1|00aij00a11a1ja1nan1anjann|=(1)i+j2|aij0000a1ja11a1 j1a1 j+1a1nai1 jai1 1ai1 j1ai1 j+1ai1 nai+1 jai+1 1ai+1 j1ai+1 j+1ai+1 nanjan1an j1an j+1ann|
となります。

ここで、次の定理を使います。

定理8.

行列の行と列を入れ替えても行列式の値は変わらない。すなわち、nNA=(aij)n次正方行列とするとき、 det(A)=det(A) が成り立つ。 言い換えれば、行列式は転置により不変である。

定理8.の証明は【線型代数学の基礎シリーズ】行列式編 その4を御覧ください。

定理8.により、行列式は転置しても不変なので、
(1)i+j2|aij0000a1ja11a1 j1a1 j+1a1nai1 jai1 1ai1 j1ai1 j+1ai1 nai+1 jai+1 1ai+1 j1ai+1 j+1ai+1 nanjan1an j1an j+1ann|=(1)i+j2|aija1jai1 jai+1 janj0a11ai1 1ai+1 1an10a1 j1ai1 j1ai+1 j1an j10a1 j+1ai1 j+1ai+1 j+1an j+10a1nai1 nai+1 nann|
となります。
ここで定理1.から、
(1)i+j2|aija1jai1 jai+1 janj0a11ai1 1ai+1 1an10a1 j1ai1 j1ai+1 j1an j10a1 j+1ai1 j+1ai+1 j+1an j+10a1nai1 nai+1 nann|=(1)i+j2aij|a11ai1 1ai+1 1an1a1 j1ai1 j1ai+1 j1an j1a1 j+1ai1 j+1ai+1 j+1an j+1a1nai1 nai+1 nann|
です。
再度定理8.を使い、(1)i+j2=(1)i+j×(1)2=(1)i+j×1=(1)i+jに注意すると、
(1)i+j2aij|a11ai1 1ai+1 1an1a1 j1ai1 j1ai+1 j1an j1a1 j+1ai1 j+1ai+1 j+1an j+1a1nai1 nai+1 nann|=(1)i+jaij|a11a1 j1a1 j+1a1nai1 1ai1 j1ai1 j+1ai1 nai+1 1ai+1 j1ai+1 j+1ai+1 nan1an j1an j+1ann|
となります。
この右辺の行列式を見てみると、Aから第i行と第j列を取り除いた行列の行列式ですので、det(Aij)を意味しています。
従って、
(1)i+jaij|a11a1 j1a1 j+1a1nai1 1ai1 j1ai1 j+1ai1 nai+1 1ai+1 j1ai+1 j+1ai+1 nan1an j1an j+1ann|=(1)i+jaijdet(Aij)=aij(1)i+jdet(Aij)=aij˜aij
となります。

以上のことをまとめれば、
|a11a1ja1n00aij00an1anjann|=aij˜aij_
です。
この等式はj=1,2,,nに対して成り立ちます。
今、どういう状況だったかを思い出すと、
det(A)=|a11a1nai100an1ann|+|a11a1n0ai200an1ann|++|a11a1n00ainan1ann|
でした。
そして、この等式における第j列目の部分をピックアップして考えました。
従って、

  • 1列目
    |a11a1nai100an1ann|=ai1˜ai1
  • 2列目
    |a11a1n0ai200an1ann|=ai2˜ai2
  • n列目
    |a11a1n00ainan1ann|=ain˜ain

となるわけですので、
ai1˜ai1+ai2˜ai2++ain˜ain=det(A)
が成り立ちます。

いやあ、疲れましたね。
書いている筆者も疲れちゃいました。
ここで一服しましょう。

終わりましたか?
では続きを行きましょう!

(2.の証明)

「1.の証明が長すぎて覚えてねえよ」と思いますので、再掲します。

ai1˜ak1+ai2˜ak2++ain˜akn=0,(ik)

これを示します。

行列Ak(i)に対して、第k行以外はAと同じで、第k行を第i行で置き換えた行列をB=(bij)とします。
すなわち、
B=(a11a1nai1ainai1ainan1ann)ik
とします。
この行列Bの第i行と第k行は一致しているので、次の命題を使います。

命題.

2つの行が等しい行列の行列式は0である。

この命題9.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。

命題9.により、det(B)=0です。
また、行列Ak(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),(ik)
が得られます。

定理4.の証明終わり

余因子展開(列編)

列についての余因子展開もありますが、本質的には行の余因子展開と同じですので、証明は省略します。
行の余因子展開においてi行の部分をj列にすれば全く同じように証明できます。

定理10.(列の余因子展開)

nNA=(aij)n次正方行列とする。また、˜aijAにおけるaijの余因子とする。すなわち、Aの第i行と第j列を取り除いたn1次正方行列をAijにより表したとき、 ˜aij=(1)i+jdet(Aij) とする。このとき、以下が成り立つ。
  1. a1j˜a1j+a2j˜a2j++anj˜anj=det(A)
  2. a1j˜a1k+a2j˜a2k++anj˜ank=0,(ik)
1.をi行に関する(対する)余因子展開という。

いっちょ、余因子展開を使ってみっか

使ってみましょう。

例3.
A=(120351467)
として、Aの行列式を余因子展開により求めてみましょう。

まず、det(A)はサラスの方法からdet(A)=9となります。
サラスの方法とは以下でした。

さて、Aの各aijに対する余因子はすでに求めてありますので、それを使います。

a11˜a11+a12˜a12+a13˜a13=1×41+2×(25)+0×(2)=4150=9=det(A)

確かに成り立ちました。

余因子行列

余因子行列は一言で言えば、

余因子を成分とする行列を転置した行列のこと。

です。
この余因子行列は行列の逆行列を求める際に重要な役割を果たします。

余因子行列

nNA=(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.

nNA=(aij)n次正方行列、˜AAの余因子行列とする。 このとき、次が成り立つ。 A˜A=A˜A=(det(A)OOdet(A))=det(A)(1OO1)=det(A)In ただし、Inn次の単位行列である。

これはとてつもない事実です。
というもの、det(A)0であれば、
A(1det(A)˜A)=(1det(A)˜A)A=In
が成り立つわけですので、1det(A)˜AAの逆行列となるわけです。

定理11.の証明

nNAn次正方行列、˜AAの余因子行列として、
A=(a11a12a1na21a22a2nan1an2ann),˜A=(˜a11˜a21˜an1˜a12˜a22˜an2˜a1n˜a2n˜ann)
と書いたとします。
このとき、A˜A
A˜A=(a11a12a1na21a22a2nan1an2ann)(˜a11˜a21˜an1˜a12˜a22˜an2˜a1n˜a2n˜ann)=(nh=1a1h˜a1hnh=1a1h˜a2hnh=1a1h˜anhnh=1a2h˜a1hnh=1a2h˜a2hnh=1a2h˜anhnh=1anh˜a1hnh=1anh˜a2hnh=1anh˜anh)
です。
この行列の第(i,k)成分は
nh=1aih˜akh
です。
ここで、定理4.により、
nh=1aih˜akh={det(A)(i=k)0(ik)
です。
故に、
A˜A=(1OO1)=det(A)In
が成り立ちます。

同様にして、˜AAの第(ik)成分は、
nh=1˜ahiahk
です。
これもまた定理4.により、
nh=1˜ahiahk={det(A)(i=k)0(ik)
です。
従って、
˜AA=(1OO1)=det(A)In
となるため、成り立ちます。

定理11.の証明終わり

今回は余因子、余因子展開、余因子行列について解説しました。
また、余因子展開は行列式を求めるにあたって重要な事実で、余因子行列は逆行列を求めるにあたって重要な概念です。

それ故、余因子は線型代数の中で非常の重要な位置を占めています。

次回は正則行列の必要十分条件、すなわち逆行列が存在するための必要十分条件について解説します。

乞うご期待!質問、コメントなどお待ちしております!

コメントをする

タイトルとURLをコピーしました