機械学習に詳しくなりたいブログ

機械学習や数学について勉強した内容を中心に書きます。100%趣味です。記事は数学的に厳密でなかったり誤りを含んでいるかもしれません。ご指摘頂ければ幸いです。

行列の対角化

固有ベクトルと基底の続きです。

固有ベクトルと基底の式(2)で書いたとおり、


 x_1\mathbf{e}_1 + x_2\mathbf{e}_2 = x_1^{\prime}\mathbf{e}_1^{\prime} + x_2^{\prime}\mathbf{e}_2^{\prime} \tag{1}

でした。式(1)を


\mathbf{x} = \mathbf{P} \mathbf{x}^{\prime} \tag{2}

と表すこととします。\mathbf Pは固有ベクトルを並べた行列です。

\mathbf{y} = \mathbf{A} \mathbf{x}により線形変換されるベクトル\mathbf yについても、同様に


 y_1\mathbf{e}_1 + y_2\mathbf{e}_2 = y_1^{\prime}\mathbf{e}_1^{\prime} + y_2^{\prime}\mathbf{e}_2^{\prime} \tag{3}

と表せば、


\mathbf{y} = \mathbf{P} \mathbf{y}^{\prime} \tag{4}

となります。式(2),(4)を\mathbf{y} = \mathbf{A} \mathbf{x}に代入すれば、


\begin{eqnarray*}
\mathbf{P} \mathbf{y}^{\prime} &=& \mathbf{A} \mathbf{P} \mathbf{x}^{\prime} \tag{5} \\
 \mathbf{y}^{\prime} &=& \mathbf{P}^{-1}\mathbf{A} \mathbf{P} \mathbf{x}^{\prime}\tag{6}
\end{eqnarray*}

となります。固有ベクトルと基底で示したように、


\begin{eqnarray*}
{y}_1^{\prime} &=& \lambda_1 x_1^{\prime} \tag{7} \\
{y}_2^{\prime} &=& \lambda_2 x_2^{\prime} \tag{8} 
\end{eqnarray*}

でしたから、\mathbf{P}^{-1}\mathbf{A} \mathbf{P} は対角要素が\mathbf Aの固有値の対角行列となっているはずです。以上のように、固有ベクトルを並べた行列\mathbf Pを用いることで、対角行列を作ることができます。このような変形を対角化といいます。

これまでのことは、以下のような図でまとめることができます。

f:id:opabinia2:20180616214350p:plain

2つの座標系で同じベクトルを表現し、変換行列でいったりきたるするのでややこしい。基底を使って式(1)のように書けば等号が成り立ちますが、それを省略して、同じベクトルを表しているからといってx_1=x_1^{\prime}とはならないんですね。この辺を混同してしまうと泥沼にはまる。

こちらの導出のほうがわかりやすい:行列の対角化(2)