対角化

対角化（たいかくか、diagonalization）とは、正方行列を適当な線形変換によりもとの行列と相似な対角行列に変形することを言う。あるいは、ベクトル空間の線形写像に対し、空間の基底を取り替え、その作用が常にある方向（固有空間）へのスカラー倍（固有値）として現れるようにすること。対角化により変換において本質的には無駄な計算を省くことで計算量を大幅に減らすことができる。 n 次正方行列 A に対して、n 次対角行列 D と n 次正則行列 P が存在して、 P − 1 A P = D {\displaystyle P^{-1}AP=D} とできるとき、行列 A は対角化可能（英: diagonalizable）であるという。 定義式を成分で表示すると、 P − 1 A P = [ λ 1 0 … 0 0 λ 2 … 0 ⋮ ⋮ ⋱ ⋮ 0 0 … λ n ] {\displaystyle P^{-1}AP={\begin{bmatrix}\lambda _{1}&0&\dots &0\\0&\lambda _{2}&\dots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\dots &\lambda _{n}\end{bmatrix}}} 両辺に左から P を掛けると: A P = P [ λ 1 0 … 0 0 λ 2 … 0 ⋮ ⋮ ⋱ ⋮ 0 0 … λ n ] {\displaystyle AP=P{\begin{bmatrix}\lambda _{1}&0&\dots &0\\0&\lambda _{2}&\dots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\dots &\lambda _{n}\end{bmatrix}}} ここで、P を列ベクトル α → i {\displaystyle {\vec {\alpha }}_{i}} を並べて表記すると P = [ α → 1 α → 2 ⋯ α → n ] {\displaystyle P={\begin{bmatrix}{\vec {\alpha }}_{1}&{\vec {\alpha }}_{2}&\cdots &{\vec {\alpha }}_{n}\end{bmatrix}}} 上式は、次のように書き直せる： A α → i = λ i α → i ( i = 1 , 2 , … , n ) {\displaystyle A{\vec {\alpha }}_{i}=\lambda _{i}{\vec {\alpha }}_{i}\qquad (i=1,2,\dots ,n)} つまり、P の構成する各列ベクトルは Aの固有ベクトルであり、対応する対角成分はその固有ベクトルに対応する固有値になっている。行列 P が正則であることは、これらの固有ベクトルが線形独立である（= n次元ベクトル空間の基底になっている）ことを意味する。 ここまでの議論は完全に逆向きにたどることができる。つまり、行列Aの固有ベクトルだけで n 次元ベクトル空間の基底が構成できるならば、それら縦ベクトルを横に並べた行列 P は正則行列となり、 P − 1 A P = D {\displaystyle P^{-1}AP=D} が成り立ち、D の対角成分には A の固有値が並ぶ。 以上が行列が対角化できるための必要十分条件である。またこれは、実際に対角化を行うための手順にもなっている。 他にも同値な条件がいくつか知られている。 （ここでは固有方程式が（重解を持つ場合も許容して）1次式の積に分解できることを前提とする。固有値・固有ベクトルが複素数でもよいのならこれはいつでも正しい（代数学の基本定理）が、実数だけで考えている場合は固有方程式の左辺が因数分解できないこともあり得る。） A の固有値を λ i , i = 1 , ⋯ , r , {\displaystyle \lambda _{i},i=1,\cdots ,r,} とするとき、A が対角化可能であるための必要十分条件は、次の等式が成り立つことである： ∑ i = 1 r dim ⁡ ker ⁡ ( λ i I n − A ) = n , {\displaystyle \textstyle \sum \limits _{i=1}^{r}\dim \ker(\lambda _{i}I_{n}-A)=n,} ここで、In は n 次単位行列を表す。 ker ⁡ ( λ i I n − A ) {\displaystyle \ker(\lambda _{i}I_{n}-A)} は固有値 λ i {\displaystyle \lambda _{i}} の固有空間であるから、この条件はベクトル空間の基底として A の固有ベクトルが取れることを意味している。 上の条件は、 ∑ i = 1 r dim ⁡ ker ⁡ ( λ i I n − A ) {\displaystyle \textstyle \sum \limits _{i=1}^{r}\dim \ker(\lambda _{i}I_{n}-A)} の各項が λ i {\displaystyle \lambda _{i}} の重複度と一致する、とも言い換えられる。一致しない場合はその固有空間の次元は λ i {\displaystyle \lambda _{i}} を下回り、総計が n には成り得ないからである。詳しくは固有空間の次元を参照。 行列 A の最小多項式が重根をもたないことも対角化可能であるための必要十分条件である。 A が実対称行列のとき、A は常に対角化可能であり、P として直交行列を取ることができる。また A がユニタリー行列 U を用いて対角化できるためには、A が正規行列であることが必要十分である。正規行列の中で応用上重要なクラスとして、対称行列とエルミート行列がある。 次の 2 次実正方行列 A は固有値 a − bi と a + bi をもち、たとえば以下の正則行列 P で対角化される。 A = [ a − b b a ] , P = [ i 1 − i 1 ] , P − 1 A P = [ a − b i a + b i ] {\displaystyle A={\begin{bmatrix}a&-b\\b&a\end{bmatrix}},\quad P={\begin{bmatrix}i&1\\-i&1\end{bmatrix}},\quad P^{-1}AP={\begin{bmatrix}a-bi&\\&a+bi\end{bmatrix}}} 一方、次の行列 B は対角化可能ではない。 B = [ λ 1 λ ] {\displaystyle B={\begin{bmatrix}\lambda &1\\&\lambda \end{bmatrix}}} 3次正方行列について、具体的な数値で計算を行ってみる。 次の行列は対角化可能かどうか判断し、可能な場合は対角化せよ： A = [ 1 2 0 0 3 0 2 − 4 2 ] {\displaystyle A={\begin{bmatrix}1&2&0\\0&3&0\\2&-4&2\end{bmatrix}}} 固有値と固有ベクトルを計算すると、 λ 1 = 3 , λ 2 = 2 , λ 3 = 1 {\displaystyle \lambda _{1}=3,\quad \lambda _{2}=2,\quad \lambda _{3}=1} v 1 = [ − 1 − 1 2 ] , v 2 = [ 0 0 1 ] , v 3 = [ − 1 0 2 ] {\displaystyle v_{1}={\begin{bmatrix}-1\\-1\\2\end{bmatrix}},\quad v_{2}={\begin{bmatrix}0\\0\\1\end{bmatrix}},\quad v_{3}={\begin{bmatrix}-1\\0\\2\end{bmatrix}}} 固有ベクトルを並べた P = [ − 1 0 − 1 − 1 0 0 2 1 2 ] {\displaystyle P={\begin{bmatrix}-1&0&-1\\-1&0&0\\2&1&2\end{bmatrix}}} の行列式は0でないため、これを使って対角化できる。 P − 1 A P = [ 0 − 1 0 2 0 1 − 1 1 0 ] [ 1 2 0 0 3 0 2 − 4 2 ] [ − 1 0 − 1 − 1 0 0 2 1 2 ] = [ 3 0 0 0 2 0 0 0 1 ] {\displaystyle P^{-1}AP={\begin{bmatrix}0&-1&0\\2&0&1\\-1&1&0\end{bmatrix}}{\begin{bmatrix}1&2&0\\0&3&0\\2&-4&2\end{bmatrix}}{\begin{bmatrix}-1&0&-1\\-1&0&0\\2&1&2\end{bmatrix}}={\begin{bmatrix}3&0&0\\0&2&0\\0&0&1\end{bmatrix}}}