皆さん、こんにちは。
今回の記事では、「行列の対角化」について紹介します。
なお、今回はすでに「行列」について習っていることを大前提に進めますので、最低限「行列の積」「逆行列」について知ったうえで読んでいただけると幸いです。
行列Aの「固有値λ」「固有ベクトルx」とは、以下の関係を満たす実数とベクトルのことを言います。
一般にベクトルに行列をかけると、向きも長さも変わってしまいます。ところが、うまくベクトルxを選んであげると、Aをかけても向きが変わらず縮尺だけが変化する、ようにできるということです。
(※ここで、x=0は両辺が0になるだけで何の収穫もないので除外して考えます。)
このλ、xをどうやって計算すればよいかですが、右辺のxに行列I (=単位行列)がかかってると思うことにすれば以下のように式変形できます。
ここで、もしA-λIと言う行列が「逆行列」を持っていたとすれば、両辺にその逆行列をかけることで、x=0が求まります。しかし、これでは何も面白くないわけで、x≠0であってほしいわけです。
x≠0の場合に上の方程式が成り立つ条件は、A-λIが逆行列を持たないこと、即ち
となることです(左辺はA-λIの行列式です)。この方程式を「固有方程式」と言います。
この式を解いてしまえば固有値λが求まることになり、λが求まってしまえばxは容易に計算できます。
もしAが2×2行列なら、固有方程式はλの2次方程式になるので、固有値λが2つ求まることになり、それぞれのλに対応した固有ベクトルxが個別に求まることになります。なので、固有値と固有ベクトルは必ずセットになることを覚えておきましょう。
具体例は後のセクションに回します。
この固有値、固有ベクトルを使ってできる行列の操作の一つが「対角化」です。
2. 行列の対角化
行列の対角化とは、ある行列に別の行列をかけることで「対角成分以外が全て0になる行列」に変換する作業です。
この操作をすることで、行列を非常に扱いやすいシンプルな形に出来るというわけです。
ここで、天下り式ではありますが、どうすれば行列を対角化できるかを紹介します。
今、行列Aを以下のように定義し、
このAの固有値λと固有ベクトルaのセットを以下のように定義します。
式で表現すると、要するにこういう事です。
このとき、
固有ベクトルを並べてできる行列Pを定義して、
次のような行列Bを計算すると、
Bはこのようになります。
なんと、Bは固有値の並んだ対角行列になるのです。
このように、固有ベクトルを使った行列Pを使って、行列Aは固有値を並べた対角行列に変換できる、ということです。
ここで、対角化の利点を1つ紹介すると、「Aの累乗」の計算が非常に楽になります。
具体的には、こんな感じです。
掛け算をする過程で間に挟まっているPが次々と消えていくので、最終的にBのn乗がPに挟まれた形になります。Bは対角行列で、対角行列のn乗は対角成分をn乗するだけで計算できるので非常に楽になるわけです。
3. 2次曲線の正体を探る
では、ここから行列の対角化の応用例として、「2次曲線の正体を探る」をやっていこうと思います。
2次曲線とは、xとyの2次式で表現される曲線のことで、具体的には放物線、楕円、双曲線の3種類があります。
<問1>
をxy平面上に図示せよ。
比較的シンプルな形の2次曲線の式です。これをグラフにしようと思うと、高校数学であれば、y=の形に直してxで微分して増減表を書いて~などとやるところなのですが、非常に面倒ですし、この図形の本質が掴めなくなってしまいます。
ここで、行列の対角化の知識を使って、これがどんな曲線なのかを丸裸にしていきます。
ここで、行列Aを登場させるために、こんなトリッキーな操作をします。
xyの項を敢えて半分ずつに分けることで、綺麗に行列の形に変形できるのです。この行列の積をちゃんと計算すれば、元の式に戻ることがすぐに確かめられます。
ここに登場する行列をAとして、このAを対角化していきます。そのためにはAの固有値固有ベクトルの情報が必要なので、まずそちらを計算します。
固有値は固有方程式を解けばよいので、以下のように2つ求まります。
それぞれの固有値に対する固有ベクトルは以下のように求まります。
ここで、固有ベクトルの係数は本来何でもいいのですが、訳あって大きさが1になるように係数を決めています。
ここまでの情報が揃えば、前セクションの手順で対角化ができるのでやってしまうと、下のようになります。
ここでPを回転行列の形で表現しているのが、後々伏線となって効いてきます。
次に、以下のようにx,yを変数変換します。
そうして、元の式に代入してあげると、非常にシンプルな形になります。
(※ (X, Y)= (x,y)Pを無断で使っていますが、計算すると正しいことが分かります)
このように、変数X,Yの下では、元の2次式が「楕円の式」になることが分かりました。
最後に、途中で行った変数変換
の意味を考えます。Pは先ほどチラッと触れたように回転行列の形で書けますので、
のように、ベクトル(x,y)を原点の周りに-45°回転したものがベクトル(X,Y)であることが分かります。x軸y軸の代わりにX軸Y軸を考えると、下の図のような位置関係になっていることが分かりますでしょうか?
例えば、xy座標の世界で(1,0)と表現される点は、XY座標の世界では( cos(-45°), sin(-45°))となっていることが、上の図を見ると分かるかと思います。
そして、元の式
は、xy座標を45°回転させたXY座標の世界では
と表現できる、ということは、グラフは下のようになるはずです。
実際にexcelで描画させるとこのようになります。(r=√3の場合)
以上から、2次曲線
は、実は軸が45°傾いた楕円だ、と分かったわけです。
<問2>
が双曲線であることを証明せよ。
ご存じ反比例のグラフです。中学の段階から「反比例のグラフは双曲線だ」と教わってきたと思いますが、高校で習う双曲線の式とは形が違っていて「本当に双曲線なのか?」と疑問に思った人もいるはずです。ここでは、そのことを証明していきます。
問1と同じように、行列の式に直すと以下のようになり、
中の行列を対角化すると、以下のプロセスで求まります。
そして、問1と同じように変数変換を行えば、
となって、xy座標を45°回転させたXY座標の世界で、高校で習う定義通りの双曲線の式になりました。グラフにすると下図のようにお馴染みのグラフになります。
このように、行列の対角化を使うことによって、一見すると図示の難しい2次曲線の正体が分かり、簡単に図示できるようになる、というお話でした。