対称行列の固有値#

対称行列に対しては

  • 固有値も固有ベクトルもすべて実数

  • 固有ベクトルは互いに直交する

という性質を持っている。

現実世界やデータサイエンス領域での応用において固有値を求めるとき、相関行列や分散共分散行列など対称行列の固有値を求めることが多いので対称行列に対する固有値のトピックに触れておくと理解しやすい。

対称行列の固有値と固有ベクトルは実数#

定理

対称行列の固有値はすべて実数であり、対応する固有ベクトルも実数ベクトルである

証明

対称行列\(A\)の一つの固有値を\(\lambda\)、対応する固有ベクトルを\(x=\begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix}\) とすると、定義より\(A x = \lambda x\)である。両辺の複素共役をとったものと合わせると次のように書くことができる。

\[ A x = \lambda x, \quad A \bar{x} = \bar{\lambda} \bar{x} \]

\(\bar{x}\)と第1式の両辺を、\(x\)と第2式の両辺をそれぞれ内積をとると

\[ \langle \bar{x}, A x \rangle = \lambda \langle \bar{x}, x \rangle , \quad \langle x, A \bar{x} \rangle = \bar{\lambda} \langle x, \bar{x} \rangle \]

となる。「正方行列\(A\)に対して \(\langle \boldsymbol{A} \boldsymbol{x}, \boldsymbol{y} \rangle= \langle \boldsymbol{x}, \boldsymbol{A}^{\top} \boldsymbol{y} \rangle\) が成り立つ」という定理と、また\(A\)は対称行列のため\(A=A^\top\)であることから、

\[ \langle \bar{x}, A x \rangle = \langle A x, \bar{x} \rangle = \langle x, A^\top \bar{x} \rangle = \langle x, A \bar{x} \rangle \]

となり、2つの式の左辺は等しいことがわかる。2つの式の辺々を差し引くと

\[\begin{split} 0 = \lambda \langle \bar{x}, x \rangle - \bar{\lambda} \langle x, \bar{x} \rangle \\ \iff (\lambda - \bar{\lambda}) \langle x, \bar{x} \rangle = 0 \end{split}\]

となる。固有ベクトルは\(0\)ではないから\(\langle x, \bar{x} \rangle = |x_1|^2 + \cdots + |x_n|^2 > 0\)であり、したがって\(\lambda = \bar{\lambda}\)であり、ゆえに\(\lambda\)は実数である。

固有ベクトルは連立1次方程式

\[ (\lambda I - A) x = 0 \]

の解であり、係数がすべて実数であるから解も実数である。

対称行列の固有ベクトルは直交する#

定理

対称行列の異なる固有値に対応する固有ベクトルは互いに直交する

証明

対称行列\(A\)の2つの異なる固有値を\(\lambda_1, \lambda_2\)、対応する固有ベクトルを\(x_1, x_2\)とする。

\[ Ax_1 = \lambda_1 x_1, \quad Ax_2 = \lambda_2 x_2 \]

第1式を\(x_2\)と内積をとり、第2式を\(x_1\)と内積をとると

\[ \langle x_2, A x_1 \rangle = \langle x_2, \lambda_1 x_1 \rangle , \quad \langle x_1, A x_2 \rangle = \langle x_1, \lambda_2 x_2 \rangle \]

\(A\)は対称行列なので

\[\begin{split} \begin{aligned} \langle x_2, A x_1 \rangle &= \langle A x_1, x_2 \rangle \quad (内積の左右を入れ替え) \\ &= \langle x_1, A^\top x_2 \rangle \quad (内積と転置の定理により) \\ &= \langle x_1, A x_2 \rangle \quad (Aは対称行列のためA^\top=A) \end{aligned} \end{split}\]

となる。そのため上の2つの式の辺々を差し引くと

\[\begin{split} \begin{aligned} & \langle x_2, \lambda_1 x_1 \rangle - \langle x_1, \lambda_2 x_2 \rangle = 0\\ \iff & \lambda_1 \langle x_2, x_1 \rangle - \lambda_2 \langle x_1, x_2 \rangle = 0\\ \iff & (\lambda_1 - \lambda_2) \langle x_1, x_2 \rangle = 0\\ \end{aligned} \end{split}\]

\(\lambda_1 - \lambda_2 \neq 0\)であるから、\(\langle x_1, x_2 \rangle = 0\)であり、\(x_1, x_2\)は互いに直交している

対称行列の対角化#

定理

\(n \times n\) 対称行列 \(\boldsymbol{A}\) の固有値を \(\lambda_1, \ldots, \lambda_n\) とおき、対応する固有ベクトルの正規直交系を \(x_1, \ldots, x_n\) とし、 \(x_1, \ldots, x_n\) を列とする行列を \(P=(x_1 \cdots x_n)\) とすると、次式が成り立つ。

\[\begin{split} P^{\top} A P= \begin{pmatrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{pmatrix} \end{split}\]
証明
\[\begin{split} \begin{aligned} A P &= A \begin{pmatrix} x_1 & x_2 & \cdots & x_n \end{pmatrix} \\ &= \begin{pmatrix} A x_1 & A x_2 & \cdots & A x_n \end{pmatrix} \\ &= \begin{pmatrix} \lambda_1 x_1 & \lambda_2 x_2 & \cdots & \lambda_n x_n \end{pmatrix} \\ &= \begin{pmatrix} x_1 & x_2 & \cdots & x_n \end{pmatrix} \begin{pmatrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{pmatrix} \\ &= P \begin{pmatrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{pmatrix} \end{aligned} \end{split}\]

対称行列の固有値分解(スペクトル分解)#

定理

\(n \times n\) 対称行列 \(\boldsymbol{A}\) の固有値を \(\lambda_1, \ldots, \lambda_n\) 、対応する固有ベクトルの正規直交系を \(x_1, \dots, x_n\) とし、これらを列とする行列を \(P=(x_1, \dots, x_n)\) とすると、次式が成り立つ。

\[\begin{split} P^{\top} A P = \left(\begin{array}{llll} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{array}\right) \end{split}\]
証明
\[\begin{split} \boldsymbol{A} \boldsymbol{P} = \boldsymbol{P} \left(\begin{array}{llll} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{array}\right) \end{split}\]

の両辺に右から\(\boldsymbol{P}^{\top}\)をかけると得られる。