【固有値編】行列の対角化と具体的な計算例

こんにちは、おぐえもん(@oguemon_com)です。

前回の記事では、行列の対角和(トレース)と呼ばれる指標の性質について扱いました。今回は、行列の対角化について扱います。

対角化とは?

行列の対角化と対角化可能

ある正方行列AAに対して適当な正則行列PPを用意すると、積P1APP^{-1}APが対角行列になることがあります。このようにして対角行列を作ることを対角化と呼び、対角化できるようなPPが存在することを対角化可能と呼びます。

行列の対角化と対角化可能

ある正方行列AAに対して、次の式が成立する正則行列PPが存在するとき、AA対角化可能という。

P1AP=[a1000a2000an]P^{-1}AP= \left[ \begin{array}{cccc} a_1 & 0 & \ldots & 0 \\ 0 & a_2 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & a_n \end{array} \right]

また、そうして対角行列を作ることを対角化という。

対角化の便利なところ

対角化の良いところの 1 つに、行列のnn乗計算が楽になることが挙げられます。

対角行列のnn乗は、元の対角成分のnn乗を成分にもつ対角行列になります。(以下は簡単な例)

A=[x00y]An=[xn00yn]A = \left[ \begin{array}{cc} x & 0 \\ 0 & y \end{array} \right] \rightarrow A^n = \left[ \begin{array}{cc} x^n & 0 \\ 0 & y^n \end{array} \right]

よって、行列のnn乗を計算する際は、対角化をして、対角行列の累乗を求めると楽なのです。

(P1AP)n=P1APP1APP1AP=P1AAAP=P1AnP\begin{aligned} (P^{-1}AP)^n &=P^{-1}APP^{-1}AP \cdots P^{-1}AP \\ &=P^{-1}AA \cdots AP \\ &=P^{-1}A^nP \end{aligned}

より

An=P(P1AP)nP1A^n = P(P^{-1}AP)^nP^{-1}

(P1AP)n(P^{-1}AP)^nは対角行列のnn乗なので楽勝です。

固有値との関係

対角化によって生み出された対角行列の成分、そして対角化で用いたPPの列ベクトルにはある関係性があります。

対角化と固有値・固有ベクトル
P1AP=[a1000a2000an]P^{-1}AP = \left[ \begin{array}{cccc} a_1 & 0 & \ldots & 0 \\ 0 & a_2 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & a_n \end{array} \right]

が成立するとき、

P=(p1 p2  pn)P=(\boldsymbol{p_1} \ \boldsymbol{p_2} \ \ldots \ \boldsymbol{p_n})とすると、成分a1a_1ana_nはそれぞれ行列AAの固有値であり、列ベクトルp1\boldsymbol{p_1}pn\boldsymbol{p_n}は固有値a1a_1ana_nにそれぞれ対応する固有ベクトルである。

つまり、対角化という操作には、行列の固有値・固有ベクトルがオールスター的に登場するのです。

こうなる理由は結構簡単にわかります。次の例は、2次正方行列を用いたものですが、どんな次元でも確かめられます。

まず、対角化可能な2次正方行列AAを用意します。AAはある2次の正則行列P=(p1 p2)P=(\boldsymbol{p_1} \ \boldsymbol{p_2})を用いて次のように対角化できます。

P1AP=[α00β]P^{-1}AP = \left[ \begin{array}{cc} \alpha & 0 \\ 0 & \beta \end{array} \right]

あとはこれを変形するだけです(下の式は、上の式の両辺に左からPPをかけたところから始まります)。

AP=P[α00β]A(p1 p2)=(p1 p2)α00β(Ap1 Ap2)=(αp1 βp2)\begin{aligned} AP &= P \left[ \begin{array}{cc} \alpha & 0 \\ 0 & \beta \end{array} \right] \\ A(\boldsymbol{p_1} \ \boldsymbol{p_2}) &= (\boldsymbol{p_1} \ \boldsymbol{p_2}) \left| \begin{array}{cc} \alpha & 0 \\ 0 & \beta \end{array} \right| \\ (A\boldsymbol{p_1} \ A\boldsymbol{p_2}) &= (\alpha\boldsymbol{p_1} \ \beta\boldsymbol{p_2}) \end{aligned}

これはつまりこういうこと、

{Ap1=αp1Ap2=βp2\begin{cases} A\boldsymbol{p_1} = \alpha\boldsymbol{p_1} \\ A\boldsymbol{p_2} = \beta\boldsymbol{p_2} \end{cases}

まさに、固有値・固有ベクトルの定義の式ですね。ここから、α\alphaβ\betaが固有値であること、p1\boldsymbol{p_1}p2\boldsymbol{p_2}がそれぞれの固有値に対応する固有ベクトルであることがわかりました。

対角化可能の条件

対角化は全ての正方行列でできるとは限りません。しかし、次のような条件が成立するならば、対角化をすることができます。

対角化可能の条件に関する定理

nn次の正方行列AAについて次の命題が成立する。

AAは互いに一次独立な固有ベクトルをnn個持つ \Longleftrightarrow AAは対角化可能

この定理から、対角化可能であるか調べる場合は、

  1. 固有値を求める
  2. 対応する固有ベクトルを求める
  3. 次数と同じ数の固有ベクトルが互いに一次独立か調べる

の 3 ステップを経ることになります。

実際に対角化してみよう!

次の行列を対角してみましょう!

A=[5349]A = \left[ \begin{array}{cc} 5 & 3 \\ 4 & 9 \end{array} \right]

Step1. 固有値と固有ベクトルを求める

次のような固有方程式を解けば良いのでした。

5t349t=0\left| \begin{array}{cc} 5-t & 3 \\ 4 & 9-t \end{array} \right|=0

左辺の行列式を展開して、変形すると次の式のようになります。

(5λ)(9λ)34=0(λ3)(λ11)=0\begin{aligned} (5-\lambda)(9-\lambda)-3*4 &= 0\\ (\lambda -3)(\lambda -11) &= 0 \end{aligned}

よって、固有値は「3」と「11」です!

次に固有ベクトルを求めます。

これは、「Ax=3xA\boldsymbol{x}=3\boldsymbol{x}」と「Ax=11xA\boldsymbol{x}=11\boldsymbol{x}」をちまちま解いていくことで導かれます。

面倒な計算を経ると次の結果が得られます。

  • 「3」に対する固有ベクトルの"1 つ"→ (32)\left(\begin{array}{c}-3 \\ 2\end{array}\right)
  • 「11」に対する固有ベクトルの"1 つ"→ (12)\left(\begin{array}{c}1 \\ 2\end{array}\right)

Step2. 対角化できるかどうか調べる

対角化可能の条件「次数と同じ数の固有ベクトルが互いに一次独立」が成立するか調べます。上に掲げた 2 つの固有ベクトルは、互いに一次独立です。正方行列AAの次数は 2 で、これは一次独立な固有ベクトルの個数と同じです。

よって、AAは対角化可能であることが確かめられました

Step3. 固有ベクトルを並べる

最後は、2 つの固有ベクトルを横に並べて正方行列を作ります。これが行列PPとなります。

P=[3122]P = \left[ \begin{array}{cc} -3 & 1 \\ 2 & 2 \end{array} \right]

このとき、P1APP^{-1}APは対角行列になるのです。

Extra. 対角化チェック

せっかくなので対角化できるかチェックしましょう。

行列PPの逆行列は

P1=18[2123]P^{-1} = \frac{1}{8} \left[ \begin{array}{cc} -2 & 1 \\ 2 & 3 \end{array} \right]

です。

頑張ってP1APP^{-1}APを計算しましょう。

P1AP=18[2123][5349][3122]=18[632233][3122]=[30011]\begin{aligned} P^{-1}AP &= \frac{1}{8} \left[ \begin{array}{cc} -2 & 1 \\ 2 & 3 \end{array} \right] \left[ \begin{array}{cc} 5 & 3 \\ 4 & 9 \end{array} \right] \left[ \begin{array}{cc} -3 & 1 \\ 2 & 2 \end{array} \right] \\ &= \frac{1}{8} \left[ \begin{array}{cc} -6 & 3 \\ 22 & 33 \end{array} \right] \left[ \begin{array}{cc} -3 & 1 \\ 2 & 2 \end{array} \right] \\ &= \left[ \begin{array}{cc} 3 & 0 \\ 0 & 11 \end{array} \right] \end{aligned}

ってことで、対角化できました!対角成分はAAの固有値で構成されているのもわかりますね。

おわりに

今回は、行列の対角化の方法について計算例を挙げながら解説しました!

次回は、対角化の対象として頻繁に用いられる、「対称行列」の対角化について詳しくみていきます。

>>対称行列が絶対に対角化できる理由と対称行列の対角化の性質

▲ トップへ戻る