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

更新


前の単元 <<<                線形代数II                >>> 次の単元

概要

$n$ 次正方行列 $A$ の固有値問題

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

固有値問題

A\bm x=\lambda\bm x   ただし  \bm x\ne\bm 0  

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

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

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

|A-\lambda E|=0   

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

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

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

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

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

練習

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

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

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

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

対角化

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

   A\bm x_1=\lambda_1\bm x_1

   A\bm x_2=\lambda_2\bm x_2

       \phantom{A\bm x_2}\vdots

   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 );

   AP=P\Lambda

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

   P^{-1}AP=\Lambda

として、正則行列 P により A を対角化可能。

対称行列の場合

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

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

線形変換の固有値問題

線形変換 T:V\to V に対して、

   T\bm x=\lambda\bm x   ただし  \bm x\ne\bm 0

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

この方程式の、ある基底 B に対する表現は

   T_B\bm x_B=\lambda\bm x_B   ただし  \bm x_B\ne\bm 0

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

当然、別の基底 B' に対する表現も

   T_{B'}\bm x_{B'}=\lambda\bm x_{B'}   ただし  \bm x_{B'}\ne\bm 0

となるから、

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

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

基底 B から基底 B' への基底の変換行列を P_{B\to B'} とすると、

T_{B'}=P_{B\to B'}^{-1}T_BP_{B\to B'}

異なる基底に対する T の表現 T_B,T_{B'} は互いに相似の関係にあるのだから、固有値が等しいのは当然だ。

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

練習

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

   T:f(x)\mapsto f(x+1)

T の固有値、固有ベクトルを求めよ。

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

基底を 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 );

\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 );

   a=b=0

   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} ); に対応するベクトルは \bm x=0x^2+0x+1=1

すなわち、固有値 \lambda=1 、固有ベクトル 1 が答えになる。

特殊な線形変換の固有値問題

エルミート変換・エルミート行列

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

エルミート変換の正規直交基底に対する表現行列はエルミート行列になる
H_B^\dagger=H_B  ただし B は正規直交基底)

∵エルミート変換の式の両辺の成分を考える:

(左辺)=(H_B\bm x_B)^\dagger\bm y_B=\bm x_B^\dagger H_B^\dagger\bm y_B

(右辺)=\bm x_B^\dagger(H_B\bm y_B)=\bm x_B^\dagger H_B \bm y_B

任意の \bm x,\bm y に対して成り立つから、 H_B^\dagger=H_B

注:エルミート行列は実行列では対称行列に対応する

エルミート演算子の例

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

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

エルミート変換の固有値は実数になる

&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\\ );

(\lambda-\overline\lambda)|\bm x|^2=0

\lambda=\overline\lambda

\lambda\in\mathbb R

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

H\bm x=\lambda\bm x 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 );

\lambda\ne\lambda' ならば、 (\bm x,\bm y)=0 である。

ユニタリ変換・ユニタリ行列

ユニタリ変換:  (U\bm x,U\bm y)=(\bm x,\bm y)    内積を保存する変換のこと
ユニタリ行列:  U_B^\dagger=U_B^{-1}   ただし B は正規直交基底

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

(左辺)=\bm x_B^\dagger U_B^\dagger U_B\bm y_B=\bm x_B^\dagger\bm y_B=(右辺)

U_B^\dagger U_B=E_B

注:ユニタリ行列は実行列では直交行列に対応する

ユニタリ変換の例

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

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

ユニタリ行列の列ベクトルは正規直交系を為す

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} );

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

ユニタリ変換の固有値の絶対値は1になる

&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\\ );

(|\lambda|^2-1)|\bm x|^2=0

|\lambda|=1

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

\lambda=e^{i\theta}

と書けることになる。

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

U\bm x=\lambda\bm x 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 );

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

   \overline\lambda=e^{-i\theta}=\frac{1}{e^{i\theta}}=\frac{1}{\lambda}

   \overline\lambda\lambda'-1=\frac{\lambda'}{\lambda}-1=\frac{\lambda'-\lambda}{\lambda}

この値は \lambda\ne\lambda' のときゼロにならないから、

   (\bm x,\bm y)=0

ユニタリ行列

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

演習

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

を証明せよ。

正規行列

正規行列であること A^\dagger A=AA^\dagger

と、

ユニタリ行列 U^\dagger=U^{-1} で対角化可能なこと U^{-1}AU=U^\dagger AU=\Lambda

とは同値である。

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

正規行列の固有ベクトル

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

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

結果的に、正規行列の異なる固有値に属する固有ベクトルは直交する。
これは証明することも可能。→ 線形代数II/正規行列の異なる固有値に属する固有ベクトルは直交する

一般の変換では

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

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

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

固有空間

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

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

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

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

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

   \bm x=c_1\bm x_1+c_2\bm x_2+\dots+c_r\bm x_r

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

対角化可能な場合

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

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

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

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

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

\bm x=\bm x_1+\bm x_2+\dots+\bm x_m

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

A\bm x=\lambda_1\bm x_1+\lambda_2\bm x_2+\dots+\lambda_m\bm x_m

となる。

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

ユニタリ行列で対角化可能な場合(正規行列の場合)= スペクトル分解

固有空間 V(\lambda_1),V(\lambda_2),\dots,V(\lambda_m) の正規直交基底を集めたものが V の正規直交基底となるから、

V=V(\lambda_1)\oplus V(\lambda_2)\oplus \dots\oplus V(\lambda_m)

このとき、各成分は射影演算子 P_{V(\lambda_k)} を使って簡単に求められる。

\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\\ );

これが \forall\bm x\in V について成り立つから、

A=\lambda_1P_i+\lambda_2P_2+\dots+\lambda_mP_m

この形を正規行列 A のスペクトル分解と呼ぶ。

P_{V(\lambda_k)}=\sum_{\bm e_i\in V(\lambda_k)} \bm e_i\bm e_i^\dagger

より、

A=\sum_{i=1}^n \lambda_i\bm e_i\bm e_i^\dagger

であり、これを \lambda_i の等しい項についてまとめたのがスペクトル分解である。

行列のべき乗

たとえば、

A^2=\sum_{i=1}^n\sum_{j=1}^n \lambda_iP_i\lambda_jP_j

であるが、固有空間の直交性より

&math(P_iP_j&=\begin{cases} P_i&i=j\\ O&i\ne j \end{cases}\\ &=\delta_{ij}P_i );

であるから、

&math( A^2&=\sum_{i=1}^m\sum_{j=1}^m \lambda_i\lambda_j\delta_{ij}P_i\\ &=\sum_{i=1}^m \lambda_i^2P_i\\ );

同様にして、

&math( A^n&=\sum_{i=1}^m \lambda_i^nP_i\\ );

となる。


前の単元 <<<                線形代数II                >>> 次の単元

質問・コメント




固有値に関して

[Math] (2014-01-29 (水) 22:40:17)

初めまして。
私は現在大学にてパターン認識を学び、研究している学生です。

固有値に関して質問があります。
固有値は工学的な応用の際に重要な役割があると伺いました。
例えばパターン認識において部分空間法では次元の削減のために固有ベクトルを求め、固有値の大きい方からベクトルをピックアップし、任意の次元に削減します。
このとき固有値の大きいほど重要な特徴ベクトルであるとされるため、このような操作をするようなのですが、なぜ固有値が大きいほど重要な特徴ベクトルであると言えるのでしょうか?
線形代数初学者のため無知な質問かもしれませんが、どうかよろしくお願いいたします。

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

Counter: 142709 (from 2010/06/03), today: 24, yesterday: 0