Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

対称行列の固有値

対称行列に対しては

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

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

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

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

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

証明

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

Ax=λx,Axˉ=λˉxˉA x = \lambda x, \quad A \bar{x} = \bar{\lambda} \bar{x}

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

xˉ,Ax=λxˉ,x,x,Axˉ=λˉx,xˉ\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

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

xˉ,Ax=Ax,xˉ=x,Axˉ=x,Axˉ\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つの式の辺々を差し引くと

0=λxˉ,xλˉx,xˉ    (λλˉ)x,xˉ=00 = \lambda \langle \bar{x}, x \rangle - \bar{\lambda} \langle x, \bar{x} \rangle \\ \iff (\lambda - \bar{\lambda}) \langle x, \bar{x} \rangle = 0

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

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

(λIA)x=0(\lambda I - A) x = 0

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

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

証明

対称行列AAの2つの異なる固有値をλ1,λ2\lambda_1, \lambda_2、対応する固有ベクトルをx1,x2x_1, x_2とする。

Ax1=λ1x1,Ax2=λ2x2Ax_1 = \lambda_1 x_1, \quad Ax_2 = \lambda_2 x_2

第1式をx2x_2と内積をとり、第2式をx1x_1と内積をとると

x2,Ax1=x2,λ1x1,x1,Ax2=x1,λ2x2\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

AAは対称行列なので

x2,Ax1=Ax1,x2(内積の左右を入れ替え)=x1,Ax2(内積と転置の定理により)=x1,Ax2(Aは対称行列のためA=A)\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}

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

x2,λ1x1x1,λ2x2=0    λ1x2,x1λ2x1,x2=0    (λ1λ2)x1,x2=0\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}

λ1λ20\lambda_1 - \lambda_2 \neq 0であるから、x1,x2=0\langle x_1, x_2 \rangle = 0であり、x1,x2x_1, x_2は互いに直交している

対称行列の対角化

証明
AP=A(x1x2xn)=(Ax1Ax2Axn)=(λ1x1λ2x2λnxn)=(x1x2xn)(λ1λ2λn)=P(λ1λ2λn)\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}

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

証明
AP=P(λ1λ2λn)\boldsymbol{A} \boldsymbol{P} = \boldsymbol{P} \left(\begin{array}{llll} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{array}\right)

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