線形代数I/実対称行列の対角化 のバックアップソース(No.1)

更新

[[線形代数I]]

#contents

培風館「教養の線形代数(五訂版)」に沿って行っている授業の授業ノート(の一部)です。

* 実対称行列の対角化 [#rae87767]

** 実対称行列の固有値は必ず実数 [#y13dad29]

準備:

任意の複素ベクトル &math(\bm z); に対して、&math({}^t\bar{\bm z}\bm z); は実数であり、
&math({}^t\bar{\bm z}\bm z\ge 0);。等号は &math(\bm z=\bm 0); の時のみ成り立つ。

&math(
\because \bm z=\begin{bmatrix}z_1\\z_2\\\vdots\\z_n\end{bmatrix}, \bar{\bm z}=\begin{bmatrix}\bar z_1\\\bar z_2\\\vdots\\\bar z_n\end{bmatrix}, {}^t\!\bar{\bm z}=\begin{bmatrix}\bar z_1&\bar z_2&\cdots&\bar z_n\end{bmatrix}
);

&math(
{}^t\!\bar{\bm z} \bm z&=\bar z_1 z_1 + \bar z_2 z_2 + \dots + \bar z_n z_n\\
&=\|z_1\|^2 + \|z_2\|^2 + \dots + \|z_n\|^2 \in \mathbb R\\
);

右辺は明らかに非負で、ゼロになるのは &math(\bm z=\bm 0); の時のみである。

証明:

&math(A\bm z=\lambda \bm z); の時、

&math(
&\lambda\,{}^t\!\bar{\bm z} \bm z=
{}^t\!\bar{\bm z} (\lambda\bm z)=
{}^t\!\bar{\bm z} (A \bm z)=
{}^t\!\bar{\bm z} A \bm z=
{}^t\!\bar{\bm z}\, {}^t\!A \bm z=
{}^t\!\bar{\bm z}\, {}^t\!\bar A \bm z=\\
&{}^t\!(\bar A\bar{\bm z}) \bm z=
\overline{{}^t\!(A{\bm z})} \bm z=
\overline{{}^t\!(\lambda{\bm z})} \bm z=
\overline{(\lambda{}^t\!\bm z)} \bm z=
\bar\lambda\,{}^t\!\bar{\bm z} \bm z
);

&math(
(\lambda-\bar\lambda)\,{}^t\!\bar{\bm z} \bm z=0
);

&math(\bm z\ne \bm 0); の時、&math({}^t\!\bar{\bm z} \bm z\ne 0); より、
&math(\lambda=\bar \lambda); を得る。

*** 複素内積、エルミート行列 [#pa4e9431]

実は、複素ベクトルを考える場合、内積の定義は &math((\bm x,\bm y)={}^t\bm x\bm y); ではなく、
&math((\bm x,\bm y)={}^t\bar{\bm x}\bm y); を用いる。

そうすることで、&math(|z|^2=(\bm z,\bm z)\ge 0); がノルムとして定義される。

このとき、&math((A\bm x,\bm y)=(\bm x,A\bm y)); を満たすのは対称行列 (&math(A={}^tA);) ではなく、
エルミート行列 &math(A={}^t\!\bar A); である。対称行列は実エルミート行列と言っても良い。

対称行列に限らず、エルミート行列はすべて固有値が実数となる。

対称行列では固有ベクトルも実数となる。~
複素エルミート行列の場合、固有ベクトルは実数にはならない。

以下は実数の範囲のみを考える。

** 実対称行列では、異なる固有値に属する固有ベクトルは直交する [#o90f751d]

&math(A\bm x=\lambda \bm x, A\bm y=\mu \bm y); かつ &math(\lambda\ne\mu); の時、

&math(\lambda(\bm x,\bm y)=(\lambda\bm x,\bm y)=(A\bm x,\bm y)=(\bm x,\,{}^t\!A\bm y)=(\bm x,A\bm y)=(\bm x,\mu\bm y)=\mu(\bm x,\bm y));

すなわち、

&math((\lambda-\mu)(\bm x,\bm y)=0);

&math(\lambda-\mu\ne 0); より、

&math((\bm x,\bm y)=0);

を得る。

** 実対称行列の直交行列による対角化 [#rf85899c]

(1) 固有値がすべて異なる場合、固有ベクトルは自動的に直交するので、
大きさが1になるように選ぶことにより (&math(\bm r_k=\frac{1}{|\bm p_k|}\bm p_k);)、

&math(R=\Bigg[\bm r_1\ \bm r_2\ \dots\ \bm r_n\Bigg]);

は直交行列となり、この &math(R); を用いて、

&math(R^{-1}AR);

を対角行列にできる。

(2) 固有値に重複がある場合にも、

対称行列では、重複する固有値に属する1次独立な固有ベクトルを重複度分だけ見つけることが常に可能~
(証明は (定理6.8) にあるが、ここでは省略)

それらをグラム・シュミットの直交化法により正規直交化し、他の固有ベクトルと合わせれば、
やはり直交行列 &math(R); が得られる。

*** 例 [#udc7f9ee]

&math(A=\begin{bmatrix}2&1&1\\1&2&1\\1&1&2\end{bmatrix});

まず固有値を求める

&math(
|A-\lambda I|&=\begin{vmatrix}2-\lambda&1&1\\1&2-\lambda&1\\1&1&2-\lambda\end{vmatrix}\\
&=\begin{vmatrix}4-\lambda&4-\lambda&4-\lambda\\1&2-\lambda&1\\1&1&2-\lambda\end{vmatrix}\hspace{1cm}\leftarrow\text{2,3行目を1行目に加えた}\\
&=(4-\lambda)\begin{vmatrix}1&1&1\\1&2-\lambda&1\\1&1&2-\lambda\end{vmatrix}\\
&=(4-\lambda)\begin{vmatrix}1&0&0\\1&1-\lambda&0\\1&0&1-\lambda\end{vmatrix}\\
&=(1-\lambda)^2(4-\lambda)\\
);

&math(\lambda=1,4); ただし &math(1); は2重解。

I. &math(\lambda=1); の時、

&math(
(A-\lambda I)\bm x&=
\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix}
\begin{bmatrix}x\\y\\z\end{bmatrix}\\
);

&math(\therefore x+y+z=0); 掃き出せない &math(y,z); をパラメータ &math(s,t); と置けば 
&math(x=-s-t);

したがって、

&math(
\begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}-1\\0\\1\end{bmatrix}+t\begin{bmatrix}0\\-1\\1\end{bmatrix}
);

II. &math(\lambda=4); の時、

&math(
(A-\lambda I)\bm x&=
\begin{bmatrix}-2&1&1\\1&-2&1\\1&1&-2\end{bmatrix}
\begin{bmatrix}x\\y\\z\end{bmatrix}\\
);

&math(
&\begin{bmatrix}-2&1&1&0\\1&-2&1&0\\1&1&-2&0\end{bmatrix}\\
&\sim \begin{bmatrix}1&-2&1&0\\-2&1&1&0\\1&1&-2&0\end{bmatrix}\\
&\sim \begin{bmatrix}1&-2&1&0\\0&-3&3&0\\0&3&-3&0\end{bmatrix}\\
&\sim \begin{bmatrix}1&-2&1&0\\0&1&-1&0\\0&1&-1&0\end{bmatrix}\\
&\sim \begin{bmatrix}1&0&-1&0\\0&1&-1&0\\0&0&0&0\end{bmatrix}\\
);

&math(\therefore \begin{cases}x-z=0\\y-z=0\end{cases}); 掃き出せない &math(z); をパラメータ &math(s); と置けば &math(x=y=s);

したがって、

&math(
\begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}1\\1\\1\end{bmatrix}
);

&math(A); が実対称行列であるため、

&math(\begin{bmatrix}-1\\0\\1\end{bmatrix}\perp\begin{bmatrix}1\\1\\1\end{bmatrix});
および
&math(\begin{bmatrix}0\\-1\\1\end{bmatrix}\perp\begin{bmatrix}1\\1\\1\end{bmatrix});
が確認できる。

同じ固有値 &math(\lambda=1); に属する &math(\begin{bmatrix}-1\\0\\1\end{bmatrix}); と 
&math(\begin{bmatrix}0\\-1\\1\end{bmatrix}); とは直交しないので、これらをシュミットの
直交化法により直交させる。

&math(\bm f_1=\begin{bmatrix}-1\\0\\1\end{bmatrix});

&math(\bm e_1=\frac{1}{|\bm f_1|}\bm f_1=\frac{1}{\sqrt 2}\begin{bmatrix}-1\\0\\1\end{bmatrix});

&math(\bm f_2&=\begin{bmatrix}0\\-1\\1\end{bmatrix}-\left(\bm e_1,\begin{bmatrix}0\\-1\\1\end{bmatrix}\right)\bm e_1\\
&=\begin{bmatrix}0\\-1\\1\end{bmatrix}-\frac{1}{2}\begin{bmatrix}-1\\0\\1\end{bmatrix}\\
&=\frac{1}{2}\begin{bmatrix}1\\-2\\1\end{bmatrix});

&math(\bm e_2=\frac{1}{|\bm f_2|}\bm f_2=\frac{1}{\sqrt 6}\begin{bmatrix}1\\-2\\1\end{bmatrix});

&math(\bm f_3=\begin{bmatrix}1\\1\\1\end{bmatrix});

&math(\bm e_3=\frac{1}{|\bm f_3|}\bm f_3=\frac{1}{\sqrt 3}\begin{bmatrix}1\\1\\1\end{bmatrix});

したがって、

&math(R=\begin{bmatrix}-1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\\0&-2/\sqrt 6&1/\sqrt 3\\1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\end{bmatrix});

と置けば、&math(R); は直交行列となる。

念のため確かめてみると、

&math({}^t\!RR&=\begin{bmatrix}-1/\sqrt 2&0&1/\sqrt 2\\1/\sqrt 6&-2/\sqrt 6&1/\sqrt 6\\1/\sqrt 3&1/\sqrt 3&1/\sqrt 3\end{bmatrix}\begin{bmatrix}-1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\\0&-2/\sqrt 6&1/\sqrt 3\\1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\end{bmatrix}\\
&=\begin{bmatrix}1/2+1/2&-1/\sqrt{12}+1/\sqrt{12}&-1/\sqrt{6}+1/\sqrt{6}\\-1/\sqrt{12}+1/\sqrt{12}&1/6+4/6+1/6&1/\sqrt{18}-2/\sqrt{18}+1/\sqrt{18}\\-1/\sqrt 6+1/\sqrt 6&1/\sqrt{18}-2/\sqrt{18}+1/\sqrt{18}&1/\sqrt 3+1/\sqrt 3+1/\sqrt 3\end{bmatrix}\\
&=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix});

で、直交行列の条件 &math({}^t\!R=R^{-1}); を満たしていることが分かる。

この &math(R); を使って、&math(A); は

&math(R^{-1}AR=\begin{bmatrix}1&0&0\\0&1&0\\0&0&4\end{bmatrix});

の形に直交化される。

* 質問・コメント [#jd6479a8]

#article_kcaptcha

Counter: 244672 (from 2010/06/03), today: 5, yesterday: 0