固有値問題・固有空間・スペクトル分解 のバックアップ差分(No.22)

更新


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[前の単元 <<<>線形代数II/射影・直和・直交直和]]
               [[線形代数II]]
               [[>>> 次の単元>線形代数II/行列の関数]]

* 概要 [#rda7a628]

#contents
#mathjax

* $n$ 次正方行列 $A$ の固有値問題 [#z1f21735]

1年生でしっかりやったはずなので、ここでは簡単におさらい。

** 固有値問題 [#se45d460]

 &math(A\bm x=\lambda\bm x);  ただし &math(\bm x\ne\bm 0); 

を満たすような &math(\lambda); を固有値、&math(\bm x); を固有ベクトルと呼ぶ。~
これらを求めるのが固有値問題。

変形すると &math((A-\lambda E)\bm x=\bm 0); 

もし &math((A-\lambda E)); が正則なら &math(\bm x=(A-\lambda E)^{-1}\bm 0=\bm 0); となってしまってダメなので、&math(\lambda); は次の式を満たさなければならない。

 &math(|A-\lambda E|=0);  

これは &math(\lambda); に関する &math(n); 次方程式(&math(A); の固有方程式と呼ぶ)
となる。これを複素数の範囲で解けば、重複度を含めて &math(n); 個の &math(\lambda); 
が求まる([[Wikipedia:代数学の基本定理]])

固有方程式から得られたそれぞれの &math(\lambda); について、

 &math((A-\lambda E)\bm x=\bm 0); を &math(\bm x); について解くことで、

1コ以上、重複度コ以下の一次独立な固有ベクトルの線形結合の形で &math(\bm x); の一般解が求まる

 &math(\bm x=c_1\bm x_1+c_2\bm x_2+\dots+c_r\bm x_r);   &math(c_k\in K);  &math(r\le(重複度));

&math(r); は解の自由度と呼ばれる。
*** 練習 [#jce2f76d]

&math(
A=\begin{pmatrix}
\cos\theta&-\sin\theta\\
\sin\theta&\cos\theta\\
\end{pmatrix}
); について固有値問題を解け。ただし &math(\theta\ne 2m\pi);

&math(A); は回転を表わす行列。一方で、固有値問題は &math(A\bm x=\lambda\bm x); だから、&math(A); を掛けても向きの変わらないベクトルを探す問題。すなわち・・・解無しになるのでは? と思うのが正しい感覚。

実際、実数の範囲では固有値は存在しない。一方、複素数の範囲ではどんな行列にも必ず重複度を含めて &math(n); コの固有値が存在し、それぞれの固有値に対して最低1コの固有ベクトルが見付かる。

回転を表わす上記の &math(A); に対しても、複素数の範囲ならばちゃんと固有値・固有ベクトルが見付かることを確認せよ。

*** 解答 [#u9ce5749]

&math(\sin\theta=0); では &math(A=E); または &math(A=-E); なので、~
任意のベクトルが固有値 1 または -1 の固有ベクトルになる。

以下では &math(\sin\theta\ne 0); として解く。

 &math(
|A-\lambda E|=\begin{vmatrix}
\cos\theta-\lambda&-\sin\theta\\
\sin\theta&\cos\theta-\lambda\\
\end{vmatrix}
=(\cos\theta-\lambda)^2+\sin^2\theta=0
);

すなわち、

 &math((\cos\theta-\lambda)^2=-\sin^2\theta);

&math(\sin\theta\ne 0); のとき、&math(-\sin^2\theta<0); だから、
実数の範囲にこの方程式を満たす &math(\lambda); は存在しない。

しかし複素数の範囲であれば、

 &math(\cos\theta-\lambda=\pm i\sin\theta);

 &math(\lambda=\cos\theta\mp i\sin\theta);

として、&math(2); 個の &math(\lambda); が求まる。
2個なのは元の行列が2次の正方行列であったためだ。

対応する固有ベクトルを求めるには、

&math(
(A-\lambda E)\bm x=\begin{pmatrix}
\pm i\sin\theta&-\sin\theta\\
\sin\theta&\pm i\sin\theta\\
\end{pmatrix}\bm x=\bm 0
);

を解けばよく、係数行列を同値変形すると、

&math(
\sim\begin{pmatrix}
\pm i\sin\theta&-\sin\theta\\
\sin\theta&\pm i\sin\theta\\
\end{pmatrix}
\sim\begin{pmatrix}
\pm i&-1\\
1&\pm i\\
\end{pmatrix}
\sim\begin{pmatrix}
1&\pm i\\
1&\pm i\\
\end{pmatrix}
\sim\begin{pmatrix}
1&\pm i\\
0&0\\
\end{pmatrix}
);

3つ目の &math(\sim); では1行目に &math(\mp i); をかけた。

したがって、&math(x\pm iy=0); となり、掃出せなかった &math(y); をパラメータとすれば、

&math(\lambda=\cos\theta+i\sin\theta); の固有ベクトルの一般形は

 &math(\bm x=y\begin{pmatrix}
i\\1
\end{pmatrix});

&math(\lambda=\cos\theta-i\sin\theta); の固有ベクトルの一般形は

 &math(\bm x=y\begin{pmatrix}
-i\\1
\end{pmatrix});

となる。

実際に入れてみると、

&math(
\begin{pmatrix}
\cos\theta&-\sin\theta\\
\sin\theta&\cos\theta\\
\end{pmatrix}\begin{pmatrix}
\pm i\\1
\end{pmatrix}&=
\begin{pmatrix}
\pm i\cos\theta-\sin\theta\\
\pm i\sin\theta+\cos\theta
\end{pmatrix}=
\begin{pmatrix}
\pm i(\cos\theta\pm i\sin\theta)\\
\cos\theta\pm i\sin\theta
\end{pmatrix}\\&=
(\cos\theta\pm i\sin\theta)\begin{pmatrix}
\pm i\\
1
\end{pmatrix}=
e^{\pm i\theta}
\begin{pmatrix}
\pm i\\
1
\end{pmatrix}
);

のようになって、確かに固有値・固有ベクトルになっていることが分かる。
これらの固有ベクトルに対しては、「平面内の回転」を表す行列が、
「複素数の位相を回転」させているのは興味深いところだ。

** 対角化 [#sb4cc10b]

固有値は重複度を含めて &math(n); 個存在するから、
それぞれの固有値に対してちょうど重複度に等しい数の一次独立な固有ベクトルが求まる場合には
(必ずしも見付からない)、それらをすべて集めると &math(n); 個の一次独立な固有ベクトルが見つかることになる。

  &math(A\bm x_1=\lambda_1\bm x_1);

  &math(A\bm x_2=\lambda_2\bm x_2);

      &math(\phantom{A\bm x_2}\vdots);

  &math(A\bm x_n=\lambda_n\bm x_n);

これらをまとめて書くと、

  &math(
A\underbrace{\Big(\bm x_1\ \bm x_2\ \dots\ \bm x_n\Big)}_P
&=\Big(A\bm x_1\ A\bm x_2\ \dots\ A\bm x_n\Big)\\
&=\Big(\lambda_1\bm x_1\ \lambda_2\bm x_2\ \dots\ \lambda_n\bm x_n\Big)\\
&=\underbrace{\Big(\bm x_1\ \bm x_2\ \dots\ \bm x_n\Big)}_P
\underbrace{\begin{pmatrix}
\lambda_1\\
&\lambda_2\\
&&\ddots\\
&&&\lambda_n
\end{pmatrix}}_\Lambda
);

  &math(AP=P\Lambda);

&math(P); の列ベクトルが一次独立であることから &math(P); は正則なので、
左から &math(P^{-1}); を掛ければ、

  &math(P^{-1}AP=\Lambda);

として、正則行列 &math(P); により &math(A); を対角化できる。

「&math(n); 個の一次独立な固有ベクトルが見つかる」と
「&math(n); 個の一次独立な固有ベクトルが見つかる」あるいは
「固有ベクトルで &math(n); 次元空間の基底を作れる」ということと
「対角化できる」は同値な条件になっている。

** 実対称行列では [#t45d8b4a]

- 固有値 &math(\lambda); はすべて実数 &math(\lambda_k\in\mathbb R);
- 直交行列 &math({}^t\!R=R^{-1}); により対角化可能 &math(R^{-1}AR={}^t\!RAR=\Lambda);

1年生の時に証明した。後でより一般的な証明を与える。

* 線形変換の固有値問題 [#t50eddc9]

線形変換 &math(T:V\to V); に対して、

  &math(T\bm x=\lambda\bm x);  ただし &math(\bm x\ne\bm 0);

を満たすスカラー &math(\lambda); を固有値、ベクトル &math(\bm x); を固有ベクトルと呼ぶ。

この方程式の、ある基底 &math(B); に対する表現は

  &math(T_B\bm x_B=\lambda\bm x_B);  ただし &math(\bm x_B\ne\bm 0);

となるから、行列 &math(T_B); の固有値問題を解けば &math(T); の固有値問題が解ける。

当然、別の基底 &math(B'); に対する表現も

  &math(T_{B'}\bm x_{B'}=\lambda\bm x_{B'});  ただし &math(\bm x_{B'}\ne\bm 0);

となるから、

  &math((Tの固有値)&=(T_Bの固有値)\\
&=(T_{B'}の固有値));

であり、固有値は基底の取り方に依存しない。

>基底 &math(B); から基底 &math(B'); への基底の変換行列を &math(P_{B\to B'}); とすると、
>>&math(T_{B'}=P_{B\to B'}^{-1}T_BP_{B\to B'});
>異なる基底に対する &math(T); の表現 &math(T_B,T_{B'}); 
は互いに相似の関係にあるのだから、固有値が等しいのは当然だ。

一方、固有ベクトル &math(\bm x); の表現 &math(\bm x_B,\bm x_{B'}); は、
基底の取り方に依存する

*** 練習 [#gadd49ab]

&math(x); の2次以下の多項式からなる線形空間 &math(P^2[x]); において、
次の線形変換を考える。

  &math(T:f(x)\mapsto f(x+1)); 

&math(T); の固有値、固有ベクトルを求めよ。

  &math(
T(ax^2+bx+c)
&=a(x+1)^2+b(x+1)+c\\
&=ax^2+(2a+b)x+(a+b+c)
);

基底を &math(B=\langle x^2,x,1\rangle); と取れば、

  &math(
T_B=\begin{pmatrix}
1&0&0\\
2&1&0\\
1&1&1\\
\end{pmatrix}
);

であるから、

  &math(
|T_B-\lambda E|=
\begin{vmatrix}
1-\lambda&0&0\\
2&1-\lambda&0\\
1&1&1-\lambda\\
\end{vmatrix}=(1-\lambda)^3=0
);

&math(\therefore \lambda=1);

  &math(
(T_B-E)\bm x=\begin{pmatrix}
0&0&0\\
2&0&0\\
1&1&0\\
\end{pmatrix}\begin{pmatrix}
a\\b\\c
\end{pmatrix}=\bm 0
);

  &math(a=b=0); 

  &math(c=s); と置けば、

  &math(
\begin{pmatrix}
a\\b\\c
\end{pmatrix}=
s
\begin{pmatrix}
0\\0\\1
\end{pmatrix}
);

&math(
\bm x_B=\begin{pmatrix}
0\\0\\1
\end{pmatrix}
); に対応するベクトルは &math(\bm x=0x^2+0x+1=1);

すなわち、固有値 &math(\lambda=1);、固有ベクトル &math(s\cdot 1); が答えになる。

固有値問題を解くには適当な基底に対する表現を使うと便利だが、
答えを書くときには元の線形空間の元に直さなければならない。
基底の選び方には任意性があり、回答者が勝手に決めたものだからだ。

どのような基底を取って計算しても、元の空間に戻した際の答えは変わらない。


* 特殊な線形変換の固有値問題 [#z59881ce]

** エルミート変換・エルミート行列 [#b253f18d]

エルミート変換とは &math((H\bm x,\bm y)=(\bm x,H\bm y)); を満たす線形変換。

エルミート変換の正規直交基底に対する表現行列はエルミート行列になる

すなわち、&math(H_B^\dagger=H_B); ただし &math(B); は正規直交基底

>∵エルミート変換の式の両辺の成分を考える:
>&math((左辺)=(H_B\bm x_B)^\dagger\bm y_B=\bm x_B^\dagger H_B^\dagger\bm y_B);
>&math((右辺)=\bm x_B^\dagger(H_B\bm y_B)=\bm x_B^\dagger H_B        \bm y_B);
>任意の &math(\bm x,\bm y); に対して成り立つから、&math(H_B^\dagger=H_B);

注:エルミート行列かつ実数行列である行列、実エルミート行列は対称行列になる


*** エルミート演算子の例 [#yd4e94ef]

射影演算子はエルミートである。

量子力学では、任意の観測可能な物理量は波動関数に対するエルミート演算子で表わされる。

*** エルミート変換の固有値は実数になる [#b881fe48]

&math(H\bm x=\lambda x); ただし 
&math(\bm x\ne \bm 0); とすると、

 &math((\bm x,H\bm x)=(H\bm x,\bm x));

に対して、

 &math(
 &(左辺)=         \lambda(\bm x,\bm x)=         \lambda|\bm x|^2\\
=&(右辺)=\overline\lambda(\bm x,\bm x)=\overline\lambda|\bm x|^2\\
);

より、

 &math((\lambda-\overline\lambda)|\bm x|^2=0);  
&math(\bm x\ne 0); だから、

 &math(\lambda=\overline\lambda);

すなわち、

 &math(\lambda\in\mathbb R);

*** エルミート変換の異なる固有値に属する固有ベクトルは直交する [#iae36740]

&math(H\bm x=\lambda\bm x);、&math(H\bm y=\lambda'\bm y); 
ただし &math(\bm x\ne \bm 0,\bm y\ne\bm 0); とすると、

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

に対して、&math(\lambda\in\mathbb R); すなわち &math(\overline\lambda=\lambda); であるから、

 &math(
 &(左辺)=(\lambda\bm x,\bm y)=\overline\lambda(\bm x,\bm y)=\lambda(\bm x,\bm y)\\
=\,&(右辺)=(\bm x, \lambda'\bm y)=\lambda'(\bm x, \bm y)
);

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

したがって、
&math(\lambda\ne\lambda'); ならば、
&math((\bm x,\bm y)=0); である。

** ユニタリ変換・ユニタリ行列 [#g90f3615]

ユニタリ変換: &math((U\bm x,U\bm y)=(\bm x,\bm y));   内積を保存する変換のこと~

ユニタリ変換の正規直交基底に対する表現行列はユニタリ行列になる

すなわち、&math(U_B^\dagger=U_B^{-1});  ただし &math(B); は正規直交基底

>&math((左辺)=\bm x_B^\dagger U_B^\dagger U_B\bm y_B=\bm x_B^\dagger\bm y_B=(右辺));~
>&math(U_B^\dagger U_B=E_B);

注:ユニタリ行列かつ実行列な行列、すなわち実ユニタリ行列は直交行列である。

*** ユニタリ変換の例 [#ra216322]

原点を中心とする回転および反転は、任意のベクトルの長さを保存するが、
そのような変換がユニタリ変換である。

任意の正規直交基底から、別の正規直交基底への基底の変換はユニタリ変換となる。

量子力学において、例えば時間を進める演算子=時間発展演算子はユニタリになる。
*** ユニタリ行列の列ベクトルは正規直交系を為す [#k321f97b]

&math(U=\Big(\bm e_1\ \bm e_2\ \dots\ \bm e_n\Big)); と置けば、

&math(
&U^{-1}U=U^\dagger U=\begin{pmatrix}
\hspace{5mm}&\bm e_1^\dagger&\hspace{5mm}\\&\bm e_2^\dagger\\&\vdots\\&\bm e_n^\dagger
\end{pmatrix}\Bigg(\bm e_1\ \bm e_2\ \dots\ \bm e_n\Bigg)=
\begin{pmatrix}
(\bm e_1,\bm e_1)&(\bm e_1,\bm e_2)&\cdots &(\bm e_1,\bm e_n)\\
(\bm e_2,\bm e_1)&(\bm e_2,\bm e_2)&       &\vdots\\
\vdots           &                 &\ddots &\vdots\\
(\bm e_n,\bm e_1)&\cdots           &\cdots &(\bm e_n,\bm e_n)\\
\end{pmatrix}\\
&=E=
\begin{pmatrix}
\delta_{11}&\delta_{12}&\cdots &\delta_{1n}\\
\delta_{21}&\delta_{22}&       &\vdots\\
\vdots     &           &\ddots &\vdots\\
\delta_{n1}&\cdots     &\cdots &\delta_{nn}\\
\end{pmatrix}
);

より、

&math(
(\bm e_i,\bm e_j)=\delta_{ij}
);

同様に &math(UU^\dagger=E); より行ベクトルも正規直交系を為すことを示せる。

*** ユニタリ変換の固有値の絶対値は1になる [#u6e5ff67]

&math(U\bm x=\lambda\bm x); ただし &math(\bm x\ne \bm 0); とすると、

 &math(
(U\bm x,U\bm x)=(\bm x,\bm x)
);

に対して、

 &math(
   &(左辺)=\lambda\overline\lambda(\bm x,\bm x)=|\lambda|^2|\bm x|^2\\
=\,&(右辺)=|\bm x|^2\\
);

 &math((|\lambda|^2-1)|\bm x|^2=0);  &math(\bm x\ne\bm 0); であれば

 &math(|\lambda|=1);

絶対値が1の複素数はある実数 &math(\theta); を用いて &math(e^{i\theta}); と表せるから、

 &math(\lambda=e^{i\theta});

と書けることになる。

*** ユニタリ変換の異なる固有値に属する固有ベクトルは直交する [#o4ab3e08]

&math(U\bm x=\lambda\bm x);、&math(U\bm y=\lambda'\bm y); 
ただし &math(\bm x\ne\bm 0,\bm y\ne\bm 0); とすると、

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

に対して、

 &math(
   &(左辺)=(\lambda\bm x,\lambda'\bm y)=\overline\lambda\lambda'(\bm x,\bm y)\\
);

 &math(
\therefore (\overline\lambda\lambda'-1)(\bm x,\bm y)=0
);

ここで、&math(|\lambda|=1); より &math(\lambda=e^{i\theta}); と置けば、

  &math(\overline\lambda=e^{-i\theta}=\frac{1}{e^{i\theta}}=\frac{1}{\lambda});

  &math(\overline\lambda\lambda'-1=\frac{\lambda'}{\lambda}-1=\frac{\lambda'-\lambda}{\lambda});

この値は &math(\lambda\ne\lambda'); のときゼロにならないから、

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

※もちろん &math(|\lambda|^2=\overline{\lambda}\lambda=1); から直接
&math(\overline{\lambda}=1/\lambda); としても良いが、
上記の説明の方がその意味がよく分かるはず。

*** 例 [#m4cc8fd3]

ユニタリ行列

&math(
A=\begin{pmatrix}
\cos\theta&-\sin\theta\\
\sin\theta&\cos\theta\\
\end{pmatrix}
); について上記を確かめよ。

** 演習 [#z2920f42]

- エルミート行列の和はエルミート行列になること
- ユニタリ行列の積はユニタリ行列になること
- エルミート行列の積が必ずしもエルミート行列にはならないこと
- ユニタリ行列の和がユニタリ行列にはならないこと

を証明せよ。

** 正規行列 [#gbc1ad24]

エルミート行列がユニタリ行列で対角化可能であることは1年生で学んだ。
上記のようにユニタリ行列の固有ベクトルも互いに直交するため、
ユニタリ行列もユニタリ行列で対角化できる。

このように、ユニタリ行列 &math(U^\dagger=U^{-1}); 
で対角化可能な行列のことを正規行列と呼ぶ。

正規行列であるかどうかは、
&math(A^\dagger A=AA^\dagger); を満たすかどうかで判別可能である。

※証明は [[線形代数II/正規行列の対角化可能性]] を参照。

エルミート行列では &math(H^\dagger H=H^2=HH^\dagger);

ユニタリ行列では &math(U^\dagger U=E=UU^\dagger);

で、確かにどちらも正規行列になっている。

*** 正規行列の固有ベクトル [#i7801746]

対角化 &math(P^{-1}AP=\Lambda); に用いる行列 &math(P); 
の列ベクトルはすべて固有ベクトルであった。

したがって、ユニタリ行列で対角化可能ということは、
固有ベクトルにより正規直交系(&math(n); 本あるため正規直交基底)
を作れることと同値である。

結果的に、正規行列の異なる固有値に属する固有ベクトルは直交する。~
証明はこちら→ [[線形代数II/正規行列の異なる固有値に属する固有ベクトルは直交する]]

** 一般の変換では [#d32a4a3d]

異なる固有値に属する固有ベクトルは一次独立である。

すなわち、&math(A\bm x_k=\lambda_k \bm x_k); ただし &math(k=1\sim r); かつ、
すべての &math(\lambda_k); が互いに異なるとき、&math(\bm x_1,\bm x_2,\dots,\bm x_r); は一次独立である。

証明は一年生の時にやった。→ [[線形代数I/固有値と固有ベクトル#o23f59a7]]

* 固有空間 [#s319d545]

ある固有値 &math(\lambda); に属する固有ベクトルの集合は部分空間 
&math(V(\lambda)=\set{\bm x|A\bm x=\lambda\bm x}); を作る。

>&math(\because \bm x,\bm y\in V(\lambda)); すなわち &math(A\bm x=\lambda\bm x,A\bm y=\lambda\bm y); ならば、&math(A(a\bm x+b\bm y)=\lambda(a\bm x+b\bm y)); すなわち &math(a\bm x+b\bm y\in V(\lambda)); であるから、&math(V(\lambda)); はベクトルの和とスカラー倍に対して閉じている。

>厳密には、固有ベクトルの集合にゼロベクトル &math(\bm 0); を加えた集合が部分空間になる

この部分空間 &math(V(\lambda)); を &math(A); の &math(\lambda); に属する固有空間と呼ぶ。

固有値 &math(\lambda); に属する固有ベクトルの一般解が &math(r); コの一次独立なベクトル
&math(\bm x_1,\bm x_2,\dots,\bm x_r); を用いて

  &math(\bm x=c_1\bm x_1+c_2\bm x_2+\dots+c_r\bm x_r);

と書かれるならば、&math(\bm x_1,\bm x_2,\dots,\bm x_r); は &math(V(\lambda)); 
の基底となるから、&math(\dim V(\lambda)=r); である。

** 異なる固有値に属する固有空間はゼロでのみ重なる [#md2ec770]

1つのベクトル &math(\bm x); が2つの固有値 &math(\lambda,\lambda'); の固有ベクトルであるとすると、

 &math(A\bm x=\lambda\bm x=\lambda'\bm x);

 &math((\lambda-\lambda')\bm x=\bm 0);

したがって、&math(\lambda\ne\lambda'); であるなら &math(\bm x=\bm 0); である。

これは、&math(V(\lambda)\cap V(\lambda')=\set{\bm 0}); となることを表している。

** 対角化可能な場合 [#ua2eb55a]

&math(P^{-1}AP=\Lambda); の &math(P); の &math(n); 個の列ベクトルは、
固有空間 &math(V(\lambda_1),V(\lambda_2),\dots,V(\lambda_m)); 
の基底を並べた物である。

さらに、この &math(n); 本のベクトルは一次独立であるから &math(K^n); の基底となる。

部分空間 &math(V(\lambda_1),V(\lambda_2),\dots,V(\lambda_m)); の基底を
合わせた物が全体空間 &math(K^n); の基底となるから、

 &math(K^n=V(\lambda_1)\,\dot +\,V(\lambda_2)\,\dot +\,\dots\,\dot +\,V(\lambda_m));

このとき任意の &math(\bm x\in K^n); は
&math(\bm x_1\in V(\lambda_1),\bm x_2\in V(\lambda_2),\dots,\bm x_m\in V(\lambda_m)); 
を用いて

 &math(\bm x=\bm x_1+\bm x_2+\dots+\bm x_m);

のように一意に分解できて、

 &math(A\bm x=\lambda_1\bm x_1+\lambda_2\bm x_2+\dots+\lambda_m\bm x_m);

となる。

すなわち &math(\bm x); に &math(A); を掛けることは、~
  &math(\bm x); の &math(V(\lambda_1)); 成分を &math(\lambda_1); 倍して、~
  &math(\bm x); の &math(V(\lambda_2)); 成分を &math(\lambda_2); 倍して、~
  ・・・~
最後にまた足し合わせるのと同じである。

もっと一般に、

 &math(A^n\bm x=\lambda_1^n\bm x_1+\lambda_2^n\bm x_2+\dots+\lambda_m^n\bm x_m);

が成り立つこともすぐに分かる。

** スペクトル分解 [#o3f454b2]

射影演算子:&math(P_{V(\lambda_k)}:\bm x\to\bm x_k);

を導入すれば、上記の対角化可能な場合の式は、

 &math(\bm x=\sum_k\underbrace{P_{V(\lambda_k)}\bm x}_{\bm x_k});

 &math(A\bm x=\sum_k\lambda_kP_{V(\lambda_k)}\bm x);

 &math(A^n\bm x=\sum_k\lambda_k^nP_{V(\lambda_k)}\bm x);

となる。右辺と左辺とを比べれば、これらはそれぞれ、

 &math(E=\sum_kP_{V(\lambda_k)});

 &math(A=\sum_k\lambda_kP_{V(\lambda_k)});

 &math(A^n=\sum_k\lambda_k^nP_{V(\lambda_k)});

の関係を表している事が分かる。

特に2番目の式は、対角化可能な行列を固有空間への射影と固有値のかけ算の和に分解できることを表しており、
この右辺を行列 &math(A); の「スペクトル分解」と呼ぶ。

1番目と2番目の式は、3番目の式の &math(n=0,1); の場合と考えることもできる。

** ユニタリ行列で対角化可能な場合(正規行列の場合)[#s017b088]

ユニタリ行列 &math(U); に対して &math({}^tUAU=\Lambda); が対角形になるとき、
&math(U); の列ベクトルは &math(A); の固有ベクトルであり、
ユニタリ行列の列ベクトルは正規直交系をなすから、

 &math(
U=\Bigg(\underbrace{\underbrace{\bm e_1\ \bm e_2}_{V(\lambda_1)}\underbrace{\ \bm e_3\ }_{V(\lambda_2)}
\underbrace{\bm e_4\ \bm e_5\ \bm e_6}_{V(\lambda_3)}\ \dots\ \bm e_n}_{全体空間の正規直交基底}\Bigg)
);

などというように、それぞれの列ベクトルは対応する固有空間の正規直交基底となり、
それら全体を集めたものが全体空間の正規直交基底となる。

これは、全空間が固有空間の直交直和になることに対応している。

 &math(V=V(\lambda_1)\oplus V(\lambda_2)\oplus \dots\oplus V(\lambda_m)); 

このとき、射影演算子 &math(P_{V(\lambda_k)}); は基底ベクトルを使って簡単に求めることができ、

 &math(P_{V(\lambda_1)}=\bm e_1\bm e_1^\dagger+\bm e_2\bm e_2^\dagger);

 &math(P_{V(\lambda_2)}=\bm e_3\bm e_3^\dagger);

 &math(P_{V(\lambda_3)}=\bm e_4\bm e_4^\dagger+\bm e_5\bm e_5^\dagger+\bm e_6\bm e_6^\dagger);

 ・・・

などと表せる。

*** 例題 [#tb33e9c0]

&math(
A=\begin{pmatrix}
1&0&0&0\\
0&3&2&-1\\
0&2&0&2\\
0&-1&2&3
\end{pmatrix}
); を以下の手順でスペクトル分解せよ。

(1) 固有値を求め、小さい方から &math(\lambda_1,\lambda_2,\lambda_3,\dots); とせよ。

(2) 対応する固有ベクトルを求めよ

(3) 固有ベクトルを正規直交化して、ユニタリ行列により &math(A); を対角化せよ。

(4) それぞれの固有値に対応する固有空間 &math(V(\lambda_k)); 
への射影行列 &math(P_{V(\lambda_k)}); を求めよ。

(5) &math(\sum_k P_{V(\lambda_k)}=E); を確かめよ。(&math(E); は単位行列である)

(6) &math(A); をスペクトル分解せよ。

*** 解答 (1) [#gd09808c]

実対称行列すなわちエルミート行列であるから、
固有値は必ず実数になる。

&math(
&|A-\lambda E|
=\begin{vmatrix}
1-\lambda&0&0&0\\
0&3-\lambda&2&-1\\
0&2&-\lambda&2\\
0&-1&2&3-\lambda
\end{vmatrix}\\
);

&math(
&=(1-\lambda)\begin{vmatrix}
3-\lambda&2&-1\\
2&-\lambda&2\\
-1&2&3-\lambda
\end{vmatrix}\ \ \leftarrow(1,1)成分を使った次数の低下\\
);

&math(
&=(1-\lambda)\begin{vmatrix}
4-\lambda&0&-4+\lambda\\
2&-\lambda&2\\
-1&2&3-\lambda
\end{vmatrix}\ \ \ \ \leftarrow 1行目から3行目を引いた\\
);

&math(
&=(1-\lambda)(4-\lambda)\begin{vmatrix}
1&0&-1\\
2&-\lambda&2\\
-1&2&3-\lambda
\end{vmatrix}\ \ \ \ \leftarrow 1行目の因子\ (4-\lambda)\ を前に出した\\
);

&math(
&=(1-\lambda)(4-\lambda)\begin{vmatrix}
1&0&0\\
2&-\lambda&4\\
-1&2&2-\lambda
\end{vmatrix}\ \ \ \ \leftarrow 1列目を3列目に足した\\
);

&math(
&=(1-\lambda)(4-\lambda)\big[-\lambda(2-\lambda)-4\cdot 2\big]\\
&=(1-\lambda)(4-\lambda)(-8-2\lambda+\lambda)\\
&=(1-\lambda)(4-\lambda)(-2-\lambda)(4-\lambda)\\
&=(-2-\lambda)(1-\lambda)(4-\lambda)^2\\
);

したがって、&math(\lambda_1=-2,\lambda_2=1,\lambda_3=4\ (二重));

*** 解答 (2):$\lambda_1$ について [#u3288e6d]

&math(
(A-\lambda_1 E)\bm x=\begin{pmatrix}
3&0&0&0\\
0&5&2&-1\\
0&2&2&2\\
0&-1&2&5
\end{pmatrix}\begin{pmatrix}
x\\y\\z\\w
\end{pmatrix}=\bm 0\\
);

に対して、係数行列を同値変形すれば、

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

すなわち、 
&math(
\begin{cases}
x=0\\
y-w=0\\
z+2w=0\\
0=0
\end{cases}
); が成り立つ。

掃出せなかった &math(w); をパラメータとすれば、
&math(
\bm x=w\begin{pmatrix}
0\\1\\-2\\1
\end{pmatrix}
); 
が固有ベクトルの一般形である。

したがって、固有空間 &math(V(-2)); は1次元で、基底は 
&math(\bm b_1=\begin{pmatrix}
0\\1\\-2\\1
\end{pmatrix});

&math(\bm b_1); が元の方程式の解になっていること、つまり
&math((A-\lambda_1E)\bm b_1=\bm 0); を確かめれば検算になる。

*** 解答 (2):$\lambda_2$ について [#qc0020b5]

&math(
(A-\lambda_2 E)\bm x=\begin{pmatrix}
0&0&0&0\\
0&2&2&-1\\
0&2&-1&2\\
0&-1&2&2
\end{pmatrix}\begin{pmatrix}
x\\y\\z\\w
\end{pmatrix}=\bm 0\\
);

について、係数行列を同値変形すれば、

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

すなわち、 
&math(
\begin{cases}
0=0\\
y=0\\
z=0\\
w=0\\
\end{cases}
); 
が成り立つ。

掃出せなかった &math(x); をパラメータとすれば、 
&math(\bm x=x\begin{pmatrix}
1\\0\\0\\0\end{pmatrix}); 
が固有ベクトルの一般形である。

したがって、固有空間 &math(V(1)); は1次元で、基底は 
&math(\bm b_2=\begin{pmatrix}
1\\0\\0\\0\end{pmatrix});

&math(\bm b_2); が元の方程式の解になっていること、
つまり &math((A-\lambda_2E)\bm b_2=\bm 0); 
を確かめれば検算になる。

*** 解答 (2):$\lambda_3$ について [#adcc6798]

&math(
(A-\lambda_3 E)\bm x=\begin{pmatrix}
-3&0&0&0\\
0&-1&2&-1\\
0&2&-4&2\\
0&-1&2&-1
\end{pmatrix}\begin{pmatrix}
x\\y\\z\\w
\end{pmatrix}=\bm 0\\
);

について、係数行列を同値変形すれば、 
&math(
\sim\begin{pmatrix}
1&0&0&0\\
0&1&-2&1\\
0&0&0&0\\
0&0&0&0
\end{pmatrix}
);

したがって、 
&math(
\begin{cases}
x=0\\
y-2z+w=0\\
0=0\\
0=0\\
\end{cases}
); 
が成り立つ。

掃出せなかった &math(z,w); をパラメータとすれば、 
&math(\bm x=z\begin{pmatrix}
0\\2\\1\\0
\end{pmatrix}+w\begin{pmatrix}
0\\-1\\0\\1
\end{pmatrix}
); 
が固有ベクトルの一般形である。

したがって、固有空間 &math(V(4)); は2次元で、基底は 
&math(\bm b_3=\begin{pmatrix}
0\\2\\1\\0\end{pmatrix},
\bm b_4=\begin{pmatrix}
0\\-1\\0\\1\end{pmatrix});

&math(\bm b_3,\bm b_4); が元の方程式の解になっていること、
すなわち &math((A-\lambda_3E)\bm b_3=\bm 0,\,); 
&math((A-\lambda_3E)\bm b_4=\bm 0); を確かめれば検算になる。

*** 解答 (2):まとめ [#c01ca4b2]

 &math(
\bm b_1=\begin{pmatrix}
0\\2\\1\\0\end{pmatrix}\ \in V(-2),\ 
);
&math(
\bm b_1=\begin{pmatrix}
1\\0\\0\\0\end{pmatrix}\ \in V(1),\ 
);
&math(
\bm b_3=\begin{pmatrix}
0\\2\\1\\0\end{pmatrix},
\bm b_4=\begin{pmatrix}
0\\-1\\0\\1\end{pmatrix}\ \in V(4));

重複度1である &math(\lambda_1=-2,\ \lambda_2=1); が1次元、~
重複度2である &math(\lambda_3=4); が2次元になっていることに注意せよ。

*** 解答 (3) [#s6a3bf79]

ここでは &math(A); が正規行列であるため、
異なる固有値に属する固有ベクトルは直交する。

すなわち、

 &math(
&\bm b_1\perp\bm b_2,\\
&\bm b_1\perp\bm b_3,\bm b_1\perp\bm b_4,\\
&\bm b_2\perp\bm b_3,\bm b_2\perp\bm b_4\\
);

は自動的に成り立つが、同じ固有値に対する固有ベクトルが直交するとは限らない。~
つまり、&math(\bm b_3\perp\bm b_4); とは限らない。

実際、

 &math(
\big(\bm b_3,\bm b_4\big)=\bm b_3^\dagger\bm b_4=\begin{pmatrix}
0&&2&&1&&0
\end{pmatrix}\begin{pmatrix}
0\\-1\\0\\1
\end{pmatrix}
=-2\ne 0
);

となり、&math(\bm b_3\not\perp\bm b_4); であることが確かめられる。

しかし、&math(\bm b_3,\bm b_4); は一次独立であるため、
これら2つのベクトルに対してシュミットの直交化を適用し、
正規直交系を作ることはいつでも可能である。
&math(V(4)); は線形空間で、和とスカラー倍に対して閉じているから、
シュミットの直交化によって得られるベクトルも、
やはり固有値 &math(4); の固有ベクトルであることに注意せよ。

もちろん、直交するベクトル群を他の方法で見つけることができるならば
必ずしもシュミットの直交かを使う必要はない。

例えば &math(\bm b_3'=\bm b_3+\bm b_4=\begin{pmatrix}
0\\1\\1\\1
\end{pmatrix}); は、&math(\bm b_3'\in V(4)); かつ 
&math(\bm b_3'\perp\bm b_4); を満たす。

したがって、&math(\bm b_1,\bm b_2,\bm b_3',\bm b_4); はすべて互いに直交する。

そこで、これらを正規化して、

 &math(
\bm e_1=\frac{1}{\sqrt 6}\begin{pmatrix}
0\\1\\-2\\1
\end{pmatrix},\ 
\bm e_2=\begin{pmatrix}
1\\0\\0\\0
\end{pmatrix},\ 
\bm e_3=\frac{1}{\sqrt 3}\begin{pmatrix}
0\\1\\1\\1
\end{pmatrix},\ 
\bm e_4=\frac{1}{\sqrt 2}\begin{pmatrix}
0\\-1\\0\\1
\end{pmatrix},\ 
);

として、正規直交基底 &math(\set{\bm e_1,\bm e_2,\bm e_3,\bm e_4}); が得られる。

&math(A); を対角化するユニタリ行列は、

 &math(U=\big(\bm e_1\ \ \bm e_2\ \ \bm e_3\ \ \bm e_4\big)=\begin{pmatrix}
0&1&0&0\\
1/\sqrt 6&0&1/\sqrt 3&-1/\sqrt 2\\
-2/\sqrt 6&0&1/\sqrt 3&0\\
1/\sqrt 6&0&1/\sqrt 3&1/\sqrt 2\\
\end{pmatrix});

であり、

 &math(U^\dagger AU=\begin{pmatrix}
-2&&&\\
&1&&\\
&&4&\\
&&&4
\end{pmatrix});

として対角化できる。

*** 解答 (4) [#bf376dda]

 &math(
P_{V(-2)}=\bm e_1\bm e_1^\dagger=
\frac{1}{6}\begin{pmatrix}
0\\1\\-2\\1
\end{pmatrix}\begin{pmatrix}
0&1&-2&1
\end{pmatrix}
=\frac{1}{6}\begin{pmatrix}
0&0&0&0\\
0&1&-2&1\\
0&-2&4&-2\\
0&1&-2&1
\end{pmatrix}
);

 &math(
P_{V(1)}=\bm e_2\bm e_2^\dagger=
\begin{pmatrix}
1\\0\\0\\0
\end{pmatrix}\begin{pmatrix}
1&0&0&0
\end{pmatrix}=
\begin{pmatrix}
1&0&0&0\\
0&0&0&0\\
0&0&0&0\\
0&0&0&0\\
\end{pmatrix}
);

 &math(
P_{V(4)}&=\bm e_3\bm e_3^\dagger+\bm e_4\bm e_4^\dagger=
\frac{1}{3}\begin{pmatrix}
0\\1\\1\\1
\end{pmatrix}\begin{pmatrix}
0&1&1&1\\
\end{pmatrix}+\frac{1}{2}\begin{pmatrix}
0\\-1\\0\\1
\end{pmatrix}\begin{pmatrix}
0&-1&0&1\\
\end{pmatrix}\\&=
\frac{1}{3}\begin{pmatrix}
0&0&0&0\\
0&1&1&1\\
0&1&1&1\\
0&1&1&1\\
\end{pmatrix}+
\frac{1}{2}\begin{pmatrix}
0&0&0&0\\
0&1&0&-1\\
0&0&0&0\\
0&-1&0&1\\
\end{pmatrix}=
\frac{1}{6}\begin{pmatrix}
0&0&0&0\\
0&5&2&-1\\
0&2&2&2\\
0&-1&2&5\\
\end{pmatrix}
);

*** 解答 (5) [#tb0992b3]

 &math(
&P_{V(-2)}+P_{V(1)}+P_{V(4)}=\\
&\frac{1}{6}\begin{pmatrix}
0&0&0&0\\
0&1&-2&1\\
0&-2&4&-2\\
0&1&-2&1
\end{pmatrix}+
\begin{pmatrix}
1&0&0&0\\
0&0&0&0\\
0&0&0&0\\
0&0&0&0\\
\end{pmatrix}+
\frac{1}{6}\begin{pmatrix}
0&0&0&0\\
0&5&2&-1\\
0&2&2&2\\
0&-1&2&5\\
\end{pmatrix}
=\begin{pmatrix}
1&0&0&0\\
0&1&0&0\\
0&0&1&0\\
0&0&0&1\\
\end{pmatrix}
);

*** 解答 (6) [#tb0992b3]

スペクトル分解は、

 &math(
A&=-2\cdot P_{V(-2)}+1\cdot P_{V(1)}+4\cdot P_{V(4)}\\
&=
-2\cdot\frac{1}{6}\begin{pmatrix}
0&0&0&0\\
0&1&-2&1\\
0&-2&4&-2\\
0&1&-2&1
\end{pmatrix}+
1\cdot\begin{pmatrix}
1&0&0&0\\
0&0&0&0\\
0&0&0&0\\
0&0&0&0\\
\end{pmatrix}+
4\cdot\frac{1}{6}\begin{pmatrix}
0&0&0&0\\
0&5&2&-1\\
0&2&2&2\\
0&-1&2&5\\
\end{pmatrix}
);

である。

検算してみると以下のようになって、確かに等号が成立することを確認できるが、
「スペクトル分解」はあくまでも固有値と射影演算子の積の和の形であるから、
かけ算を実行してまぜこぜにする前の形で解答を書かねばならない。

 &math(
(右辺)&=
-\frac{1}{3}\begin{pmatrix}
-3&0&0&0\\
0&1&-2&1\\
0&-2&4&-2\\
0&1&-2&1
\end{pmatrix}+
\frac{2}{3}\begin{pmatrix}
0&0&0&0\\
0&5&2&-1\\
0&2&2&2\\
0&-1&2&5\\
\end{pmatrix}\\
&=\frac{1}{3}\begin{pmatrix}
3&0&0&0\\
0&-1+10&2+4&-1-2\\
0&2+4&-4+4&2+4\\
0&-1-2&2+4&-1+10
\end{pmatrix}\\
&=\frac{1}{3}\begin{pmatrix}
3&0&0&0\\
0&9&6&-3\\
0&6&0&6\\
0&-3&6&9
\end{pmatrix}=
\begin{pmatrix}
1&0&0&0\\
0&3&2&-1\\
0&2&0&2\\
0&-1&2&3
\end{pmatrix}=A
);

~

[[前の単元 <<<>線形代数II/射影・直和・直交直和]]
               [[線形代数II]]
               [[>>> 次の単元>線形代数II/行列の関数]]

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

#article_kcaptcha
**固有値に関して [#kfdb6286]
>[Math] (2014-01-29 (水) 22:40:17)~
~
初めまして。~
私は現在大学にてパターン認識を学び、研究している学生です。~
~
固有値に関して質問があります。~
固有値は工学的な応用の際に重要な役割があると伺いました。~
例えばパターン認識において部分空間法では次元の削減のために固有ベクトルを求め、固有値の大きい方からベクトルをピックアップし、任意の次元に削減します。~
このとき固有値の大きいほど重要な特徴ベクトルであるとされるため、このような操作をするようなのですが、なぜ固有値が大きいほど重要な特徴ベクトルであると言えるのでしょうか?~
線形代数初学者のため無知な質問かもしれませんが、どうかよろしくお願いいたします。~

//
- 固有ベクトルに対しては「行列とのかけ算の結果」を「固有値によるスカラー倍」により求められるわけですので、固有値がほぼゼロとなるような特徴ベクトルと行列とをかけ算すればその結果はゼロに近くなり、無視して良いことになります。逆に固有値が大きければその特徴ベクトルは行列とのかけ算の後も大きな値を持つことになりますので、無視できない、すなわち重要なベクトルであると考えられるのではないでしょうか? -- [武内(管理人)] &new{2014-02-05 (水) 05:13:43};

#comment_kcaptcha


Counter: 142729 (from 2010/06/03), today: 18, yesterday: 0