2 行列の対角化と応用

2.1 固有値と固有ベクトル

すでに行列の固有値と固有ベクトルについては、学習しているはずであるが、忘れている 者も多いと思うので復習をしておく。ただし、ここでは取り扱いの面倒な行列、例えば複 数の同じ固有値(縮退)を持つような行列などは考えないものとする。

行列 $ \boldsymbol{A}$の固有値を$ \lambda$、固有ベクトルを $ \boldsymbol{x}$とすると、それらには、次 の関係がある。

$\displaystyle \boldsymbol{A}\boldsymbol{x}=\lambda\boldsymbol{x}$ (1)

つまり、行列 $ \boldsymbol{A}$はベクトルを変換するが、それが固有ベクトルの場合、固有値の乗じ た変換しかしないのである。要するに、行列 $ \boldsymbol{A}$には特別の方向 $ \boldsymbol{x}$と大きさ $ \lambda$があるのである。

固有値は、式(1)を変形して、

$\displaystyle (\boldsymbol{A}-\lambda\boldsymbol{I})\boldsymbol{x}=0$ (2)

から求める。もちろん、この式から $ \boldsymbol{x}=0$という解もあるが、これはつまらないので 興味の対象外である。それ以外の有用な解は、

$\displaystyle \det(\boldsymbol{A}-\lambda\boldsymbol{I})=0$ (3)

の場合に生じる。この方程式を特性方程式という。 $ \boldsymbol{A}$がn次の正方行列であれば、 これはn次方程式になるので、n個の解がある。またそれに応じて、n個の固有ベクトルが ある。

このようにして、何がうれしいかというと、線形の連立微分方程式を解いたりするときに この方法は大変役に立つのである。

2.2 行列の対角化

固有ベクトルを列ベクトルとして、n個並べる行列 $ \boldsymbol{S}$を考える。即ち、

$\displaystyle \boldsymbol{S}=[\boldsymbol{x}_1,\boldsymbol{x}_2,\boldsymbol{x}_3,\cdots,\boldsymbol{x}_n ]$ (4)

である。そして、対角成分に固有値を並べた対角行列

$\displaystyle \Lambda=\left[ \begin{array}{@{\,}ccccc@{\,}} \lambda_1 & & & & \...
...smash{\Huge$0$}}\quad} & & \ddots & \\ & & & & \lambda_n \\ \end{array} \right]$ (5)

を考える。

これらの行列から、

$\displaystyle \boldsymbol{A}\boldsymbol{S}=\boldsymbol{S}\Lambda$ (6)

が直ちに分かる。従って、行列 $ \boldsymbol{A}$は、固有ベクトルからなる行列を用いて

$\displaystyle \boldsymbol{S}^{-1}\boldsymbol{A}\boldsymbol{S}=\Lambda$ (7)

と対角化できる。この $ \boldsymbol{S}$をを $ \boldsymbol{A}$の対角化行列と言い、これにより固有値が並 ぶ行列に対角化できる。

この様に行列を変形して、なにがうれしいのか。それは、次に示すように、行列を何回も 乗算するときに計算がうんと楽になるのである。


2.3 行列の乗算

先ほどの式は、

$\displaystyle \boldsymbol{A}=\boldsymbol{S}\Lambda\boldsymbol{S}^{-1}$ (8)

のように書くことができる。次に行列をn回乗算することを、 $ \boldsymbol{A}^n$と書くことにす る。通常の記号とおなじである。すると、

$\displaystyle \boldsymbol{A}^n$ $\displaystyle =\boldsymbol{A}\boldsymbol{A}\boldsymbol{A}\cdots\boldsymbol{A}$    
  $\displaystyle =\boldsymbol{S}\Lambda\boldsymbol{S}^{-1}\boldsymbol{S}\Lambda\bo...
...bda\boldsymbol{S}^{-1}\cdots \boldsymbol{S}\Lambda\boldsymbol{S}^{-1} \nonumber$    
  $\displaystyle =\boldsymbol{S}\Lambda\Lambda\Lambda\cdots\Lambda\boldsymbol{S}^{-1}$    
  $\displaystyle =\boldsymbol{S}\Lambda^n\boldsymbol{S}^{-1}$ (9)

となる。ここで、$ \Lambda$は対角行列なので、その計算は簡単で、

$\displaystyle \Lambda^n=\left[ \begin{array}{@{\,}ccccc@{\,}} \lambda_1^n & & &...
...ash{\Huge$0$}}\quad} & & \ddots & \\ & & & & \lambda_n^n \\ \end{array} \right]$ (10)

となる。これことは、固有値と固有ベクトルを使ってベクトルを表現すると、そのn乗は 感単に計算できると言っている。
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成16年12月14日


no counter