行列のスペクトル分解

スペクトル分解(射影行列による表現)

任意の正規行列 AA は以下のように分解できる。 A=i=1NλiPλiA=\displaystyle\sum_{i=1}^N\lambda_iP_{\lambda_i} ただし,λ1,...,λN\lambda_1,...,\lambda_NAA の相異なる固有値すべてで,PλiP_{\lambda_i} は固有値 λi\lambda_i の固有空間への射影行列。

正規行列には,エルミート行列やユニタリ行列が含まれます。→正規行列の意味と3つの代表例

スペクトル分解の意味と例

A=(3113)A=\begin{pmatrix}3&1\\1&3\end{pmatrix} をスペクトル分解すると,

A=4×(12121212)+2×(12121212)A=4\times\begin{pmatrix}\frac{1}{2}&\frac{1}{2}\\\frac{1}{2}&\frac{1}{2}\end{pmatrix}+2\times\begin{pmatrix}\frac{1}{2}&-\frac{1}{2}\\-\frac{1}{2}&\frac{1}{2}\end{pmatrix}

となります。

  • 固有値 44 に対応する固有空間 W4={xundefinedx1=x2}W_{4}=\{\overrightarrow{x}\mid x_1=x_2\} への射影行列が (12121212)\begin{pmatrix}\frac{1}{2}&\frac{1}{2}\\\frac{1}{2}&\frac{1}{2}\end{pmatrix} です。
  • 固有値 22 に対応する固有空間 W2={xundefinedx1=x2}W_{2}=\{\overrightarrow{x}\mid x_1=-x_2\} への射影行列が(12121212)\begin{pmatrix}\frac{1}{2}&-\frac{1}{2}\\-\frac{1}{2}&\frac{1}{2}\end{pmatrix} です。 スペクトル分解の例

スペクトル分解すると,AA の性質が以下のようにわかります:
AA による変換は x1=x2x_1=x_2 方向の成分を 44 倍してx1=x2x_1=-x_2 方向の成分を 22 倍するような変換。

補足:射影行列について

スペクトル分解は,射影行列の知識があると理解しやすいです。ぜひ 射影行列のイメージと楽しい公式 を見てください。その記事では (12121212)\begin{pmatrix}\frac{1}{2}&\frac{1}{2}\\\frac{1}{2}&\frac{1}{2}\end{pmatrix}x1=x2x_1=x_2 への直交射影であるという意味も詳しく解説しています。

性質

スペクトル分解 A=i=1NλiPλiA=\displaystyle\sum_{i=1}^N\lambda_iP_{\lambda_i} に対して以下が成立します。

定理
  1. Pλi2=PλiP_{\lambda_i}^2=P_{\lambda_i}
  2. PλiPλj=O(ij)P_{\lambda_i}P_{\lambda_j}=O\:(i\neq j)
  3. i=1NPλi=I\displaystyle\sum_{i=1}^NP_{\lambda_i}=I

PλiP_{\lambda_i} は「WλiW_{\lambda_i} の成分を取り出す操作」に対応するので,1~3は以下のように解釈できます。

  1. WλiW_{\lambda_i} の成分を取り出す操作」は 22 回繰り返しても 11 回でも結果は同じ。
  2. WλiW_{\lambda_i} の成分を取り出す操作」と「WλjW_{\lambda_j} の成分を取り出す操作」を両方すると 0undefined\overrightarrow{0} になる。
  3. WλiW_{\lambda_i} の成分を取り出した結果」を全成分ぶん足しあげるもとに戻る。

いずれも妥当ですね。

応用(n乗の計算)

A=i=1NλiPλiA=\displaystyle\sum_{i=1}^N\lambda_iP_{\lambda_i} とスペクトル分解できれば,さきほどの性質1,2を使うことで An=i=1NλinPλiA^n=\displaystyle\sum_{i=1}^N\lambda_i^nP_{\lambda_i} となるので,nn 乗の計算が簡単にできます。

※スペクトル分解が与えられたもとで行列の nn 乗を計算する問題は,大学入試でも昔よく出題されていました。

固有ベクトルによる表現

冒頭の主張は以下のようにも表せます。

スペクトル分解(固有ベクトルによる表現)

任意の n×nn\times n 正規行列 AA は以下のように分解できる。 A=i=1nλiuiuiA=\displaystyle\sum_{i=1}^n\lambda_iu_iu_i^{\top} ただし,λi\lambda_i は(重複も許した)固有値で,uiu_iλi\lambda_i に対応する固有ベクトルで,u1,...,unu_1,...,u_n は正規直交基底をなす(※)。

AA は正規行列なので,固有ベクトルたちをうまく取れば正規直交基底を作れます。→正規行列の意味と3つの代表例

冒頭の主張(射影行列による表現)との関係

基底が v1,...,vkv_1,...,v_k である部分空間への射影行列は,i=1kvivi\displaystyle\sum_{i=1}^kv_iv_i^{\top} と書ける。→射影行列のイメージと楽しい公式

そこで,冒頭の主張において,固有空間への射影行列 PλiP_{\lambda_i} を,その基底である固有ベクトルたちで表すと,固有ベクトルによる表現になる。

証明

正規行列がスペクトル分解できること(固有ベクトルによる表現)を証明します。

証明

AA が正規行列なら,固有ベクトルを並べたユニタリ行列で対角化できる。(→正規行列の意味と3つの代表例の定理1)

このユニタリ行列の ii 列目を uiu_i とおくと,A=i=1nλiuiuiA=\displaystyle\sum_{i=1}^n\lambda_iu_iu_i^{\top} となる。例えば,2×22\times 2 行列の場合,以下のようになる:

A=(u1u2)(λ100λ2)(u1u2)=λ1u1u1+λ2u2u2A=\begin{pmatrix}u_1&u_2\end{pmatrix}\begin{pmatrix}\lambda_1&0\\0&\lambda_2\end{pmatrix}\begin{pmatrix}u_1^{\top}\\u_2^{\top}\end{pmatrix}\\ =\lambda_1u_1u_1^{\top}+\lambda_2u_2u_2^{\top}

つまり,スペクトル分解とは,ユニタリ行列で対角化した式を少し変形したものに過ぎません。

量子力学では,無限次元の行列のスペクトル分解を考えたりします。