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

「行列式の性質②(実際に行列式を計算するときに使う性質)」【線型代数学の基礎シリーズ】行列式編 その3

線型代数学

本記事の内容

本記事は、行列式の性質の一部を解説する記事です。
特に本記事で解説する性質は、行列式を計算する上で誠に有用な性質です。

本記事を読むにあたり、行列式について知っている必要があるため、以下の記事も合わせてご覧ください。

本記事で言いたいこと

本記事において、言いたいこと、つまり示したい定理を先に述べておきます。
つまり、本記事のゴールです。

定理0.

行列の1つの行に任意の数を掛けて、他の行に加えても、行列式の値は変わらない。

この事実があるおかげで、行列式の計算が格段に楽ちんになります。

行列式って何だっけ?をチャラく復習

サラッと、チャラく復習します。

行列式

nNAn次正方行列とし、 (a11a12a1na21a22a2nam1am2amn)=(aij) に対して、Aの成分により定まる次の式をA行列式(determinant of A)という。 det(A)=σSnsgn(σ)a1σ(1)a2σ(2)anσ(n) このとき、Aの行列式をdetAdet(A)|A||(a11a12a1na21a22a2nan1an2ann)|=|a11a12a1na21a22a2nan1an2ann| と書く。

でした。
ただし、

置換の符号

置換σm個の互換の積で表されるとき、 sgn(σ)=(1)m とおき、sgn(σ)を置換σの符号という。
 特に、sgn(σ)=1のときにσ偶置換sgn(σ)=1のときにσ奇置換と呼び、恒等置換ϵsgn(ϵ)=1と捉える。

です。

行をc倍すると、行列式もc倍になる。

次に示す定理は行列式のいろいろな性質を導くのに基本的な役割を持つ定理です。

定理1.

n次正方行列A=(aij)の1つの行をcC倍すると、行列式はc倍となる。すなわち、 |a11a1ncai1cainan1ann|=c|a11a1nai1ainan1ann| が成り立つ。

この定理の証明は「行列式とは何か?」ということから直ちに分かります。

定理1.の証明

nNA=(aij)n次正方行列とし、Aの第i行をcC倍した行列A(i,c)
A(i,c)=(a11a1ncai1cainan1ann)
と書いたとします。
このとき、A(i,c)の行列式det(A(i,c))は、Aの第i行がc倍されているので、det(A)aiσ(i)の部分がcaiσ(i)となっていることに注意すると、
det(A(i,c))==σSnsgn(σ)a1σ(1)a2σ(2)(caiσ(i))anσ(n)=cσSnsgn(σ)a1σ(1)a2σ(2)aiσ(i)anσ(n)=cdet(A)

従って、成り立ちます。

定理1.の証明終わり

定理1.の系として以下が成り立ちます。

系2.

nNn次正方行列Aの1つの行の成分がすべて0であれば、det(A)=0である。

系2.の証明

定理1.においてc=0の場合だと考えることができます。
実際、n次正方行列Aの1つの行の成分がすべて0だったとすると、
A=(a11a1n00an1ann)=(a11a1n0×00×0an1ann)
となりますので、
det(A)=0×det(A)=0
となるから成り立ちます。

系2.の証明終わり

「え?じゃあ列は?」となると思いますが、先にネタバラシしておくと列ベクトルについても全く同じことが成り立ちます。
詳しくは、次回に転置と行列式の関係を解説するので、そこで述べます。

i行が、2つの行ベクトルの和ならば、行列式は他の行は同じで、第i行は各々のベクトルを取った行列の行列式の和になる。

「ん?何を言っとるだ?」となるかもしれませんので、主張を明示してしまいます。

定理3.

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

この定理3.の証明は定理1.の証明とほぼ同じです。

定理3.の証明

nNA=(aij)n次正方行列とし、Aの第i行が
(ai1,,ain)=(bi1+ci1,,bin+cin)
だとします。
すなわち、
A=(a11a1nai1ainan1ann)=(a11a1nbi1+ci1bin+cinan1ann)
とします。
このとき、Aの行列式det(A)は、Aの第i行ベクトル(ai1,,ain)
(ai1,,ain)=(bi1+ci1,,bin+cin)となっているわけですので、det(A)aiσ(i)の部分がbiσ(i)+ciσ(i)となっていることに注意すると、
det(A)=σSnsgn(σ)a1σ(1)a2σ(2)(biσ(i)+ciσ(i))anσ(n)=σSnsgn(σ)(a1σ(1)a2σ(2)biσ(i)anσ(n)+a1σ(1)a2σ(2)ciσ(i)anσ(n))=σSnsgn(σ)a1σ(1)a2σ(2)biσ(i)anσ(n)+σSnsgn(σ)a1σ(1)a2σ(2)ciσ(i)anσ(n)=|a11a1nbi1binan1ann|+|a11a1nci1cinan1ann|

となるため、成り立ちます。

定理3.の証明終わり

行列の行の順序を置換τによって変更すると、行列式はsgn(τ)倍になる。

まずは置換が互換の場合、すなわち2つの行だけ(1回だけ)入れ替えた行列の行列式について解説します。

定理4.

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

定理4.の証明

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

i行目と第j行目を入れ替えた行列をAと書くとすると、Ai行目とj行目を入れ替えた、ということなので、置換の言葉で表現するとn個の文字の各置換σに対して、σに右から互換(i j)を掛けたということになります。
この置換をτ=σ(i j)とおくと、
τ(i)=σ(j), τ(j)=σ(i), τ(k)=σ(k) (ki,j)
を満たすということになります。
今、互換(i j)は固定されていますので、対応
σσ(i j)=τ
SnからSnへの全単射です。
実際、(i j)が固定されていて、対応σσは恒等写像なので全単射なので、固定された(i j)を掛けたところで全単射性は変わりません。
従って、σSnの全体を動くと、τSnの全体を動く、ということになります。
また、このτの符号は
sgn(τ)=sgn(σ(i j))=sgn(σ)sgn((i j))=sgn(σ)
となります。
ただし、以下の事実を使いました。

定理5.

任意の置換σ,τに対して
  1. sgn(τσ)=sgn(τ)sgn(σ)
  2. sgn(σ1)=sgn(σ)

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

以上の準備を元にして、実際にA(AAの第i行と第j行を交換した行列)の行列式を計算してみます。

det(A)=σSnsgn(σ)a1σ(1)ajσ(i)aiσ(j)anσ(n)=τSnsgn(τ)a1τ(1)ajτ(j)aiτ(i)anτ(n)=τSnsgn(τ)a1τ(1)aiτ(i)ajτ(j)anτ(n)=det(A)

従って、成り立ちます。

定理4.の証明終わり

定理4.は2つの行を入れ替える、という話で、入れ替えの回数でいうと1回です。
この入れ替えは互換で表現できるのでした。
入れ替え回数がk回の場合は置換で表現できます。
つまり、一般化した主張が次です。

定理6.

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

定理6.の証明

以下の置換と互換の関係を使います。

定理7.

任意の置換は互換の積で表すことができる。

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

定理7.から任意の置換は互換の積で表すことができるので、m個の互換τ1,,τmを用いて
τ=τmτ1
と表すことができたとします。

このとき、与えられた行列の行を置換τによって並び替えた結果は、互換τ1,,τmによって、この順番で行を変更した結果と同じ行列ということになります。

つまりどういうことか、というと、定理4.から互換τ1で並び替えた行列の行列式は、もとの行列の1倍、τ1で並び替えた後にτ2で並び替えた行列の行列式ははさらにその1倍(すなわち(1)×(1)倍)となります。

これをm回繰り返すわけですので、行列式は(1)m倍となります。
ここで、sgn(τ)=sgn(τmτ1)=(1)mだったわけですので、τ=τmτ1m回だけ行を入れ替えた行列の行列式は、もとの行列のsgn(τ)倍、すなわち(1)m倍と等しくなります。

定理6.の証明終わり

この定理6.から直ちに次の系が分かります。

系8.

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

系8.の証明

nNAn次正方行列とします。
このとき、Aの第i行ベクトルと第j行ベクトルが一致しているとします。
Aは第i行ベクトルと第j行ベクトルが一致しているので、第i行と第j行を交入れ替えても行列として一致しています(値が同じ行ベクトル同士を入れ替えたところで同じ行列)。

しかし、第i行と第j行を1回入れ替えたため(つまり互換(i j)を掛けたため)、行列式は1倍になります。
従って、
det(A)=det(A)
です。
すなわち、2det(A)=0なのでdet(A)=0です。

系8.の証明終わり

行列の1つの行に任意の数を掛けて他の行に加えても、行列式の値は変わらない。

いよいよ最後です。
次の定理を証明して今回のゴールテープを切りましょう。
後少し!

定理0.

行列の1つの行に任意の数を掛けて、他の行に加えても、行列式の値は変わらない。すなわち、nNA=(Aij)n次正方行列とする。このとき、 ij|a11a1nai1+caj1ain+cajnaj1ajnan1ann|=|a11a1nai1ainaj1ajnan1ann|ij が成り立つ。

定理1.定理3.系8.を使うことで証明することができます。

定理0.の証明

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

このとき、定理3.(第i行が、2つの行ベクトルの和ならば、行列式は他の行は同じで、第i行は各々のベクトルを取った行列の行列式の和になる。)を使うことで、
ij|a11a1nai1+caj1ain+cajnaj1ajnan1ann|=|a11a1nai1ainaj1ajnan1ann|+|a11a1ncaj1cajnaj1ajnan1ann|
が成り立ちます。
さらに、定理1.(行をc倍すると、行列式もc倍になる。)を使うことで、
|a11a1nai1ainaj1ajnan1ann|+|a11a1ncaj1cajnaj1ajnan1ann|=|a11a1nai1ainaj1ajnan1ann|+c|a11a1naj1ajnaj1ajnan1ann|

ここで、系8.から2つの行が等しい行列の行列式は0ですので、
|a11a1naj1ajnaj1ajnan1ann|=0
となるので、
c|a11a1naj1ajnaj1ajnan1ann|=0
となるから、
ij|a11a1nai1+caj1ain+cajnaj1ajnan1ann|=|a11a1nai1ainaj1ajnan1ann|=det(A)
となり、成り立ちます。

定理0.の証明終わり

このように、行列の1つの行に任意の数を掛けて他の行に加えるという操作を行基本変形といいます。
また、行列の1つの列に任意の数を掛けて他の列に加えるという操作を列基本変形といいます。

行列式の計算はこの行基本変形と列基本変形を駆使して計算します。

いっちょ計算してみっか

先の定理0.をどのようにして使うか、ということをいっちょ計算してみて確かめてみましょう。

例9.
|13212412110631134|
定理0.を使って求めてみましょう。

「いやいや、計算してみましょうっつったって、どの行に目をつけりゃあ良いんでしょうかね?」となると思います。
そこで、まず行列式を計算する際に目標をどこに置くのが定石か、という策の話をします。

大きく分けて以下の2つがあります。

  • 行基本変形で三角行列の形にする。
  • 次元を落として計算する。

それぞれの策について解説します。

策①:行基本変形で三角行列の形にする。

第1の策として上三角行列への変形です。
上三角行列とは何だったか、というと、

三角行列

  • 上三角行列
  • 対角線より左下の成分がすべて0であるような行列 (a11a12a1n0a22a2n00ann)上三角行列という。
  • 下三角行列
  • 対角線より右上の成分がすべて0であるような行列 (a1100a21a220an1an2ann)下三角行列という。

でした。
この三角行列の行列式の性質として、

命題10.

n次上三角行列Aの行列式det(A)Aの対角成分の積に等しい。すなわち、次が成り立つ。 det(A)=a11a22ann

があるのでした。
(※命題10.の証明は【線型代数学の基礎シリーズ】行列式編 その3を御覧ください。)

要するに、

行基本変形をしても行列式の値は変わらないので、行基本変形でもって三角行列の形にして、対角成分の積を計算することでもとの行列の行列式を求める。

という策です。

策②:次元を落として計算する。

「ナンジャソレ」となるかもしれませんが、行列式の性質で一番最初に解説した次の事実を使います。

定理11.

|a11a12a1n0a22a2n0an2ann|=a11|a22a2nan2ann|

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

要するに、

行基本変形をしても行列式の値は変わらないので、第1行の第1成分以外を0にするように行基本変形をして次元を落とす。この操作を繰り返して、2次元、ないしは3次元まで落としてサラスの方法などを使って行列式の値を求める。

ということです。
実は、行基本変形により成り立つ行列式の性質は列基本変形についても成り立ちます(後の記事で解説)。
従って、行基本変形と列基本変形を”うま〜く”適用させてより簡単に求めようとするのが定石だと思います。

よっしゃ、いっちょ計算してみっか

さて、では計算してみましょう。
求めたい行列式を再掲しておきます。

例9.
|13212412110631134|

これを真面目に求めようとすると、4次正方行列ですので、4!=24個の項が出現してそれらを足したり引いたりすることになります。
「エライコッチャ」という感じです。
筆者は計算したくありません。

というわけで、上記に列挙した策①と策②を使って計算してみます。

正直、筆者の経験からして、主に策②を使います。
とはいえ、ここで初めて行列式を計算する方もいらっしゃると思いますので、策①を取った場合、策②を取った場合の双方を解説します。

「策①:行基本変形で三角行列の形にする。」の場合

「上三角行列に変形したいんだな」ということを念頭の置きながら読んでいただけると良いと思います。

操作1:第1行の2倍を第2行に足す。

|13212412110631134|=|13212+(2)×14+(2)×31+(2)×22+(2)×1110631134|=|132122461422110631134|=|13210230110631134|

操作2:第1行の1倍を第3行に足す。

|13210230110631134|=|132102301+11+30+26+131134|=|13210230042731134|

操作3:第1行の3倍を第4行に足す。

|13210230042731134|=|1321023004273+3×111+3×33+3×24+3×1|=|1321023004270231|

操作4:第2行の32倍を第1行に足す。

|1321023004270231|=|13+32×(2)2+32×(3)1+32×0023004270231|=|1332921023004270231|=|10521023004270231|

操作5:第2行の2倍を第3行に足す。

|10521023004270231|=|10521023004+2×(2)2+2×(3)7+2×00231|=|10521023000470231|

操作6:第2行の1倍を第4行に足す。

|10521023000470231|=|105210230004702+(2)×13+(1)×(3)1+(1)×0|=|10521023000470061|

操作7:第3行の32倍を第4行に足す。

|10521023000470061|=|1052102300047006+32×(4)1+32×7|=|1052102300047000192|

操作8:対角成分の積を計算しておしまい。

1×(2)×(4)×192=76

従って、
|13212412110631134|=76
です。

「これ、本当に計算が楽ちんになったのか?」と思うかもしれませんが、真面目に計算しようとすると4!=24個の項を足し引きして計算するのでそれに比べたらまだマシだと思います。
さらに、24個の計算の中でも、「どの行からどの成分を取ってきたか」ということを24回考えなければならないのに対して、この方法は1つの行の四則演算だけ考えれば良いので幾分マシだと思います。

とはいえ、面倒ですよね。分かります。

「策②:次元を落として計算する。」の場合

策①の操作3まで同じです。
つまり、
|13212412110631134|=|1321023004270231|
まで計算したとします。

操作4:定理11.を使って次元を落とす。

|1321023004270231|=1×|230427231|=|230427231|

ここで、サラスの方法を使ってもOKです。
サラスの方法を使うと、
|230427231|=(2)×2×(1)+(3)×7×(2)+0×4×3(3)×4×(1)0×2×(2)(2)×3×7=4+42+012+0+42=76

操作5:第1行目の2倍を第2行目に足す。

|230427231|=|2304+2×(2)2+2×(3)7+2×0231|=|23044267231|=|230047231|

操作6:第1行目の1倍を第3行目に足す。

\begin{eqnarray} \left| \begin{array}{c} -2&-3&0\\ 0&-4&7\\ -2&3&-1 \end{array}\right|&=& \left| \begin{array}{c} -2&-3&0\\ 0&-4&7\\ -2+(-1)\times(-2)&3+(-1)\times(-3)&-1+(-1)\times0 \end{array}\right|\\ &=& \left| \begin{array}{c} -2&-3&0\\ 0&-4&7\\ -2+2&3+3&-1 \end{array}\right|\\ &=& \left| \begin{array}{c} -2&-3&0\\ 0&-4&7\\ 0&6&-1 \end{array}\right|\\ \end{eqnarray}

操作7:定理11.を使って次元を落とす。

\begin{eqnarray} \left| \begin{array}{c} -2&-3&0\\ 0&-4&7\\ 0&6&-1 \end{array}\right| &=& -2 \left| \begin{array}{c} -4&7\\ 6&-1 \end{array}\right|\\ \end{eqnarray}

操作8:2次元の正方行列の行列式を計算しておしまい。

\begin{eqnarray} -2 \left| \begin{array}{c} -4&7\\ 6&-1 \end{array}\right|&=&-2\times\left\{(-4)\times(-1)-7\times6 \right\}\\ &=&-2\times\left\{4-42 \right\}\\ &=&-2\times(-38)\\ &=&76 \end{eqnarray}

この章のまとめ

結局、三角行列を目指して行基本変形をしようが、次元を落とすように行基本変形をしようが、どちらの策を使うかは好き好きです。

個人的には策②のほうが好きです。

今回は、行列式の計算をする際に有用な定理を説明して、証明しました。
また、その定理を具体的にどうやって使って行列式を計算するのか、ということも解説しました。

行列式の計算を真正直にやろうとすると骨が折れますが、行列式の性質(特に定理0.)を使うと計算の量とミスが少なくなります。

次回は転置行列の行列式について解説します。

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

コメントをする

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