2 行列の対角化と応用

2.1 固有値と固有ベクトル

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

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

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

つまり,行列 $ \boldsymbol{A}$はベクトルを変換するが,それが固有ベクトル $ \boldsymbol{x}$の場合,固 有値を乗じた変換しかしないのである.要するに,行列 $ \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$次の正方行列 $ \boldsymbol{A}$$ n$個の固有値と固有ベクトルをもつ.

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

2.2 行列の対角化

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

$\displaystyle \boldsymbol{X}=[\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{X}=\boldsymbol{X}\Lambda$ (6)

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

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

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

このように行列を変形して,なにがうれしいのか?.次に示すように,行列を何回も 乗算するときに計算がうんと楽になり,大変便利である.


2.3 行列の乗算

先ほどの式(6)は,

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

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

$\displaystyle \boldsymbol{A}^n$ $\displaystyle =\boldsymbol{A}\boldsymbol{A}\boldsymbol{A}\cdots\boldsymbol{A}$    
  $\displaystyle =\boldsymbol{X}\Lambda\boldsymbol{X}^{-1}\boldsymbol{X}\Lambda\bo...
...bda\boldsymbol{X}^{-1}\cdots \boldsymbol{X}\Lambda\boldsymbol{X}^{-1} \nonumber$    
  $\displaystyle =\boldsymbol{X}\Lambda\Lambda\Lambda\cdots\Lambda\boldsymbol{X}^{-1}$    
  $\displaystyle =\boldsymbol{X}\Lambda^n\boldsymbol{X}^{-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
平成18年11月12日


no counter