固有値問題・固有空間・スペクトル分解 のバックアップソース(No.10)
更新- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- バックアップ を表示
- 線形代数II/固有値問題・固有空間・スペクトル分解 へ行く。
[[前の単元 <<<>線形代数Ⅱ/射影・直和・直交直和]] [[線形代数Ⅱ]] [[>>> 次の単元>線形代数Ⅱ/固有値問題・固有空間・スペクトル分解]] #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(|A-\lambda E|=0); これは &math(\lambda); に関する &math(n); 次方程式(&math(A); の固有方程式と呼ぶ) となる。これを複素数の範囲で解けば、重複度を含めて &math(n); 個の &math(\lambda); が求まる(代数学の基本定理) 固有方程式から得られたそれぞれの &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); *** 練習 [#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); に対しても、複素数の範囲ならばちゃんと固有値・固有ベクトルが見付かることを確認せよ。 ** 対角化 [#sb4cc10b] すべての固有値に対して、それぞれちょうど重複度コの一次独立な固有ベクトルが求まる場合には (必ずしも見付からない)、それらをすべて集めると &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(\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); を対角化可能。 ** 対称行列の場合 [#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(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(H_B^\dagger=H_B); 注:エルミート行列は実行列では対称行列に対応する *** エルミート行列の要素 [#ge05b746] &math(H_B^\dagger=H_B); より、&math((H_B)_{ji}=\overline{(H_B)_{ji}}); 特に、&math((H_B)_{ii}=\overline{(H_B)_{ii}}); だから対角要素は実数。 *** エルミート変換の固有値は実数になる [#b881fe48] &math( &(\bm x,H\bm x)= \lambda(\bm x,\bm x)= \lambda|\bm x|^2=\\ &(H\bm x,\bm x)=\overline\lambda(\bm x,\bm x)=\overline\lambda|\bm x|^2\\ ); &math((\lambda-\overline\lambda)|\bm x|^2=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( &(H\bm x,\bm y)=(\lambda\bm x,\bm y)=\overline\lambda(\bm x,\bm y)=\lambda(\bm x,\bm y)=\\ &(\bm x, H^\dagger\bm y)=(\bm x, H\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); である。 *** エルミート演算子の例 [#yd4e94ef] 射影演算子はエルミートである。 量子力学では、任意の観測可能な物理量は波動関数に対するエルミート演算子で表わされる。 ** ユニタリ変換・ユニタリ行列 [#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); 注:ユニタリ行列は実行列では直交行列に対応する *** ユニタリ行列の列ベクトルは正規直交系を為す [#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,U\bm x)=\lambda\overline\lambda(\bm x,\bm x)=|\lambda|^2|\bm x|^2=\\ &(\bm x,\bm x)=|\bm x|^2\\ ); &math((|\lambda|^2-1)|\bm x|^2=0); &math(|\lambda|=1); 絶対値が1の複素数は &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( &(U\bm x,U\bm y)=(\lambda\bm x,\lambda'\bm y)=\overline\lambda\lambda'(\bm x,\bm y)=\\ &(\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); *** ユニタリ変換の例 [#ra216322] 原点を中心とする回転および反転は、任意のベクトルの長さを保存するが、 そのような変換がユニタリ変換である。 任意の正規直交基底から、別の正規直交基底への基底の変換はユニタリ変換となる。 *** 例 [#m4cc8fd3] ユニタリ行列 &math( A=\begin{pmatrix} \cos\theta&-\sin\theta\\ \sin\theta&\cos\theta\\ \end{pmatrix} ); について上記を確かめよ。 ** 正規行列 [#gbc1ad24] 正規行列であること &math(A^\dagger A=AA^\dagger); と、 ユニタリ行列 &math(U^\dagger=U^{-1}); で対角化可能なこと &math(U^{-1}AU=U^\dagger AU=\Lambda); とは同値である。 証明は [[線形代数Ⅱ/正規行列の対角化可能性]] を参照。 *** 正規行列の固有ベクトル [#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); である。 ** 対角化可能な場合 [#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); 倍して、~ ・・・~ 最後にまた足し合わせるのと同じである。 ** ユニタリ行列で対角化可能な場合(正規行列の場合)= スペクトル分解 [#s017b088] 固有空間 &math(V(\lambda_1),V(\lambda_2),\dots,V(\lambda_m)); の正規直交基底を集めたものが &math(V); の正規直交基底となるから、 >&math(V=V(\lambda_1)\oplus V(\lambda_2)\oplus \dots\oplus V(\lambda_m)); このとき、各成分は射影演算子 &math(P_{V(\lambda_k)}); を使って簡単に求められる。 >&math(\bm x_k=P_{V(\lambda_k)}\bm x); したがって、 >&math( A\bm x&=\lambda_1P_1\bm x+\lambda_2P_2\bm x+\dots+\lambda_mP_m\bm x\\ &=(\lambda_1P_1+\lambda_2P_2+\dots+\lambda_mP_m)\bm x\\ ); これが &math(\forall\bm x\in V); について成り立つから、 >&math(A=\lambda_1P_i+\lambda_2P_2+\dots+\lambda_mP_m); この形を正規行列 &math(A); のスペクトル分解と呼ぶ。 >&math(P_{V(\lambda_k)}=\sum_{\bm e_i\in V(\lambda_k)} \bm e_i\bm e_i^\dagger); より、 >&math(A=\sum_{i=1}^n \lambda_i\bm e_i\bm e_i^\dagger); であり、これを &math(\lambda_i); の等しい項についてまとめたのがスペクトル分解である。 ~ [[前の単元 <<<>線形代数Ⅱ/射影・直和・直交直和]] [[線形代数Ⅱ]] [[>>> 次の単元>線形代数Ⅱ/固有関数・固有空間・スペクトル分解]] * 質問・コメント [#d834c5f8] #article_kcaptcha **固有値に関して [#kfdb6286] >[Math] (2014-01-29 (水) 22:40:17)~ ~ 初めまして。~ 私は現在大学にてパターン認識を学び、研究している学生です。~ ~ 固有値に関して質問があります。~ 固有値は工学的な応用の際に重要な役割があると伺いました。~ 例えばパターン認識において部分空間法では次元の削減のために固有ベクトルを求め、固有値の大きい方からベクトルをピックアップし、任意の次元に削減します。~ このとき固有値の大きいほど重要な特徴ベクトルであるとされるため、このような操作をするようなのですが、なぜ固有値が大きいほど重要な特徴ベクトルであると言えるのでしょうか?~ 線形代数初学者のため無知な質問かもしれませんが、どうかよろしくお願いいたします。~ // - 固有ベクトルに対しては行列とのかけ算の結果が固有値とのスカラー倍により求められるわけですので、固有値がほぼゼロとなるような特徴ベクトルと行列とをかけ算すればその結果はゼロに近くなり、無視して良いことになります。逆に固有値が大きければその特徴ベクトルは行列とのかけ算の後も大きな値を持つことになりますので、無視できない、すなわち重要なベクトルであると考えられるのではないでしょうか? -- [武内(管理人)] &new{2014-02-05 (水) 05:13:43}; #comment_kcaptcha
Counter: 143418 (from 2010/06/03),
today: 8,
yesterday: 0