コンテンツにスキップ

スペクトル定理:対称行列はなぜ「回転だけ」で対角化できるのか

対象読者: 本テーマ第 1〜6 章の内容、特に内積空間・正規直交基底・直交補空間と対角化を学んだ人。複素行列の転置と共役は扱えるものとします。

前提となる記事:内積空間とグラム・シュミット直交化:長さと角度を線形代数に持ち込む

生 Markdown

行列で図形を動かすとき、「軸に沿って伸び縮みしているだけ」と見える座標の取り方を探すことがあります。ただし取り方によっては、直角だったものが斜めに崩れ、図形がゆがんで見えてしまいます。この記事は、対称な行列であれば、直角を保ったまま(回転や鏡映だけで)単純な伸び縮みの見方に直せることを、計算例を交えて順に確かめます。読み終えると、斜めに傾いた楕円の向きや、データのばらつきが最も大きい方向を、行列の計算から求められるようになります。

  • 行列の随伴 A∗=A‾TA^{*} = \overline{A}^{\mathsf{T}} は、成分をひっくり返す操作としてではなく、⟨Ax,y⟩=⟨x,A∗y⟩\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle という 1 本の等式で特徴づけられます。随伴は内積が決めるものであり、内積を変えれば随伴も変わります。
  • A∗=AA^{*} = A を満たす行列(エルミート行列、実行列なら対称行列)の固有値はすべて実数で、異なる固有値に属する固有ベクトルは何もしなくても直交します。
  • スペクトル定理は「エルミート行列 AA に対して、ユニタリ行列 UU(長さと角度を保つ変換を表す行列)と実対角行列 Λ\Lambda が存在して A=UΛU∗A = U\Lambda U^{*} と書ける」と述べます。幾何的には、互いに直交する nn 本の軸をうまく選べば、AA はその各軸方向への伸縮でしかありません。
  • 座標変換がユニタリ(実なら直交)であることが決定的です。長さと角度を保ったまま対角化できるので、2 次形式の主軸、正定値性の判定、行列の平方根、主成分分析が、すべてこの一つの定理から出てきます。
  • 逆に、ユニタリ行列で対角化できる行列は正規行列 A∗A=AA∗A^{*}A = AA^{*} に限られます。エルミート行列とユニタリ行列は、その代表的な二つの部分クラスです。

1. 動機 — 対角化できても「座標が歪む」

Section titled “1. 動機 — 対角化できても「座標が歪む」”

対角化とジョルダン標準形 で見たとおり、線形変換を対角行列で表すことは、変換を「いくつかの軸方向への伸縮」として理解することにあたります。しかし対角化にはいつも二つの障害がつきまといました。

例 1.1(対角化を阻む三つの行列)

次の 3 つの実行列を比べます。

N=(1101),R=(0−110),B=(1102)N = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix},\qquad R = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix},\qquad B = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix}

NN の特性多項式は (λ−1)2(\lambda - 1)^2 で固有値は 11 のみですが、N−I=(0100)N - I = \begin{pmatrix} 0 & 1 \\ 0 & 0\end{pmatrix} の核は span⁡{(1,0)T}\operatorname{span}\{(1,0)^{\mathsf{T}}\} で 1 次元しかありません。固有ベクトルが 2 本取れないので、NN は対角化できません(対角化と固有基底(定理 3.2)[対角化とジョルダン標準形])。

RR の特性多項式は λ2+1\lambda^2 + 1 で、実数の固有値を持ちません。実数の範囲では対角化できません(複素数まで広げれば固有値 ±i\pm i で対角化できます。回転行列の固有値(例 4.8)[固有値と固有ベクトル] を参照)。

BB は固有値 1,21, 2 が相異なるので対角化できます。固有ベクトルは v1=(1,0)T\boldsymbol{v}_1 = (1,0)^{\mathsf{T}}、v2=(1,1)T\boldsymbol{v}_2 = (1,1)^{\mathsf{T}} です。ところが ⟨v1,v2⟩=1≠0\langle \boldsymbol{v}_1, \boldsymbol{v}_2\rangle = 1 \neq 0 で、この 2 本は直交していません。BB を対角にする座標系は、直角に交わらない「斜交座標」です。

(1, 0)(1, 1)B:斜めに交わる(2, 1)(1, −2)対称行列:直角に交わる
固有ベクトルの向き。左は上の B の場合で、2 本は斜めに交わる。右は後の例で扱う対称行列(第 4 節の 2 次実対称行列の例)の場合で、2 本は直角に交わる。

3 つ目が本記事の出発点です。対角化ができても、新しい座標軸が直交しているとは限りません。斜交座標では長さも角度も歪むので、「各軸方向に λi\lambda_i 倍しているだけです」と言われても、図形がどう変形するのかは読み取れません。逆に新しい座標軸が正規直交基底であれば、座標変換は回転や鏡映という剛体的な動きであり、そこで対角に見えることは変換の幾何を完全に把握したことを意味します。

そして驚くべきことに、応用で現れる行列の多くはこの「直交対角化」ができます。データの共分散行列、剛体の慣性テンソル、グラフのラプラシアン行列、量子力学のハミルトニアン、2 次形式の係数行列 — これらはいずれも AT=AA^{\mathsf{T}} = A(あるいは複素版の A∗=AA^{*} = A)を満たします。この対称性が、実固有値と直交固有ベクトルという二つの恩恵を同時にもたらします。本記事の目標は、この事実を定義から積み上げて証明し、応用まで運ぶことです。

注意 1.2

固有値の全体を「スペクトル(spectrum)」と呼ぶ用語は、ヒルベルトが 1900 年代に積分方程式論の中で導入したもので、量子力学よりも前のことです。後になって、原子が放つ光のスペクトル線が、ハミルトニアンという自己共役作用素の固有値(エネルギー準位)の差として説明されました。本記事で扱うのは有限次元版ですが、証明の骨格(自己共役性から実固有値と直交性が出る)は無限次元でもそのまま生きます。

以下、Cn\mathbb{C}^n の標準内積を使います。規約を固定しておきます。

⟨x,y⟩=∑i=1nxiyi‾\langle \boldsymbol{x}, \boldsymbol{y}\rangle = \sum_{i=1}^{n} x_i \overline{y_i}

すなわち第 1 変数について線形、第 2 変数について共役線形(スカラーを外に出すとき共役 cˉ\bar{c} になる、ということ)とします。このとき ⟨y,x⟩=⟨x,y⟩‾\langle \boldsymbol{y}, \boldsymbol{x}\rangle = \overline{\langle \boldsymbol{x}, \boldsymbol{y}\rangle} であり、∥x∥2=⟨x,x⟩=∑i∣xi∣2≥0\|\boldsymbol{x}\|^2 = \langle \boldsymbol{x}, \boldsymbol{x}\rangle = \sum_i |x_i|^2 \ge 0 で、等号は x=0\boldsymbol{x} = \boldsymbol{0} のときに限ります。実行列・実ベクトルだけを扱うときは共役が消え、⟨x,y⟩=yTx\langle \boldsymbol{x}, \boldsymbol{y}\rangle = \boldsymbol{y}^{\mathsf{T}}\boldsymbol{x} という通常の内積になります。内積空間の一般論とグラム・シュミットの直交化は 内積空間とグラム・シュミット直交化(とくに グラム・シュミットの直交化(定理 6.1)[内積空間とグラム・シュミット直交化])を前提とします。

定義 2.1(随伴行列)↗

A=(aij)A = (a_{ij}) を m×nm \times n の複素行列とする。AA の随伴行列(転置共役、共役転置)A∗A^{*} を、(i,j)(i,j) 成分が aji‾\overline{a_{ji}} である n×mn \times m 行列と定める。すなわち

A∗=A‾T=AT‾.A^{*} = \overline{A}^{\mathsf{T}} = \overline{A^{\mathsf{T}}}.

AA が実行列のときは A∗=ATA^{*} = A^{\mathsf{T}} である。列ベクトル y∈Cn\boldsymbol{y} \in \mathbb{C}^n は n×1n \times 1 行列とみなし、y∗\boldsymbol{y}^{*} は 1×n1 \times n 行列(行ベクトル)とする。この記法のもとで

⟨x,y⟩=y∗x\langle \boldsymbol{x}, \boldsymbol{y}\rangle = \boldsymbol{y}^{*}\boldsymbol{x}

が成り立つ(右辺の 1×11 \times 1 行列をスカラーと同一視する)。

定義そのものは成分の操作にすぎません。しかし本質は次の命題の (1) にあります。随伴は「内積を左から右へ渡すときに現れる相方」であり、この性質だけで一意に決まります。

命題 2.2(随伴の基本性質)✓

A,BA, B を nn 次複素正方行列、c∈Cc \in \mathbb{C} とする。

  1. すべての x,y∈Cn\boldsymbol{x}, \boldsymbol{y} \in \mathbb{C}^n に対して ⟨Ax,y⟩=⟨x,A∗y⟩\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle が成り立つ。さらに、この等式をすべての x,y\boldsymbol{x}, \boldsymbol{y} について満たす行列は A∗A^{*} のみである。
  2. (A∗)∗=A(A^{*})^{*} = A、(A+B)∗=A∗+B∗(A+B)^{*} = A^{*} + B^{*}、(cA)∗=cˉ A∗(cA)^{*} = \bar{c}\,A^{*}、(AB)∗=B∗A∗(AB)^{*} = B^{*}A^{*}。
  3. ker⁡A∗=(im⁡A)⊥\ker A^{*} = (\operatorname{im} A)^{\perp}。ここで im⁡A={Ax:x∈Cn}\operatorname{im} A = \{A\boldsymbol{x} : \boldsymbol{x} \in \mathbb{C}^n\} は AA の像である。

次の証明は、(1) の等式を成分で書き下して確かめ、そこから (2)(3) を (1) だけで導く流れです。共役(上線)がどの成分に付くかに注意して追ってください。

証明(命題 2.2)

まず (A∗)∗=A(A^{*})^{*} = A を成分で確かめます。A∗A^{*} の (i,j)(i,j) 成分は aji‾\overline{a_{ji}} ですから、(A∗)∗(A^{*})^{*} の (i,j)(i,j) 成分はその添字を入れ替えて共役をとった aij‾‾=aij\overline{\overline{a_{ij}}} = a_{ij} です。よって (A∗)∗=A(A^{*})^{*} = A です。

(1) の等式は、両辺を成分で書き下せば確かめられます。定義 2.1 の記法で左辺は

⟨Ax,y⟩=y∗(Ax)=∑i=1nyi‾ (Ax)i=∑i=1n∑j=1nyi‾ aij xj\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \boldsymbol{y}^{*}(A\boldsymbol{x}) = \sum_{i=1}^{n}\overline{y_i}\,(A\boldsymbol{x})_i = \sum_{i=1}^{n}\sum_{j=1}^{n} \overline{y_i}\,a_{ij}\,x_j

です。右辺は、A∗A^{*} の (j,i)(j,i) 成分が aij‾\overline{a_{ij}} であること、すなわち (A∗y)j=∑iaij‾ yi(A^{*}\boldsymbol{y})_j = \sum_{i}\overline{a_{ij}}\,y_i を使って

⟨x,A∗y⟩=∑j=1n(A∗y)j‾ xj=∑j=1n( ∑i=1naij‾ yi‾ )xj=∑i,jaij yi‾ xj\langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \sum_{j=1}^{n}\overline{(A^{*}\boldsymbol{y})_j}\,x_j = \sum_{j=1}^{n}\left(\,\overline{\sum_{i=1}^{n}\overline{a_{ij}}\,y_i}\,\right)x_j = \sum_{i,j} a_{ij}\,\overline{y_i}\,x_j

となります。二つの二重和は一致するので、(1) の等式が成り立ちます。

一意性: 行列 CC が ⟨Ax,y⟩=⟨x,Cy⟩\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, C\boldsymbol{y}\rangle をすべての x,y\boldsymbol{x}, \boldsymbol{y} で満たすとします。上で示した等式から辺々引くと、すべての x,y\boldsymbol{x}, \boldsymbol{y} で ⟨x,(A∗−C)y⟩=0\langle \boldsymbol{x}, (A^{*} - C)\boldsymbol{y}\rangle = 0 です。ここで y\boldsymbol{y} を任意に固定し x=(A∗−C)y\boldsymbol{x} = (A^{*}-C)\boldsymbol{y} と選ぶと ∥(A∗−C)y∥2=0\|(A^{*}-C)\boldsymbol{y}\|^2 = 0、内積の正定値性から (A∗−C)y=0(A^{*}-C)\boldsymbol{y} = \boldsymbol{0} です。y\boldsymbol{y} は任意なので A∗=CA^{*} = C を得ます。

(2) 加法とスカラー倍は成分ごとの計算で直ちに従います(aji+bji‾=aji‾+bji‾\overline{a_{ji}+b_{ji}} = \overline{a_{ji}}+\overline{b_{ji}}、c aji‾=cˉ aji‾\overline{c\,a_{ji}} = \bar{c}\,\overline{a_{ji}})。積については (1) を 2 回使い、

⟨ABx,y⟩=⟨Bx,A∗y⟩=⟨x,B∗A∗y⟩\langle AB\boldsymbol{x}, \boldsymbol{y}\rangle = \langle B\boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \langle \boldsymbol{x}, B^{*}A^{*}\boldsymbol{y}\rangle

となります。左辺は ⟨x,(AB)∗y⟩\langle \boldsymbol{x}, (AB)^{*}\boldsymbol{y}\rangle とも書けるので、(1) の一意性から (AB)∗=B∗A∗(AB)^{*} = B^{*}A^{*} です。

(3) y∈ker⁡A∗\boldsymbol{y} \in \ker A^{*} とすると、任意の x\boldsymbol{x} について ⟨Ax,y⟩=⟨x,A∗y⟩=⟨x,0⟩=0\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{0}\rangle = 0 ですから y⊥im⁡A\boldsymbol{y} \perp \operatorname{im}A です。逆に y⊥im⁡A\boldsymbol{y} \perp \operatorname{im}A とすると、任意の x\boldsymbol{x} で ⟨x,A∗y⟩=⟨Ax,y⟩=0\langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \langle A\boldsymbol{x}, \boldsymbol{y}\rangle = 0 となり、x=A∗y\boldsymbol{x} = A^{*}\boldsymbol{y} と選べば ∥A∗y∥2=0\|A^{*}\boldsymbol{y}\|^2 = 0、すなわち y∈ker⁡A∗\boldsymbol{y} \in \ker A^{*} です。

(3) は随伴の幾何的な意味を一言で述べています。AA が「どこへ写すか」を決める空間(像)と、A∗A^{*} が「何をつぶすか」を決める空間(核)が、直交補空間として表裏一体になっているということです。

注意 2.3

随伴は内積に付随する概念であって、成分表示に付随する概念ではありません。有限次元内積空間 VV 上の線形写像 TT に対し、⟨Tx,y⟩=⟨x,T∗y⟩\langle T\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, T^{*}\boldsymbol{y}\rangle を満たす線形写像 T∗T^{*} がただ一つ存在します(証明は 命題 2.2 の一意性と同じです)。この T∗T^{*} の表現行列が転置共役になるのは、正規直交基底で表現したときに限ります。以下で正規直交基底にこだわるのは、この理由によります。

3. エルミート行列とユニタリ行列

Section titled “3. エルミート行列とユニタリ行列”

随伴を使うと、これから主役になる行列のクラスが一行ずつで定義できます。

定義 3.1(エルミート行列・ユニタリ行列・正規行列)↗

AA を nn 次複素正方行列とする。

  • A∗=AA^{*} = A を満たすとき、AA をエルミート行列(自己随伴行列)という。AA が実行列であれば条件は AT=AA^{\mathsf{T}} = A であり、このとき AA を実対称行列という。
  • U∗U=UU∗=IU^{*}U = UU^{*} = I を満たすとき、UU をユニタリ行列という。UU が実行列であれば条件は UTU=UUT=IU^{\mathsf{T}}U = UU^{\mathsf{T}} = I であり、このとき UU を直交行列という。
  • A∗A=AA∗A^{*}A = AA^{*} を満たすとき、AA を正規行列という。

エルミート行列もユニタリ行列も、A∗A=AA∗A^{*}A = AA^{*} を満たすので正規行列です(前者は両辺とも A2A^2、後者は両辺とも II)。三者の関係は次の図のとおりです。

行列のクラスの関係。実線の矢印は「特別な場合になる」向き、点線はスペクトル定理から導かれる結論を表す。

定義だけ見ると、A∗=AA^{*} = A という条件は「成分をひっくり返しても同じ」という以上の意味を持たないように見えます。命題 2.2 の (1) を通して読み直すと、この条件は

⟨Ax,y⟩=⟨x,Ay⟩(∀x,y)\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A\boldsymbol{y}\rangle \quad (\forall \boldsymbol{x}, \boldsymbol{y})

すなわち「内積の中で AA を左右どちらへ動かしてもよい」という対称性になります。ユニタリ行列の条件のほうは、次の命題が示すとおり「長さと角度を保つ」という幾何的な性質そのものです。

命題 3.2(ユニタリ行列の特徴づけ)✓

UU を nn 次複素正方行列とする。次の 4 条件は同値である。

  1. U∗U=IU^{*}U = I。
  2. すべての x,y∈Cn\boldsymbol{x}, \boldsymbol{y} \in \mathbb{C}^n に対して ⟨Ux,Uy⟩=⟨x,y⟩\langle U\boldsymbol{x}, U\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{y}\rangle。
  3. すべての x∈Cn\boldsymbol{x} \in \mathbb{C}^n に対して ∥Ux∥=∥x∥\|U\boldsymbol{x}\| = \|\boldsymbol{x}\|。
  4. UU の nn 本の列ベクトルは Cn\mathbb{C}^n の正規直交基底をなす。

これらが成り立つとき UU は正則で U−1=U∗U^{-1} = U^{*}、したがって UU∗=IUU^{*} = I も成り立つ(つまり 定義 3.1 のユニタリ行列の条件のうち片方だけを仮定すれば十分である)。

証明の山場は (3) から (1) です。長さを保つという条件から、内積そのものが保たれることを引き出します。そのために、y\boldsymbol{y} を iyi\boldsymbol{y} に取り替えて実部と虚部を別々に調べる、という手を使います。複素数の内積は実部だけでは決まらないので、虚部も同じ形で押さえる必要があるからです。

証明(命題 3.2)

(1) ⇒\Rightarrow (2): 命題 2.2 の (1) より ⟨Ux,Uy⟩=⟨x,U∗Uy⟩=⟨x,y⟩\langle U\boldsymbol{x}, U\boldsymbol{y}\rangle = \langle \boldsymbol{x}, U^{*}U\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{y}\rangle です。

(2) ⇒\Rightarrow (3): (2) で y=x\boldsymbol{y} = \boldsymbol{x} とすると ∥Ux∥2=⟨Ux,Ux⟩=⟨x,x⟩=∥x∥2\|U\boldsymbol{x}\|^2 = \langle U\boldsymbol{x}, U\boldsymbol{x}\rangle = \langle \boldsymbol{x}, \boldsymbol{x}\rangle = \|\boldsymbol{x}\|^2 です。ノルムは非負なので平方根をとって (3) を得ます。

(3) ⇒\Rightarrow (1): B=U∗U−IB = U^{*}U - I とおきます。B∗=(U∗U)∗−I∗=U∗U−I=BB^{*} = (U^{*}U)^{*} - I^{*} = U^{*}U - I = B(命題 2.2 の (2) を使いました)なので BB はエルミートです。仮定 (3) より、すべての x\boldsymbol{x} について

⟨Bx,x⟩=⟨U∗Ux,x⟩−⟨x,x⟩=∥Ux∥2−∥x∥2=0\langle B\boldsymbol{x}, \boldsymbol{x}\rangle = \langle U^{*}U\boldsymbol{x}, \boldsymbol{x}\rangle - \langle \boldsymbol{x},\boldsymbol{x}\rangle = \|U\boldsymbol{x}\|^2 - \|\boldsymbol{x}\|^2 = 0

です。ここから B=OB = O を出します。任意の x,y\boldsymbol{x}, \boldsymbol{y} について

0=⟨B(x+y),x+y⟩=⟨Bx,x⟩+⟨Bx,y⟩+⟨By,x⟩+⟨By,y⟩=⟨Bx,y⟩+⟨By,x⟩0 = \langle B(\boldsymbol{x}+\boldsymbol{y}), \boldsymbol{x}+\boldsymbol{y}\rangle = \langle B\boldsymbol{x},\boldsymbol{x}\rangle + \langle B\boldsymbol{x},\boldsymbol{y}\rangle + \langle B\boldsymbol{y},\boldsymbol{x}\rangle + \langle B\boldsymbol{y},\boldsymbol{y}\rangle = \langle B\boldsymbol{x},\boldsymbol{y}\rangle + \langle B\boldsymbol{y},\boldsymbol{x}\rangle

です。BB がエルミートなので ⟨By,x⟩=⟨y,Bx⟩=⟨Bx,y⟩‾\langle B\boldsymbol{y},\boldsymbol{x}\rangle = \langle \boldsymbol{y}, B\boldsymbol{x}\rangle = \overline{\langle B\boldsymbol{x},\boldsymbol{y}\rangle} であり、上式は 2Re⁡⟨Bx,y⟩=02\operatorname{Re}\langle B\boldsymbol{x},\boldsymbol{y}\rangle = 0 を意味します。次に y\boldsymbol{y} を iyi\boldsymbol{y} で置き換えると、第 2 変数は共役線形なので ⟨Bx,iy⟩=iˉ⟨Bx,y⟩=−i⟨Bx,y⟩\langle B\boldsymbol{x}, i\boldsymbol{y}\rangle = \bar{i}\langle B\boldsymbol{x},\boldsymbol{y}\rangle = -i\langle B\boldsymbol{x},\boldsymbol{y}\rangle であり、複素数 zz に対し Re⁡(−iz)=Im⁡(z)\operatorname{Re}(-iz) = \operatorname{Im}(z) ですから Im⁡⟨Bx,y⟩=0\operatorname{Im}\langle B\boldsymbol{x},\boldsymbol{y}\rangle = 0 も従います。実部も虚部も 00 なので ⟨Bx,y⟩=0\langle B\boldsymbol{x},\boldsymbol{y}\rangle = 0 がすべての x,y\boldsymbol{x},\boldsymbol{y} で成り立ち、y=Bx\boldsymbol{y} = B\boldsymbol{x} と選べば Bx=0B\boldsymbol{x} = \boldsymbol{0}、すなわち B=OB = O です。

(1) ⇔\Leftrightarrow (4): UU の第 kk 列を uk\boldsymbol{u}_k と書くと、(U∗U)jk=∑iuij‾ uik=⟨uk,uj⟩(U^{*}U)_{jk} = \sum_{i}\overline{u_{ij}}\,u_{ik} = \langle \boldsymbol{u}_k, \boldsymbol{u}_j\rangle です。したがって U∗U=IU^{*}U = I は「すべての j,kj,k で ⟨uk,uj⟩=δjk\langle \boldsymbol{u}_k,\boldsymbol{u}_j\rangle = \delta_{jk}」と同値で、これはまさに u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n が正規直交系であることです。Cn\mathbb{C}^n の中の nn 本の正規直交ベクトルは一次独立なので基底になります。

最後の主張: (1) が成り立てば Ux=0U\boldsymbol{x} = \boldsymbol{0} から x=U∗Ux=0\boldsymbol{x} = U^{*}U\boldsymbol{x} = \boldsymbol{0} が出るので UU は単射、正方行列なので正則です。U∗U=IU^{*}U = I の両辺に右から U−1U^{-1} を掛けて U∗=U−1U^{*} = U^{-1}、したがって UU∗=UU−1=IUU^{*} = UU^{-1} = I です。

条件 (3) は「UU は長さを変えない」、条件 (2) は「角度も変えない」と読めます(実の場合、cos⁡θ=⟨x,y⟩/(∥x∥∥y∥)\cos\theta = \langle \boldsymbol{x},\boldsymbol{y}\rangle/(\|\boldsymbol{x}\|\|\boldsymbol{y}\|) が保たれます)。つまりユニタリ変換とは、原点を固定した剛体的な運動(回転と鏡映の組み合わせ)のことです。座標変換にユニタリ行列を使う限り、図形の形は歪みません。

さて、エルミート行列の側の恩恵を確認します。次の補題がスペクトル定理の心臓部です。

補題 3.3(エルミート行列の固有値と固有ベクトル)✓

AA を nn 次エルミート行列とする。

  1. すべての x∈Cn\boldsymbol{x} \in \mathbb{C}^n に対して ⟨Ax,x⟩\langle A\boldsymbol{x}, \boldsymbol{x}\rangle は実数である。
  2. AA の固有値はすべて実数である。
  3. λ≠μ\lambda \neq \mu を AA の固有値、x\boldsymbol{x} を λ\lambda の固有ベクトル、y\boldsymbol{y} を μ\mu の固有ベクトルとすると ⟨x,y⟩=0\langle \boldsymbol{x}, \boldsymbol{y}\rangle = 0、すなわち相異なる固有値に属する固有ベクトルは直交する。
証明(補題 3.3)
  1. 内積の共役対称性から ⟨Ax,x⟩‾=⟨x,Ax⟩\overline{\langle A\boldsymbol{x},\boldsymbol{x}\rangle} = \langle \boldsymbol{x}, A\boldsymbol{x}\rangle です。一方 命題 2.2 の (1) と A∗=AA^{*} = A より ⟨x,Ax⟩=⟨x,A∗x⟩=⟨Ax,x⟩\langle \boldsymbol{x}, A\boldsymbol{x}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{x}\rangle = \langle A\boldsymbol{x}, \boldsymbol{x}\rangle です。よって ⟨Ax,x⟩\langle A\boldsymbol{x},\boldsymbol{x}\rangle は自分自身の共役と等しく、実数です。

  2. Ax=λxA\boldsymbol{x} = \lambda\boldsymbol{x}、x≠0\boldsymbol{x} \neq \boldsymbol{0} とします。⟨Ax,x⟩=⟨λx,x⟩=λ∥x∥2\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \langle \lambda\boldsymbol{x},\boldsymbol{x}\rangle = \lambda\|\boldsymbol{x}\|^2 です。左辺は 1 より実数、∥x∥2\|\boldsymbol{x}\|^2 は正の実数なので、λ=⟨Ax,x⟩/∥x∥2\lambda = \langle A\boldsymbol{x},\boldsymbol{x}\rangle/\|\boldsymbol{x}\|^2 は実数です。

  3. Ax=λxA\boldsymbol{x} = \lambda\boldsymbol{x}、Ay=μyA\boldsymbol{y} = \mu\boldsymbol{y} とします。2 より λ,μ\lambda,\mu は実数です。

λ⟨x,y⟩=⟨λx,y⟩=⟨Ax,y⟩=⟨x,Ay⟩=⟨x,μy⟩=μˉ⟨x,y⟩=μ⟨x,y⟩\lambda\langle \boldsymbol{x},\boldsymbol{y}\rangle = \langle \lambda\boldsymbol{x},\boldsymbol{y}\rangle = \langle A\boldsymbol{x},\boldsymbol{y}\rangle = \langle \boldsymbol{x}, A\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \mu\boldsymbol{y}\rangle = \bar{\mu}\langle \boldsymbol{x},\boldsymbol{y}\rangle = \mu\langle \boldsymbol{x},\boldsymbol{y}\rangle

となります(3 番目の等号で A∗=AA^{*} = A と 命題 2.2 の (1)、最後の等号で μ\mu が実数であることを使いました)。よって (λ−μ)⟨x,y⟩=0(\lambda - \mu)\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0 で、λ≠μ\lambda \neq \mu より ⟨x,y⟩=0\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0 です。

3 の主張は注目に値します。一般の対角化可能な行列では、異なる固有値の固有ベクトルは一次独立ではあっても(相異なる固有値に属する固有ベクトルの一次独立性(定理 5.2)[固有値と固有ベクトル])、直交する理由がありません(例 1.1 の BB がその例です)。エルミート性は、直交性を無料で与えてくれます。あとは、固有ベクトルが「全部で nn 本」取れることを示せば、正規直交基底が手に入ります。

固有ベクトルを nn 本集める標準的な方法は、1 本見つけたらその直交補空間へ降りて次元を 1 つ減らし、帰納法を回すことです。この作戦が成立するのは、次の補題のおかげです。

補題の言葉を先に整理します。「AA 不変な部分空間」とは、AA を掛けても外に出ない部分空間のことです(たとえば固有ベクトル 1 本が張る直線)。固有ベクトルを 1 本見つけたあと、その直線に直交する残りの部分を調べ直したいのですが、そこでも AA が閉じていれば、次元の 1 つ小さい同じ問題に帰着できます。補題はその「閉じている」ことと、そこでの行列が再びエルミートになることを述べています。

補題 4.1(不変部分空間の直交補空間)✓

AA を nn 次エルミート行列、W⊆CnW \subseteq \mathbb{C}^n を部分空間とし、WW が AA 不変、すなわち Aw∈WA\boldsymbol{w} \in W がすべての w∈W\boldsymbol{w} \in W で成り立つとする。このとき直交補空間 W⊥={y:⟨y,w⟩=0 (∀w∈W)}W^{\perp} = \{\boldsymbol{y} : \langle \boldsymbol{y},\boldsymbol{w}\rangle = 0\ (\forall \boldsymbol{w}\in W)\} もまた AA 不変である。さらに、W⊥W^{\perp} の正規直交基底 v1,…,vm\boldsymbol{v}_1,\ldots,\boldsymbol{v}_m をとり、Avj=∑i=1mbijviA\boldsymbol{v}_j = \sum_{i=1}^{m} b_{ij}\boldsymbol{v}_i で定まる mm 次行列 B=(bij)B = (b_{ij}) を作ると、BB はエルミート行列である。

証明(補題 4.1)

y∈W⊥\boldsymbol{y} \in W^{\perp}、w∈W\boldsymbol{w} \in W とします。命題 2.2 の (1) と A∗=AA^{*} = A より

⟨Ay,w⟩=⟨y,A∗w⟩=⟨y,Aw⟩\langle A\boldsymbol{y}, \boldsymbol{w}\rangle = \langle \boldsymbol{y}, A^{*}\boldsymbol{w}\rangle = \langle \boldsymbol{y}, A\boldsymbol{w}\rangle

です。仮定より Aw∈WA\boldsymbol{w} \in W であり、y\boldsymbol{y} は WW のすべての元と直交するので右辺は 00 です。w∈W\boldsymbol{w} \in W は任意だったので Ay∈W⊥A\boldsymbol{y} \in W^{\perp}、すなわち W⊥W^{\perp} は AA 不変です。

後半を示します。W⊥W^{\perp} が AA 不変なので Avj∈W⊥A\boldsymbol{v}_j \in W^{\perp} であり、正規直交基底による展開(正規直交基底による展開(定理 5.3)[内積空間とグラム・シュミット直交化])の係数は bij=⟨Avj,vi⟩b_{ij} = \langle A\boldsymbol{v}_j, \boldsymbol{v}_i\rangle です。すると

bji‾=⟨Avi,vj⟩‾=⟨vj,Avi⟩=⟨Avj,vi⟩=bij\overline{b_{ji}} = \overline{\langle A\boldsymbol{v}_i, \boldsymbol{v}_j\rangle} = \langle \boldsymbol{v}_j, A\boldsymbol{v}_i\rangle = \langle A\boldsymbol{v}_j, \boldsymbol{v}_i\rangle = b_{ij}

となります。2 番目の等号は内積の共役対称性、3 番目の等号は AA のエルミート性(命題 2.2 の (1))です。よって B∗=BB^{*} = B です。

定理 4.2(スペクトル定理(エルミート行列))✓

AA を nn 次エルミート行列(A∗=AA^{*} = A)とする。このとき、nn 次ユニタリ行列 UU と、実数を対角成分に持つ対角行列 Λ=diag⁡(λ1,…,λn)\Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n) が存在して

A=UΛU∗,すなわちU∗AU=ΛA = U\Lambda U^{*},\qquad \text{すなわち}\qquad U^{*}AU = \Lambda

が成り立つ。λ1,…,λn\lambda_1,\ldots,\lambda_n は重複度を込めた AA の固有値であり、UU の列ベクトル u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n は Auk=λkukA\boldsymbol{u}_k = \lambda_k\boldsymbol{u}_k を満たす Cn\mathbb{C}^n の正規直交基底である。

言い換えると、Cn\mathbb{C}^n は AA の固有ベクトルからなる正規直交基底を持つ。

証明の方針は次のとおりです。固有ベクトルを 1 本取り、それに直交する部分(次元が 1 つ小さい)に同じ議論を繰り返して、固有ベクトルを 1 本ずつ積み上げます。小さい空間で得た固有ベクトルを元の空間のベクトルに読み替える段階では添字が増えますが、やっていることは「基底 vi\boldsymbol{v}_i に関する座標 ck\boldsymbol{c}_k から、ベクトル ∑icikvi\sum_i c_{ik}\boldsymbol{v}_i を組み立てる」だけです。

証明(定理 4.2)

nn についての数学的帰納法で示します。

n=1n = 1 のとき、A=(a)A = (a) で A∗=AA^{*} = A は aˉ=a\bar{a} = a、すなわち aa は実数です。U=(1)U = (1)、Λ=(a)\Lambda = (a) とすればよく、主張は成り立ちます。

n≥2n \ge 2 とし、n−1n-1 次以下のエルミート行列について主張が成り立つと仮定します。まず固有値を 1 つ取り出します。特性多項式 det⁡(λI−A)\det(\lambda I - A) は複素数係数の nn 次多項式なので、代数学の基本定理により複素数の根 λ1\lambda_1 を持ちます(このあたりは 固有値と固有ベクトル の 固有値の存在(系 4.6)[固有値と固有ベクトル] を参照してください)。det⁡(λ1I−A)=0\det(\lambda_1 I - A) = 0 より λ1I−A\lambda_1 I - A は正則でなく、Au1=λ1u1A\boldsymbol{u}_1 = \lambda_1\boldsymbol{u}_1 を満たす u1≠0\boldsymbol{u}_1 \neq \boldsymbol{0} が存在します。必要なら u1/∥u1∥\boldsymbol{u}_1/\|\boldsymbol{u}_1\| で置き換えて ∥u1∥=1\|\boldsymbol{u}_1\| = 1 としておきます。補題 3.3 の 2 より λ1\lambda_1 は実数です。

W=span⁡{u1}W = \operatorname{span}\{\boldsymbol{u}_1\} とおくと、A(cu1)=cλ1u1∈WA(c\boldsymbol{u}_1) = c\lambda_1\boldsymbol{u}_1 \in W なので WW は AA 不変です。補題 4.1 より W⊥W^{\perp} も AA 不変で、W⊥W^{\perp} の正規直交基底 v1,…,vn−1\boldsymbol{v}_1,\ldots,\boldsymbol{v}_{n-1}(グラム・シュミットの直交化で作れます)に関する AA の表現行列 BB は n−1n-1 次のエルミート行列です。ここで dim⁡W⊥=n−dim⁡W=n−1\dim W^{\perp} = n - \dim W = n-1 と Cn=W⊕W⊥\mathbb{C}^n = W \oplus W^{\perp} を使いました(直交分解定理(定理 7.1)[内積空間とグラム・シュミット直交化])。

帰納法の仮定を BB に適用すると、Cn−1\mathbb{C}^{n-1} の正規直交基底 c2,…,cn\boldsymbol{c}_2,\ldots,\boldsymbol{c}_n で Bck=λkckB\boldsymbol{c}_k = \lambda_k\boldsymbol{c}_k(λk\lambda_k は実数)を満たすものが取れます。ck=(c1k,…,cn−1,k)T\boldsymbol{c}_k = (c_{1k},\ldots,c_{n-1,k})^{\mathsf{T}} に対応するベクトル uk=∑i=1n−1cikvi∈W⊥\boldsymbol{u}_k = \sum_{i=1}^{n-1} c_{ik}\boldsymbol{v}_i \in W^{\perp} を作ると、BB の定め方から

Auk=∑icikAvi=∑icik∑jbjivj=∑j(∑ibjicik)vj=∑j(Bck)jvj=λkukA\boldsymbol{u}_k = \sum_{i} c_{ik}A\boldsymbol{v}_i = \sum_{i}c_{ik}\sum_{j}b_{ji}\boldsymbol{v}_j = \sum_{j}\left(\sum_i b_{ji}c_{ik}\right)\boldsymbol{v}_j = \sum_j (B\boldsymbol{c}_k)_j \boldsymbol{v}_j = \lambda_k \boldsymbol{u}_k

となります。また v1,…,vn−1\boldsymbol{v}_1,\ldots,\boldsymbol{v}_{n-1} が正規直交なので ⟨uk,ul⟩=∑icikcil‾=⟨ck,cl⟩=δkl\langle \boldsymbol{u}_k, \boldsymbol{u}_l\rangle = \sum_{i} c_{ik}\overline{c_{il}} = \langle \boldsymbol{c}_k, \boldsymbol{c}_l\rangle = \delta_{kl} であり、u2,…,un\boldsymbol{u}_2,\ldots,\boldsymbol{u}_n は W⊥W^{\perp} の正規直交基底です。

u1∈W\boldsymbol{u}_1 \in W は W⊥W^{\perp} のすべての元と直交し長さ 11 なので、u1,u2,…,un\boldsymbol{u}_1,\boldsymbol{u}_2,\ldots,\boldsymbol{u}_n は Cn\mathbb{C}^n の正規直交基底であり、各 uk\boldsymbol{u}_k は実固有値 λk\lambda_k の固有ベクトルです。これらを列に並べた行列を UU とすると、命題 3.2 の (4) より UU はユニタリ行列です。AUAU の第 kk 列は Auk=λkukA\boldsymbol{u}_k = \lambda_k\boldsymbol{u}_k であり、これは UΛU\Lambda の第 kk 列と一致するので AU=UΛAU = U\Lambda、両辺に右から U−1=U∗U^{-1} = U^{*} を掛けて A=UΛU∗A = U\Lambda U^{*} を得ます。

実行列だけを扱いたい場面(2 次形式や共分散行列がそうです)では、次の形で使うことがほとんどです。複素数を経由せずに済むことが主張の内容です。

系 4.3(実対称行列の直交対角化)✓

AA を nn 次実対称行列(AT=AA^{\mathsf{T}} = A、成分はすべて実数)とする。このとき実の直交行列 PP(PTP=PPT=IP^{\mathsf{T}}P = PP^{\mathsf{T}} = I)と実対角行列 Λ\Lambda が存在して

PTAP=Λ=diag⁡(λ1,…,λn)P^{\mathsf{T}}AP = \Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n)

が成り立つ。PP の列は AA の固有ベクトルからなる Rn\mathbb{R}^n の正規直交基底である。

証明(系 4.3)

実対称行列は複素行列とみてもエルミート行列です(成分が実なので aji‾=aji=aij\overline{a_{ji}} = a_{ji} = a_{ij})。したがって 補題 3.3 の 2 より、固有値はすべて実数です。

定理 4.2 の証明をそのまま Rn\mathbb{R}^n の中で繰り返せば主張が従います。実際、補題 3.3 と 補題 4.1 の証明は実内積のもとでそのまま通り、グラム・シュミットの直交化も実ベクトルから実ベクトルを作ります。補うべきは「実の固有ベクトルが取れる」ことだけです。これは次のように分かります。λ\lambda を AA の固有値とすると λ\lambda は実数で、λI−A\lambda I - A は実行列です。det⁡(λI−A)=0\det(\lambda I - A) = 0 ですが、行列式は実数体上で計算しても複素数体上で計算しても同じ値なので、実行列 λI−A\lambda I - A は実数体上でも正則ではありません。したがって実の連立一次方程式 (λI−A)x=0(\lambda I - A)\boldsymbol{x} = \boldsymbol{0} は自明でない実数解を持ちます。これが実の固有ベクトルです。

最後に PP の列が実の正規直交基底であることから、命題 3.2 の (4) を実の場合に適用して PTP=IP^{\mathsf{T}}P = I、よって P−1=PTP^{-1} = P^{\mathsf{T}} であり、PTAP=P−1AP=ΛP^{\mathsf{T}}AP = P^{-1}AP = \Lambda です。

例 4.4(2 次実対称行列の直交対角化)

A=(122−2)A = \begin{pmatrix} 1 & 2 \\ 2 & -2\end{pmatrix} を直交対角化します。

固有値。 特性多項式は

det⁡(λI−A)=∣λ−1−2−2λ+2∣=(λ−1)(λ+2)−4=λ2+λ−6=(λ−2)(λ+3)\det(\lambda I - A) = \begin{vmatrix} \lambda - 1 & -2 \\ -2 & \lambda + 2\end{vmatrix} = (\lambda-1)(\lambda+2) - 4 = \lambda^2 + \lambda - 6 = (\lambda - 2)(\lambda + 3)

なので固有値は λ1=2\lambda_1 = 2、λ2=−3\lambda_2 = -3 です。どちらも実数で、補題 3.3 の 2 と整合します。

固有ベクトル。 λ=2\lambda = 2 のとき A−2I=(−122−4)A - 2I = \begin{pmatrix} -1 & 2 \\ 2 & -4\end{pmatrix} で、−x+2y=0-x + 2y = 0 より w1=(2,1)T\boldsymbol{w}_1 = (2,1)^{\mathsf{T}} が取れます。実際 A(2,1)T=(1⋅2+2⋅1, 2⋅2+(−2)⋅1)T=(4,2)T=2(2,1)TA(2,1)^{\mathsf{T}} = (1\cdot2 + 2\cdot 1,\ 2\cdot 2 + (-2)\cdot 1)^{\mathsf{T}} = (4,2)^{\mathsf{T}} = 2(2,1)^{\mathsf{T}} です。λ=−3\lambda = -3 のとき A+3I=(4221)A + 3I = \begin{pmatrix} 4 & 2 \\ 2 & 1\end{pmatrix} で、2x+y=02x + y = 0 より w2=(1,−2)T\boldsymbol{w}_2 = (1,-2)^{\mathsf{T}}。実際 A(1,−2)T=(1−4, 2+4)T=(−3,6)T=−3(1,−2)TA(1,-2)^{\mathsf{T}} = (1 - 4,\ 2 + 4)^{\mathsf{T}} = (-3,6)^{\mathsf{T}} = -3(1,-2)^{\mathsf{T}} です。

直交性と正規化。 ⟨w1,w2⟩=2⋅1+1⋅(−2)=0\langle \boldsymbol{w}_1,\boldsymbol{w}_2\rangle = 2\cdot 1 + 1\cdot(-2) = 0 で、確かに直交しています(補題 3.3 の 3 が保証するとおりです)。∥w1∥=∥w2∥=5\|\boldsymbol{w}_1\| = \|\boldsymbol{w}_2\| = \sqrt{5} なので

P=15(211−2),PTAP=(200−3)P = \frac{1}{\sqrt{5}}\begin{pmatrix} 2 & 1 \\ 1 & -2\end{pmatrix}, \qquad P^{\mathsf{T}}AP = \begin{pmatrix} 2 & 0 \\ 0 & -3\end{pmatrix}

です。検算しておきます。PTP=15(211−2)(211−2)=15(5005)=IP^{\mathsf{T}}P = \frac{1}{5}\begin{pmatrix} 2 & 1 \\ 1 & -2\end{pmatrix}\begin{pmatrix} 2 & 1 \\ 1 & -2\end{pmatrix} = \frac{1}{5}\begin{pmatrix} 5 & 0 \\ 0 & 5\end{pmatrix} = I で PP は直交行列です。また APAP の列は 2⋅15(2,1)T2\cdot\frac{1}{\sqrt5}(2,1)^{\mathsf{T}} と −3⋅15(1,−2)T-3\cdot\frac{1}{\sqrt5}(1,-2)^{\mathsf{T}} なので AP=PΛAP = P\Lambda が成り立ちます。

なお det⁡P=15(−4−1)=−1\det P = \frac{1}{5}(-4-1) = -1 なのでこの PP は鏡映ですが、第 2 列の符号を変えれば det⁡=1\det = 1 の回転になり、対角化の結果は変わりません。固有ベクトルの符号は自由に選べます。

例 4.5(重複固有値がある場合 — グラム・シュミットが必要になる)

A=(211121112)A = \begin{pmatrix} 2 & 1 & 1 \\ 1 & 2 & 1 \\ 1 & 1 & 2\end{pmatrix} を直交対角化します。

固有値。 JJ をすべての成分が 11 の 33 次行列とすると A=I+JA = I + J です。Jx=(x1+x2+x3)(1,1,1)TJ\boldsymbol{x} = (x_1+x_2+x_3)(1,1,1)^{\mathsf{T}} ですから、JJ の固有値は (1,1,1)T(1,1,1)^{\mathsf{T}} に対する 33 と、平面 x1+x2+x3=0x_1+x_2+x_3 = 0(2 次元)に対する 00 です。よって A=I+JA = I + J の固有値は 44(1 重)と 11(2 重)です。検算: 固有値の和は 4+1+1=6=tr⁡A4+1+1 = 6 = \operatorname{tr}A、積は 4⋅1⋅1=44\cdot 1\cdot 1 = 4 で、det⁡A=2(4−1)−1(2−1)+1(1−2)=6−1−1=4\det A = 2(4-1) - 1(2-1) + 1(1-2) = 6 - 1 - 1 = 4 と一致します。

固有空間。 λ=4\lambda = 4 の固有空間は span⁡{(1,1,1)T}\operatorname{span}\{(1,1,1)^{\mathsf{T}}\} です(A(1,1,1)T=(4,4,4)TA(1,1,1)^{\mathsf{T}} = (4,4,4)^{\mathsf{T}})。λ=1\lambda = 1 の固有空間は A−I=JA - I = J の核、すなわち平面 x1+x2+x3=0x_1 + x_2 + x_3 = 0 です。

グラム・シュミット。 重複固有値の固有空間の中では、基底を無造作に取ると直交しません。たとえば w1=(1,−1,0)T\boldsymbol{w}_1 = (1,-1,0)^{\mathsf{T}}、w2=(1,0,−1)T\boldsymbol{w}_2 = (1,0,-1)^{\mathsf{T}} はどちらも λ=1\lambda = 1 の固有ベクトルですが ⟨w2,w1⟩=1≠0\langle \boldsymbol{w}_2,\boldsymbol{w}_1\rangle = 1 \neq 0 です。そこで直交化します。

w2′=w2−⟨w2,w1⟩∥w1∥2w1=(1,0,−1)T−12(1,−1,0)T=(12,12,−1)T\boldsymbol{w}_2' = \boldsymbol{w}_2 - \frac{\langle \boldsymbol{w}_2,\boldsymbol{w}_1\rangle}{\|\boldsymbol{w}_1\|^2}\boldsymbol{w}_1 = (1,0,-1)^{\mathsf{T}} - \frac{1}{2}(1,-1,0)^{\mathsf{T}} = \left(\tfrac12, \tfrac12, -1\right)^{\mathsf{T}}

22 倍して (1,1,−2)T(1,1,-2)^{\mathsf{T}} とします。これも固有空間(1+1−2=01+1-2 = 0)に入るので固有値 11 の固有ベクトルであり、⟨(1,1,−2)T,(1,−1,0)T⟩=1−1+0=0\langle (1,1,-2)^{\mathsf{T}},(1,-1,0)^{\mathsf{T}}\rangle = 1 - 1 + 0 = 0 で直交します。

結果。 ノルムはそれぞれ 3,2,6\sqrt3,\sqrt2,\sqrt6 なので

P=(1/31/21/61/3−1/21/61/30−2/6),PTAP=(400010001)P = \begin{pmatrix} 1/\sqrt3 & 1/\sqrt2 & 1/\sqrt6 \\ 1/\sqrt3 & -1/\sqrt2 & 1/\sqrt6 \\ 1/\sqrt3 & 0 & -2/\sqrt6\end{pmatrix},\qquad P^{\mathsf{T}}AP = \begin{pmatrix} 4 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{pmatrix}

です。異なる固有値どうしは ⟨(1,1,1),(1,−1,0)⟩=0\langle (1,1,1),(1,-1,0)\rangle = 0、⟨(1,1,1),(1,1,−2)⟩=0\langle (1,1,1),(1,1,-2)\rangle = 0 と自動的に直交しており(補題 3.3 の 3)、直交化が必要なのは同じ固有値の中だけです。

5. スペクトル分解と行列の関数

Section titled “5. スペクトル分解と行列の関数”

A=UΛU∗A = U\Lambda U^{*} という等式を、幾何的に読み直します。UU の列を u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n とすると、U∗xU^{*}\boldsymbol{x} の第 kk 成分は uk∗x=⟨x,uk⟩\boldsymbol{u}_k^{*}\boldsymbol{x} = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle、つまり x\boldsymbol{x} の第 kk 軸方向の座標です。Λ\Lambda はその座標を λk\lambda_k 倍し、UU は座標からベクトルを組み立て直します。式で書けば

Ax=∑k=1nλk⟨x,uk⟩ uk,すなわちA=∑k=1nλk ukuk∗A\boldsymbol{x} = \sum_{k=1}^{n} \lambda_k \langle \boldsymbol{x}, \boldsymbol{u}_k\rangle\,\boldsymbol{u}_k,\qquad\text{すなわち}\qquad A = \sum_{k=1}^{n}\lambda_k\,\boldsymbol{u}_k\boldsymbol{u}_k^{*}

です。ここで ukuk∗\boldsymbol{u}_k\boldsymbol{u}_k^{*} は nn 次行列で、(ukuk∗)x=uk(uk∗x)=⟨x,uk⟩uk(\boldsymbol{u}_k\boldsymbol{u}_k^{*})\boldsymbol{x} = \boldsymbol{u}_k(\boldsymbol{u}_k^{*}\boldsymbol{x}) = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle\boldsymbol{u}_k ですから、uk\boldsymbol{u}_k の張る直線への直交射影(ベクトルから、その直線に垂線を下ろしたときの足)にほかなりません。エルミート行列とは、互いに直交する軸への射影を、実数の重みをつけて足し合わせたものです。これがスペクトル定理の幾何的な内容です。

相異なる固有値を μ1,…,μr\mu_1,\ldots,\mu_r(r≤nr \le n)とし、PkP_k を固有空間 Ek=ker⁡(A−μkI)E_k = \ker(A - \mu_k I) への直交射影とすると、上の和を固有値ごとにまとめて

A=∑k=1rμkPk,∑k=1rPk=I,PkPl=O (k≠l),Pk∗=Pk,Pk2=PkA = \sum_{k=1}^{r}\mu_k P_k,\qquad \sum_{k=1}^{r}P_k = I,\qquad P_kP_l = O\ (k \neq l),\qquad P_k^{*} = P_k,\quad P_k^2 = P_k

と書けます。これを AA のスペクトル分解といいます。

次の注意は、スペクトル分解が「どの固有ベクトルを選んだか」によらず、行列 AA だけで決まることを述べています。これがあるので、後で行列の関数を定義しても答えが一通りに決まります。

注意 5.1

スペクトル分解は一意です。A=∑kνkQkA = \sum_{k}\nu_k Q_k が、相異なるスカラー νk\nu_k と、Qk∗=QkQ_k^{*} = Q_k、Qk2=QkQ_k^2 = Q_k、QkQl=O (k≠l)Q_kQ_l = O\ (k\neq l)、∑kQk=I\sum_k Q_k = I、Qk≠OQ_k \neq O を満たす分解であったとします。AQk=∑lνlQlQk=νkQkAQ_k = \sum_l \nu_l Q_lQ_k = \nu_kQ_k なので、QkQ_k の像の 00 でないベクトルはすべて固有値 νk\nu_k の固有ベクトルです。よって νk\nu_k は AA の固有値であり、im⁡Qk⊆ker⁡(A−νkI)\operatorname{im}Q_k \subseteq \ker(A - \nu_kI) です。一方 ∑kQk=I\sum_k Q_k = I より Cn=∑kim⁡Qk\mathbb{C}^n = \sum_k \operatorname{im}Q_k であり、相異なる固有値の固有空間は 補題 3.3 の 3 により互いに直交する(特に和は直和)ので、次元を数えて im⁡Qk=ker⁡(A−νkI)\operatorname{im}Q_k = \ker(A-\nu_kI) が従います。したがって {νk}\{\nu_k\} は AA の相異なる固有値全体、QkQ_k は対応する固有空間への直交射影に一致します。

スペクトル分解の実用上の効能は、AA の「関数」が定義できることです。ff を実数上の関数とするとき

f(A):=Uf(Λ)U∗=∑k=1rf(μk)Pk,f(Λ)=diag⁡(f(λ1),…,f(λn))f(A) := U f(\Lambda) U^{*} = \sum_{k=1}^{r} f(\mu_k)P_k,\qquad f(\Lambda) = \operatorname{diag}(f(\lambda_1),\ldots,f(\lambda_n))

と定めます。注意 5.1 により PkP_k は AA だけで決まるので、この定義は UU の取り方(固有ベクトルの符号や、重複固有値の固有空間内での基底の選び方)に依存しません。ff が多項式 f(t)=∑mcmtmf(t) = \sum_m c_mt^m のときは、Am=UΛmU∗A^m = U\Lambda^m U^{*} から f(A)=∑mcmAmf(A) = \sum_m c_mA^m と一致するので、記号の衝突は起きません。

例 5.2(対称行列の平方根と指数関数)

A=(10−6−610)A = \begin{pmatrix} 10 & -6 \\ -6 & 10 \end{pmatrix} を考えます。特性多項式は λ2−20λ+(100−36)=λ2−20λ+64=(λ−16)(λ−4)\lambda^2 - 20\lambda + (100 - 36) = \lambda^2 - 20\lambda + 64 = (\lambda - 16)(\lambda - 4) なので、固有値は 1616 と 44 です。

λ=16\lambda = 16: A−16I=(−6−6−6−6)A - 16I = \begin{pmatrix} -6 & -6 \\ -6 & -6\end{pmatrix} より x+y=0x + y = 0、固有ベクトル u1=12(1,−1)T\boldsymbol{u}_1 = \frac{1}{\sqrt2}(1,-1)^{\mathsf{T}}。 λ=4\lambda = 4: A−4I=(6−6−66)A - 4I = \begin{pmatrix} 6 & -6 \\ -6 & 6\end{pmatrix} より x=yx = y、固有ベクトル u2=12(1,1)T\boldsymbol{u}_2 = \frac{1}{\sqrt2}(1,1)^{\mathsf{T}}。

射影は

P1=u1u1T=12(1−1−11),P2=u2u2T=12(1111)P_1 = \boldsymbol{u}_1\boldsymbol{u}_1^{\mathsf{T}} = \frac12\begin{pmatrix} 1 & -1 \\ -1 & 1\end{pmatrix},\qquad P_2 = \boldsymbol{u}_2\boldsymbol{u}_2^{\mathsf{T}} = \frac12\begin{pmatrix} 1 & 1 \\ 1 & 1\end{pmatrix}

で、P1+P2=IP_1 + P_2 = I、16P1+4P2=(8+2−8+2−8+28+2)=A16P_1 + 4P_2 = \begin{pmatrix} 8+2 & -8+2 \\ -8+2 & 8+2\end{pmatrix} = A を確かめられます。

平方根。 f(t)=tf(t) = \sqrt{t} とすると

A=4P1+2P2=(2−2−22)+(1111)=(3−1−13)\sqrt{A} = 4P_1 + 2P_2 = \begin{pmatrix} 2 & -2 \\ -2 & 2\end{pmatrix} + \begin{pmatrix} 1 & 1 \\ 1 & 1\end{pmatrix} = \begin{pmatrix} 3 & -1 \\ -1 & 3\end{pmatrix}

です。検算: (3−1−13)2=(9+1−3−3−3−31+9)=(10−6−610)=A\begin{pmatrix} 3 & -1 \\ -1 & 3\end{pmatrix}^2 = \begin{pmatrix} 9+1 & -3-3 \\ -3-3 & 1+9\end{pmatrix} = \begin{pmatrix} 10 & -6 \\ -6 & 10\end{pmatrix} = A で、確かに平方根になっています。

指数関数。 f(t)=etf(t) = e^{t} とすると

eA=e16P1+e4P2=12(e16+e4−e16+e4−e16+e4e16+e4)e^{A} = e^{16}P_1 + e^{4}P_2 = \frac12\begin{pmatrix} e^{16} + e^{4} & -e^{16} + e^{4} \\ -e^{16} + e^{4} & e^{16} + e^{4}\end{pmatrix}

です。この計算は、ddtx(t)=Ax(t)\frac{d}{dt}\boldsymbol{x}(t) = A\boldsymbol{x}(t) という連立微分方程式の解 x(t)=etAx(0)\boldsymbol{x}(t) = e^{tA}\boldsymbol{x}(0) をそのまま与えます。AA が対称なら、解は直交する 2 方向でそれぞれ e16te^{16t}、e4te^{4t} 倍されるだけです。

注意 5.3

一般の対角化 A=SDS−1A = SDS^{-1} では SS が正則でありさえすればよく、SS の列が「ほとんど平行」なときには ∥S∥∥S−1∥\|S\|\|S^{-1}\| が大きくなり、数値計算で誤差が増幅されます。ユニタリ行列では ∥Ux∥=∥x∥\|U\boldsymbol{x}\| = \|\boldsymbol{x}\|(命題 3.2 の 3)なのでこの増幅が起きません。エルミート行列の固有値問題が数値的に扱いやすいのは、スペクトル定理が保証する直交性の帰結です。

スペクトル定理の最初の応用は、2 次の多項式が定める図形(楕円・双曲線・楕円面など)の分類です。

定義 6.1(2 次形式)↗

AA を nn 次実対称行列とするとき、Rn\mathbb{R}^n 上の関数

q(x)=xTAx=∑i=1n∑j=1naijxixjq(\boldsymbol{x}) = \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} = \sum_{i=1}^{n}\sum_{j=1}^{n} a_{ij}x_ix_j

を AA の定める2 次形式という。逆に xixjx_i x_j の項だけからなる実 2 次同次多項式が与えられたとき、xi2x_i^2 の係数を aiia_{ii}、xixjx_ix_j(i≠ji \neq j)の係数の半分を aij=ajia_{ij} = a_{ji} と置けば、対応する実対称行列がただ一つ定まる。

複素の場合は、エルミート行列 AA に対する ⟨Ax,x⟩\langle A\boldsymbol{x},\boldsymbol{x}\rangle をエルミート形式という。補題 3.3 の 1 より、この値はつねに実数である。

定義 6.2(正定値・半正定値)↗

エルミート行列 AA が正定値であるとは、すべての x≠0\boldsymbol{x} \neq \boldsymbol{0} に対して ⟨Ax,x⟩>0\langle A\boldsymbol{x},\boldsymbol{x}\rangle > 0 が成り立つことをいう。すべての x\boldsymbol{x} に対して ⟨Ax,x⟩≥0\langle A\boldsymbol{x},\boldsymbol{x}\rangle \ge 0 が成り立つとき半正定値という。−A-A が正定値(半正定値)のとき、AA は負定値(半負定値)という。いずれでもないとき不定符号という。

定理 6.3(主軸定理と正定値性の判定)✓

  1. (主軸定理)AA を nn 次実対称行列、q(x)=xTAxq(\boldsymbol{x}) = \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} とする。AA の固有値を重複を込めて λ1,…,λn\lambda_1,\ldots,\lambda_n、対応する正規直交固有ベクトルを列に並べた直交行列を PP とすると、変数変換 x=Py\boldsymbol{x} = P\boldsymbol{y} によって
q(x)=λ1y12+λ2y22+⋯+λnyn2q(\boldsymbol{x}) = \lambda_1y_1^2 + \lambda_2y_2^2 + \cdots + \lambda_ny_n^2

となる。すなわち 2 次形式は、直交座標変換によって交差項のない形(標準形)に直せる。 2. エルミート行列 AA が正定値であるための必要十分条件は、AA のすべての固有値が正であることである。半正定値であるための必要十分条件は、すべての固有値が非負であることである。実対称行列 AA については、Rn\mathbb{R}^n 上で xTAx>0 (x≠0)\boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} > 0\ (\boldsymbol{x}\neq\boldsymbol{0}) が成り立つことと、Cn\mathbb{C}^n 上で正定値であることは同値である。

証明(定理 6.3)
  1. 系 4.3 より、実の直交行列 PP で PTAP=Λ=diag⁡(λ1,…,λn)P^{\mathsf{T}}AP = \Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n) となるものが取れます。x=Py\boldsymbol{x} = P\boldsymbol{y} を代入すると
q(Py)=(Py)TA(Py)=yT(PTAP)y=yTΛy=∑k=1nλkyk2q(P\boldsymbol{y}) = (P\boldsymbol{y})^{\mathsf{T}}A(P\boldsymbol{y}) = \boldsymbol{y}^{\mathsf{T}}(P^{\mathsf{T}}AP)\boldsymbol{y} = \boldsymbol{y}^{\mathsf{T}}\Lambda\boldsymbol{y} = \sum_{k=1}^{n}\lambda_ky_k^2

です。PP は直交行列なので y=PTx\boldsymbol{y} = P^{\mathsf{T}}\boldsymbol{x} と逆に解け、∥y∥=∥x∥\|\boldsymbol{y}\| = \|\boldsymbol{x}\|(命題 3.2 の 3)ですから、この変数変換は長さを変えない座標の取り替えです。

  1. 定理 4.2 により A=UΛU∗A = U\Lambda U^{*}、u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n を正規直交固有ベクトルとします。任意の x\boldsymbol{x} を x=∑kckuk\boldsymbol{x} = \sum_k c_k\boldsymbol{u}_k(ck=⟨x,uk⟩c_k = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle)と展開すると、Ax=∑kλkckukA\boldsymbol{x} = \sum_k \lambda_kc_k\boldsymbol{u}_k であり、正規直交性から
⟨Ax,x⟩=∑k=1nλk∣ck∣2,∥x∥2=∑k=1n∣ck∣2\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \sum_{k=1}^{n}\lambda_k|c_k|^2,\qquad \|\boldsymbol{x}\|^2 = \sum_{k=1}^{n}|c_k|^2

が成り立ちます。

(十分性)すべての λk\lambda_k が正で x≠0\boldsymbol{x}\neq\boldsymbol{0} とすると、少なくとも 1 つの ckc_k が 00 でないので ⟨Ax,x⟩=∑kλk∣ck∣2>0\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \sum_k\lambda_k|c_k|^2 > 0 です。

(必要性)AA が正定値なら、x=uk≠0\boldsymbol{x} = \boldsymbol{u}_k \neq \boldsymbol{0} と選んで ⟨Auk,uk⟩=λk∥uk∥2=λk>0\langle A\boldsymbol{u}_k,\boldsymbol{u}_k\rangle = \lambda_k\|\boldsymbol{u}_k\|^2 = \lambda_k > 0 を得ます。半正定値の場合も不等号を ≥\ge に替えるだけで同じ議論が通ります。

実対称行列についての最後の主張: 系 4.3 により固有ベクトル uk\boldsymbol{u}_k を実ベクトルに取れるので、上の(必要性)の議論は Rn\mathbb{R}^n の中だけで実行できます。したがって Rn\mathbb{R}^n 上の正定値性からすべての固有値が正であることが従い、(十分性)により Cn\mathbb{C}^n 上の正定値性が出ます。逆向きは Rn⊆Cn\mathbb{R}^n \subseteq \mathbb{C}^n から明らかです。

主軸定理の幾何的な意味は、等位面 q(x)=cq(\boldsymbol{x}) = c の形が固有値の符号だけで決まる、ということです。n=2n = 2、c>0c > 0 の場合を整理すると次の表になります。

固有値 λ1,λ2\lambda_1,\lambda_2 の符号q(x)=cq(\boldsymbol{x}) = c が表す曲線
ともに正(正定値)楕円(半軸は c/λi\sqrt{c/\lambda_i}、主軸は固有ベクトルの方向)
ともに負(負定値)空集合
異符号(不定符号)双曲線
一方が 00、他方が正平行な 2 直線

例 6.4(2 次曲線の主軸を求める)

5x2−4xy+5y2=215x^2 - 4xy + 5y^2 = 21 が表す曲線を決定します。

係数行列。 x2x^2 の係数 55、y2y^2 の係数 55、xyxy の係数 −4-4 の半分が −2-2 なので

A=(5−2−25),q(x,y)=(xy)A(xy)A = \begin{pmatrix} 5 & -2 \\ -2 & 5\end{pmatrix},\qquad q(x,y) = \begin{pmatrix} x & y\end{pmatrix}A\begin{pmatrix} x \\ y\end{pmatrix}

です。

固有値と固有ベクトル。 det⁡(λI−A)=(λ−5)2−4=(λ−3)(λ−7)\det(\lambda I - A) = (\lambda-5)^2 - 4 = (\lambda - 3)(\lambda - 7) なので固有値は 3,73, 7 です。λ=3\lambda = 3: A−3I=(2−2−22)A - 3I = \begin{pmatrix} 2 & -2 \\ -2 & 2\end{pmatrix} より x=yx = y、u1=12(1,1)T\boldsymbol{u}_1 = \frac{1}{\sqrt2}(1,1)^{\mathsf{T}}。λ=7\lambda = 7: A−7I=(−2−2−2−2)A - 7I = \begin{pmatrix} -2 & -2 \\ -2 & -2\end{pmatrix} より x=−yx = -y、u2=12(1,−1)T\boldsymbol{u}_2 = \frac{1}{\sqrt2}(1,-1)^{\mathsf{T}}。この 2 本は直交しています。

標準形。 P=12(111−1)P = \frac{1}{\sqrt2}\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix}(45∘45^\circ 回転と鏡映)を用いて x=Py\boldsymbol{x} = P\boldsymbol{y} とすると、定理 6.3 の 1 より曲線の方程式は

3u2+7v2=21,すなわちu27+v23=13u^2 + 7v^2 = 21,\qquad \text{すなわち}\qquad \frac{u^2}{7} + \frac{v^2}{3} = 1

となります(y=(u,v)T\boldsymbol{y} = (u,v)^{\mathsf{T}})。固有値がともに正なので AA は正定値であり、曲線は楕円です。長半径は 7≈2.65\sqrt7 \approx 2.65 で u1=12(1,1)T\boldsymbol{u}_1 = \frac{1}{\sqrt2}(1,1)^{\mathsf{T}} の方向、短半径は 3≈1.73\sqrt3 \approx 1.73 で u2=12(1,−1)T\boldsymbol{u}_2 = \frac{1}{\sqrt2}(1,-1)^{\mathsf{T}} の方向です。

検算。 長軸の端点は 7 u1=(7/2,7/2)T\sqrt7\,\boldsymbol{u}_1 = (\sqrt{7/2},\sqrt{7/2})^{\mathsf{T}} です。x=y=7/2x = y = \sqrt{7/2} を元の式に代入すると 5⋅72−4⋅72+5⋅72=6⋅72=215\cdot\frac72 - 4\cdot\frac72 + 5\cdot\frac72 = 6\cdot\frac72 = 21 となり、確かに曲線上にあります。

xy長半径 √7(λ = 3)短半径 √3(λ = 7)5x² − 4xy + 5y² = 21
楕円 5x² − 4xy + 5y² = 21 とその主軸。軸は固有ベクトルの方向を向き、半軸の長さは √(21/λ) で決まる。固有値が大きい方向ほど半軸は短い。

注意 6.5

主軸定理は直交行列による変換を使いました。もっと弱く、任意の正則行列 SS による合同変換 A↦STASA \mapsto S^{\mathsf{T}}AS を許せば、係数を +1,−1,0+1, -1, 0 に揃えられます。このとき現れる +1+1 の個数 pp、−1-1 の個数 mm、00 の個数 zz は SS の取り方によらず定まり、これをシルヴェスターの慣性法則、組 (p,m,z)(p,m,z) を符号数といいます。定理 6.3 はそれより強く固有値そのものを与えます。合同変換で固有値は変わりますが、符号は変わりません。

7. 主成分分析 — 分散を最大にする方向

Section titled “7. 主成分分析 — 分散を最大にする方向”

データサイエンスでスペクトル定理が最もよく使われるのは主成分分析(principal component analysis, PCA)です。設定は次のとおりです。nn 個の特徴量を持つ標本 x1,…,xN∈Rn\boldsymbol{x}_1,\ldots,\boldsymbol{x}_N \in \mathbb{R}^n が与えられ、平均は 0\boldsymbol{0} に中心化されているとします(そうでなければ全体から平均を引きます)。標本共分散行列を

S=1N∑i=1NxixiT=1NXTXS = \frac{1}{N}\sum_{i=1}^{N}\boldsymbol{x}_i\boldsymbol{x}_i^{\mathsf{T}} = \frac{1}{N}X^{\mathsf{T}}X

と定めます(XX は xiT\boldsymbol{x}_i^{\mathsf{T}} を第 ii 行とする N×nN \times n 行列)。ST=SS^{\mathsf{T}} = S なので SS は実対称行列であり、任意の u\boldsymbol{u} に対して

uTSu=1N∑i=1NuTxixiTu=1N∑i=1N(uTxi)2≥0\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u} = \frac{1}{N}\sum_{i=1}^{N}\boldsymbol{u}^{\mathsf{T}}\boldsymbol{x}_i\boldsymbol{x}_i^{\mathsf{T}}\boldsymbol{u} = \frac{1}{N}\sum_{i=1}^{N}\left(\boldsymbol{u}^{\mathsf{T}}\boldsymbol{x}_i\right)^2 \ge 0

なので半正定値です(定理 6.3 の 2 より、固有値はすべて非負です)。∥u∥=1\|\boldsymbol{u}\| = 1 のとき uTxi\boldsymbol{u}^{\mathsf{T}}\boldsymbol{x}_i は xi\boldsymbol{x}_i を u\boldsymbol{u} 方向へ射影した座標なので、uTSu\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u} は「その方向へ射影したときのデータの分散」です。PCA が問うのは「分散を最大にする方向はどれか」であり、これは次の定理が完全に答えます。

定理 7.1(レイリー商の最大・最小)✓

AA を nn 次エルミート行列とし、その固有値を大きい順に λ1≥λ2≥⋯≥λn\lambda_1 \ge \lambda_2 \ge \cdots \ge \lambda_n(重複を込める)、対応する正規直交固有ベクトルを u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n とする(定理 4.2 によって存在する)。x≠0\boldsymbol{x}\neq\boldsymbol{0} に対しレイリー商を R(x)=⟨Ax,x⟩∥x∥2R(\boldsymbol{x}) = \dfrac{\langle A\boldsymbol{x},\boldsymbol{x}\rangle}{\|\boldsymbol{x}\|^2} で定めると、次が成り立つ。

  1. すべての x≠0\boldsymbol{x}\neq\boldsymbol{0} に対し λn≤R(x)≤λ1\lambda_n \le R(\boldsymbol{x}) \le \lambda_1 であり、R(u1)=λ1R(\boldsymbol{u}_1) = \lambda_1、R(un)=λnR(\boldsymbol{u}_n) = \lambda_n。特に max⁡∥x∥=1⟨Ax,x⟩=λ1\max_{\|\boldsymbol{x}\|=1}\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \lambda_1、min⁡∥x∥=1⟨Ax,x⟩=λn\min_{\|\boldsymbol{x}\|=1}\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \lambda_n。
  2. 2≤k≤n2 \le k \le n とする。u1,…,uk−1\boldsymbol{u}_1,\ldots,\boldsymbol{u}_{k-1} のすべてと直交する x≠0\boldsymbol{x}\neq\boldsymbol{0} に制限すると R(x)≤λkR(\boldsymbol{x}) \le \lambda_k であり、x=uk\boldsymbol{x} = \boldsymbol{u}_k で等号が成り立つ。
証明(定理 7.1)

u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n は正規直交基底なので、任意の x\boldsymbol{x} は x=∑kckuk\boldsymbol{x} = \sum_{k}c_k\boldsymbol{u}_k(ck=⟨x,uk⟩c_k = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle)と一意に書けます。定理 6.3 の証明中で確かめたとおり

⟨Ax,x⟩=∑k=1nλk∣ck∣2,∥x∥2=∑k=1n∣ck∣2\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \sum_{k=1}^{n}\lambda_k|c_k|^2,\qquad \|\boldsymbol{x}\|^2 = \sum_{k=1}^{n}|c_k|^2

です。x≠0\boldsymbol{x}\neq\boldsymbol{0} なら ∥x∥2>0\|\boldsymbol{x}\|^2 > 0 なので、wk=∣ck∣2/∥x∥2w_k = |c_k|^2/\|\boldsymbol{x}\|^2 とおけば wk≥0w_k \ge 0、∑kwk=1\sum_k w_k = 1 であり、

R(x)=∑k=1nλkwkR(\boldsymbol{x}) = \sum_{k=1}^{n}\lambda_k w_k

すなわちレイリー商は固有値たちの重み付き平均です。

  1. 重み付き平均は最大値と最小値の間にあります。実際 ∑kλkwk≤∑kλ1wk=λ1\sum_k \lambda_kw_k \le \sum_k \lambda_1 w_k = \lambda_1(各項で λk≤λ1\lambda_k \le \lambda_1、wk≥0w_k\ge0 を使いました)、同様に ∑kλkwk≥λn\sum_k\lambda_kw_k \ge \lambda_n です。x=u1\boldsymbol{x} = \boldsymbol{u}_1 のときは c1=1c_1 = 1、他は 00 なので R(u1)=λ1R(\boldsymbol{u}_1) = \lambda_1、同様に R(un)=λnR(\boldsymbol{u}_n) = \lambda_n です。∥x∥=1\|\boldsymbol{x}\| = 1 のときは R(x)=⟨Ax,x⟩R(\boldsymbol{x}) = \langle A\boldsymbol{x},\boldsymbol{x}\rangle なので最大・最小の主張が従います。

  2. x\boldsymbol{x} が u1,…,uk−1\boldsymbol{u}_1,\ldots,\boldsymbol{u}_{k-1} と直交するとは c1=⋯=ck−1=0c_1 = \cdots = c_{k-1} = 0 ということです。このとき w1=⋯=wk−1=0w_1 = \cdots = w_{k-1} = 0 なので R(x)=∑j≥kλjwj≤λk∑j≥kwj=λkR(\boldsymbol{x}) = \sum_{j \ge k}\lambda_jw_j \le \lambda_k\sum_{j\ge k}w_j = \lambda_k です(j≥kj \ge k で λj≤λk\lambda_j\le\lambda_k を使いました)。x=uk\boldsymbol{x} = \boldsymbol{u}_k は確かに u1,…,uk−1\boldsymbol{u}_1,\ldots,\boldsymbol{u}_{k-1} と直交し、R(uk)=λkR(\boldsymbol{u}_k) = \lambda_k です。

この定理を A=SA = S に適用すると、PCA の全体像がそのまま出てきます。分散 uTSu\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u} を ∥u∥=1\|\boldsymbol{u}\| = 1 の下で最大にする方向は最大固有値 λ1\lambda_1 の固有ベクトル u1\boldsymbol{u}_1(第 1 主成分)であり、その分散は λ1\lambda_1 です。次に、u1\boldsymbol{u}_1 と直交する方向の中で分散を最大にするのは u2\boldsymbol{u}_2 で、その分散は λ2\lambda_2 です — これが 定理 7.1 の 2 の内容です。以下同様に、第 kk 主成分は λk\lambda_k の固有ベクトルになります。主成分どうしが直交すること(つまり主成分得点が無相関になること)は、補題 3.3 の 3 が保証しています。

また固有値の総和はトレース(対角成分の和)に等しい(固有値の総和と総積(系 4.5)[固有値と固有ベクトル])ので

∑k=1nλk=tr⁡S=∑j=1n(第 j 特徴量の分散)\sum_{k=1}^{n}\lambda_k = \operatorname{tr}S = \sum_{j=1}^{n}(\text{第 } j \text{ 特徴量の分散})

となり、λk/tr⁡S\lambda_k / \operatorname{tr}S を第 kk 主成分の寄与率と呼びます。「上位 2 本で分散の 95 パーセントを説明する」といった言い方は、この比の話です。

例 7.2(4 点データの主成分分析)

2 次元データ x1=(3,1)T\boldsymbol{x}_1 = (3,1)^{\mathsf{T}}、x2=(1,3)T\boldsymbol{x}_2 = (1,3)^{\mathsf{T}}、x3=(−1,−3)T\boldsymbol{x}_3 = (-1,-3)^{\mathsf{T}}、x4=(−3,−1)T\boldsymbol{x}_4 = (-3,-1)^{\mathsf{T}} を考えます。平均は 14(3+1−1−3, 1+3−3−1)T=(0,0)T\frac14(3+1-1-3,\ 1+3-3-1)^{\mathsf{T}} = (0,0)^{\mathsf{T}} なので、すでに中心化されています。

共分散行列。 ∑ixi12=9+1+1+9=20\sum_i x_{i1}^2 = 9+1+1+9 = 20、∑ixi22=1+9+9+1=20\sum_i x_{i2}^2 = 1+9+9+1 = 20、∑ixi1xi2=3+3+3+3=12\sum_i x_{i1}x_{i2} = 3+3+3+3 = 12 なので

S=14(20121220)=(5335)S = \frac14\begin{pmatrix} 20 & 12 \\ 12 & 20 \end{pmatrix} = \begin{pmatrix} 5 & 3 \\ 3 & 5\end{pmatrix}

です。

固有値・固有ベクトル。 det⁡(λI−S)=(λ−5)2−9=(λ−2)(λ−8)\det(\lambda I - S) = (\lambda-5)^2 - 9 = (\lambda-2)(\lambda-8) より固有値は λ1=8\lambda_1 = 8、λ2=2\lambda_2 = 2。λ=8\lambda = 8 では S−8I=(−333−3)S - 8I = \begin{pmatrix} -3 & 3 \\ 3 & -3\end{pmatrix} から x=yx = y、u1=12(1,1)T\boldsymbol{u}_1 = \frac{1}{\sqrt2}(1,1)^{\mathsf{T}}。λ=2\lambda = 2 では x=−yx = -y、u2=12(1,−1)T\boldsymbol{u}_2 = \frac{1}{\sqrt2}(1,-1)^{\mathsf{T}}。

主成分得点。 第 1 主成分の得点 zi=u1Txiz_i = \boldsymbol{u}_1^{\mathsf{T}}\boldsymbol{x}_i は

z1=3+12=22,z2=1+32=22,z3=−22,z4=−22z_1 = \frac{3+1}{\sqrt2} = 2\sqrt2,\quad z_2 = \frac{1+3}{\sqrt2} = 2\sqrt2,\quad z_3 = -2\sqrt2,\quad z_4 = -2\sqrt2

で、その分散は 14(4⋅8)=8=λ1\frac14\left(4\cdot 8\right) = 8 = \lambda_1 です。第 2 主成分の得点は 2,−2,2,−2\sqrt2, -\sqrt2, \sqrt2, -\sqrt2 で、分散は 14(4⋅2)=2=λ2\frac14(4\cdot2) = 2 = \lambda_2 です。定理 7.1 の主張どおり、分散が固有値に一致しています。

寄与率。 tr⁡S=10=8+2\operatorname{tr}S = 10 = 8 + 2 なので、第 1 主成分の寄与率は 8/10=0.88/10 = 0.8 です。データを u1\boldsymbol{u}_1 方向の 1 次元に落としても、ばらつきの 8 割は保たれます。

別方向との比較。 u=(1,0)T\boldsymbol{u} = (1,0)^{\mathsf{T}}(第 1 特徴量そのもの)方向の分散は uTSu=5\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u} = 5 で、λ1=8\lambda_1 = 8 より小さく、定理 7.1 の 1 の不等式 2≤R(x)≤82 \le R(\boldsymbol{x}) \le 8 を満たしています。

注意 7.3

共分散を 1N\frac{1}{N} ではなく不偏推定量の 1N−1\frac{1}{N-1} で定義する流儀もあります。SS が定数倍されるだけなので、固有ベクトル(主成分の方向)は変わらず、固有値がすべて N/(N−1)N/(N-1) 倍されます。寄与率 λk/∑jλj\lambda_k/\sum_j\lambda_j も変わりません。

実務では SS を明示的に作らず、中心化したデータ行列 XX の特異値分解 X=WΣVTX = W\Sigma V^{\mathsf{T}} を計算します。XTX=VΣTΣVTX^{\mathsf{T}}X = V\Sigma^{\mathsf{T}}\Sigma V^{\mathsf{T}} となるので、VV の列がそのまま主成分方向、σk2/N\sigma_k^2/N が固有値 λk\lambda_k です。XTXX^{\mathsf{T}}X を作ると条件数が 2 乗されるため、この経路のほうが数値的に安定します。特異値分解の存在自体、半正定値エルミート行列 XTXX^{\mathsf{T}}X へのスペクトル定理の適用から導かれます。

8. どこまで一般化できるか — 正規行列

Section titled “8. どこまで一般化できるか — 正規行列”

ここまでエルミート行列を扱ってきましたが、「ユニタリ行列で対角化できる」ことだけを問題にするなら、条件はもう少し緩められます。答えは 定義 3.1 で定義した正規行列です。

定理 8.1(スペクトル定理(正規行列))✓

AA を nn 次複素正方行列とする。次は同値である。

  1. あるユニタリ行列 UU と対角行列 DD(対角成分は一般には複素数)が存在して A=UDU∗A = UDU^{*} となる。
  2. Cn\mathbb{C}^n は AA の固有ベクトルからなる正規直交基底を持つ。
  3. AA は正規行列である、すなわち A∗A=AA∗A^{*}A = AA^{*}。

さらにこのとき、AA がエルミート行列であることと DD の対角成分がすべて実数であることは同値であり、AA がユニタリ行列であることと DD の対角成分の絶対値がすべて 11 であることは同値である。

証明のうち (3) から (1) は二段構えです。まず、どんな複素正方行列でも、ユニタリ行列で「上三角」(対角線より下がすべて 0)の形にできることを示します(シューア分解)。作り方はスペクトル定理の証明と同じ、固有ベクトルを 1 本取って次元を下げる帰納法です。次に、正規な行列が上三角になったなら、実は対角行列でなければならないことを、上の行から順に確かめます。

証明(定理 8.1)

(1) ⇔\Leftrightarrow (2) は 命題 3.2 の (4) から直ちに従います。AU=UDAU = UD は「UU の第 kk 列が固有値 dkd_k の固有ベクトル」と言い換えられ、UU がユニタリであることと列が正規直交基底であることが同値だからです。

(1) ⇒\Rightarrow (3): A=UDU∗A = UDU^{*} とすると A∗=UD∗U∗A^{*} = UD^{*}U^{*} で、U∗U=IU^{*}U = I を使って

A∗A=UD∗U∗UDU∗=UD∗DU∗,AA∗=UDD∗U∗A^{*}A = UD^{*}U^{*}UDU^{*} = UD^{*}DU^{*},\qquad AA^{*} = UDD^{*}U^{*}

です。対角行列どうしは可換で D∗D=DD∗=diag⁡(∣d1∣2,…,∣dn∣2)D^{*}D = DD^{*} = \operatorname{diag}(|d_1|^2,\ldots,|d_n|^2) なので、両者は一致します。

(3) ⇒\Rightarrow (1): まずシューア分解を用意します。任意の複素正方行列 AA に対し、ユニタリ行列 UU と上三角行列 TT で U∗AU=TU^{*}AU = T となるものが存在します。これは 定理 4.2 の証明と同じ帰納法で示せます。n=1n = 1 は自明です。n≥2n \ge 2 のとき、代数学の基本定理により固有値 λ\lambda と単位固有ベクトル u1\boldsymbol{u}_1 を取り、グラム・シュミットの直交化で u1\boldsymbol{u}_1 を含む正規直交基底 u1,…,un\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n を作り、これらを列とするユニタリ行列を U1U_1 とします。U1∗AU1U_1^{*}AU_1 の第 1 列は U1∗Au1=λU1∗u1=λe1U_1^{*}A\boldsymbol{u}_1 = \lambda U_1^{*}\boldsymbol{u}_1 = \lambda\boldsymbol{e}_1 なので

U1∗AU1=(λb∗0A1)U_1^{*}AU_1 = \begin{pmatrix} \lambda & \boldsymbol{b}^{*} \\ \boldsymbol{0} & A_1 \end{pmatrix}

の形です。n−1n-1 次行列 A1A_1 に帰納法の仮定を適用して V∗A1V=T1V^{*}A_1V = T_1(上三角、VV はユニタリ)とし、U=U1(10T0V)U = U_1\begin{pmatrix} 1 & \boldsymbol{0}^{\mathsf{T}} \\ \boldsymbol{0} & V\end{pmatrix} とおけば、ユニタリ行列の積はユニタリなので UU はユニタリで、U∗AU=(λb∗V0T1)U^{*}AU = \begin{pmatrix} \lambda & \boldsymbol{b}^{*}V \\ \boldsymbol{0} & T_1\end{pmatrix} は上三角行列です。

さて AA が正規で T=U∗AUT = U^{*}AU とすると、T∗T=U∗A∗UU∗AU=U∗A∗AU=U∗AA∗U=TT∗T^{*}T = U^{*}A^{*}UU^{*}AU = U^{*}A^{*}AU = U^{*}AA^{*}U = TT^{*} なので TT も正規です。TT が上三角かつ正規なら対角行列であることを、行の番号 kk についての帰納法で示します。第 1,…,k−11,\ldots,k-1 行の対角成分より右がすべて 00 であると仮定します(k=1k = 1 では仮定は空です)。TT は上三角なので tik=0 (i>k)t_{ik} = 0\ (i > k)、帰納法の仮定から tik=0 (i<k)t_{ik} = 0\ (i < k) です。したがって

(T∗T)kk=∑i=1n∣tik∣2=∣tkk∣2,(TT∗)kk=∑j=1n∣tkj∣2=∑j≥k∣tkj∣2(T^{*}T)_{kk} = \sum_{i=1}^{n}|t_{ik}|^2 = |t_{kk}|^2,\qquad (TT^{*})_{kk} = \sum_{j=1}^{n}|t_{kj}|^2 = \sum_{j \ge k}|t_{kj}|^2

です。TT の正規性からこの二つは等しく、∑j>k∣tkj∣2=0\sum_{j > k}|t_{kj}|^2 = 0、すなわち tkj=0 (j>k)t_{kj} = 0\ (j > k) を得ます。これで帰納法が進み、TT は対角行列です。A=UTU∗A = UTU^{*} が (1) を与えます。

最後の主張: A=UDU∗A = UDU^{*} のとき A∗=UD∗U∗A^{*} = UD^{*}U^{*} なので、A∗=AA^{*} = A は D∗=DD^{*} = D と同値(UU が正則だから)であり、対角行列については D∗=DD^{*} = D は各成分が実数であることと同値です。同様に A∗A=IA^{*}A = I は D∗D=ID^{*}D = I と同値で、これは ∣dk∣2=1|d_k|^2 = 1 すなわち ∣dk∣=1|d_k| = 1 と同値です。

正規でない行列はユニタリ行列で対角化できません。例 1.1 の B=(1102)B = \begin{pmatrix} 1 & 1 \\ 0 & 2\end{pmatrix} で確かめると、B∗B=(1115)B^{*}B = \begin{pmatrix} 1 & 1 \\ 1 & 5\end{pmatrix}、BB∗=(2224)BB^{*} = \begin{pmatrix} 2 & 2 \\ 2 & 4\end{pmatrix} で一致しないので BB は正規ではなく、実際に固有ベクトルは直交していませんでした。対角化可能性と直交対角化可能性の差は、まさに正規性の有無です。

演習 9.1易

UU を nn 次ユニタリ行列とする。

  1. UU の固有値 λ\lambda は ∣λ∣=1|\lambda| = 1 を満たすことを示せ。
  2. 相異なる固有値に属する UU の固有ベクトルは直交することを示せ。
解答
  1. Ux=λxU\boldsymbol{x} = \lambda\boldsymbol{x}、x≠0\boldsymbol{x}\neq\boldsymbol{0} とします。命題 3.2 の 3 より ∥x∥=∥Ux∥=∥λx∥=∣λ∣ ∥x∥\|\boldsymbol{x}\| = \|U\boldsymbol{x}\| = \|\lambda\boldsymbol{x}\| = |\lambda|\,\|\boldsymbol{x}\| です。x≠0\boldsymbol{x}\neq\boldsymbol{0} より ∥x∥>0\|\boldsymbol{x}\| > 0 なので、両辺を ∥x∥\|\boldsymbol{x}\| で割って ∣λ∣=1|\lambda| = 1 を得ます。

  2. Ux=λxU\boldsymbol{x} = \lambda\boldsymbol{x}、Uy=μyU\boldsymbol{y} = \mu\boldsymbol{y}、λ≠μ\lambda\neq\mu とします。命題 3.2 の 2 より

⟨x,y⟩=⟨Ux,Uy⟩=⟨λx,μy⟩=λμˉ⟨x,y⟩\langle \boldsymbol{x},\boldsymbol{y}\rangle = \langle U\boldsymbol{x}, U\boldsymbol{y}\rangle = \langle \lambda\boldsymbol{x},\mu\boldsymbol{y}\rangle = \lambda\bar{\mu}\langle \boldsymbol{x},\boldsymbol{y}\rangle

です。1 より ∣μ∣=1|\mu| = 1、すなわち μμˉ=1\mu\bar{\mu} = 1 なので μˉ=1/μ\bar{\mu} = 1/\mu であり、上式は (1−λ/μ)⟨x,y⟩=0\left(1 - \lambda/\mu\right)\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0 となります。λ≠μ\lambda\neq\mu より λ/μ≠1\lambda/\mu \neq 1 なので ⟨x,y⟩=0\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0 です。

演習 9.2標準

2 次形式 q(x,y)=2x2+4xy+5y2q(x,y) = 2x^2 + 4xy + 5y^2 について、次に答えよ。

  1. qq の係数行列 AA を書き、直交行列 PP で PTAPP^{\mathsf{T}}AP が対角になるものを求めよ。
  2. qq の標準形を書け。
  3. qq は正定値か。曲線 q(x,y)=6q(x,y) = 6 はどのような図形か。半軸の長さと方向を述べよ。
解答
  1. x2x^2 の係数が 22、y2y^2 の係数が 55、xyxy の係数 44 の半分が 22 なので A=(2225)A = \begin{pmatrix} 2 & 2 \\ 2 & 5\end{pmatrix} です。特性多項式は
det⁡(λI−A)=(λ−2)(λ−5)−4=λ2−7λ+6=(λ−1)(λ−6)\det(\lambda I - A) = (\lambda-2)(\lambda-5) - 4 = \lambda^2 - 7\lambda + 6 = (\lambda-1)(\lambda-6)

なので固有値は 11 と 66 です。λ=6\lambda = 6 のとき A−6I=(−422−1)A - 6I = \begin{pmatrix} -4 & 2 \\ 2 & -1\end{pmatrix} から 2x−y=02x - y = 0、固有ベクトル (1,2)T(1,2)^{\mathsf{T}}。λ=1\lambda = 1 のとき A−I=(1224)A - I = \begin{pmatrix} 1 & 2 \\ 2 & 4\end{pmatrix} から x+2y=0x + 2y = 0、固有ベクトル (2,−1)T(2,-1)^{\mathsf{T}}。内積は 1⋅2+2⋅(−1)=01\cdot 2 + 2\cdot(-1) = 0 で直交しており(補題 3.3 の 3)、ノルムはともに 5\sqrt5 です。よって

P=15(122−1),PTAP=(6001).P = \frac{1}{\sqrt5}\begin{pmatrix} 1 & 2 \\ 2 & -1\end{pmatrix},\qquad P^{\mathsf{T}}AP = \begin{pmatrix} 6 & 0 \\ 0 & 1\end{pmatrix}.

検算: A(1,2)T=(2+4, 2+10)T=(6,12)T=6(1,2)TA(1,2)^{\mathsf{T}} = (2+4,\ 2+10)^{\mathsf{T}} = (6,12)^{\mathsf{T}} = 6(1,2)^{\mathsf{T}}、A(2,−1)T=(4−2, 4−5)T=(2,−1)TA(2,-1)^{\mathsf{T}} = (4-2,\ 4-5)^{\mathsf{T}} = (2,-1)^{\mathsf{T}} です。

  1. 定理 6.3 の 1 より、x=Py\boldsymbol{x} = P\boldsymbol{y}(y=(u,v)T\boldsymbol{y} = (u,v)^{\mathsf{T}})とすれば q=6u2+v2q = 6u^2 + v^2 です。

  2. 固有値 6,16, 1 はともに正なので、定理 6.3 の 2 より qq は正定値です。q=6q = 6 は 6u2+v2=66u^2 + v^2 = 6、すなわち u2+v26=1u^2 + \frac{v^2}{6} = 1 で楕円です。uu 軸方向(15(1,2)T\frac{1}{\sqrt5}(1,2)^{\mathsf{T}} の方向)の半軸は 11、vv 軸方向(15(2,−1)T\frac{1}{\sqrt5}(2,-1)^{\mathsf{T}} の方向)の半軸は 6\sqrt6 です。固有値が大きい方向のほうが半軸が短いことを確認してください。

演習 9.3難

AA を正定値エルミート行列とする。B2=AB^2 = A を満たす正定値エルミート行列 BB がただ一つ存在することを示せ。

解答

存在。 定理 4.2 により A=UΛU∗A = U\Lambda U^{*}(UU ユニタリ、Λ=diag⁡(λ1,…,λn)\Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n))と書け、定理 6.3 の 2 より λk>0\lambda_k > 0 です。B=UΛ1/2U∗B = U\Lambda^{1/2}U^{*}、Λ1/2=diag⁡(λ1,…,λn)\Lambda^{1/2} = \operatorname{diag}(\sqrt{\lambda_1},\ldots,\sqrt{\lambda_n}) とおきます。B∗=U(Λ1/2)∗U∗=BB^{*} = U(\Lambda^{1/2})^{*}U^{*} = B(対角成分が実数なので (Λ1/2)∗=Λ1/2(\Lambda^{1/2})^{*} = \Lambda^{1/2})でエルミート、固有値 λk\sqrt{\lambda_k} はすべて正なので 定理 6.3 の 2 より正定値、そして B2=UΛ1/2U∗UΛ1/2U∗=UΛU∗=AB^2 = U\Lambda^{1/2}U^{*}U\Lambda^{1/2}U^{*} = U\Lambda U^{*} = A です。

一意性。 CC を C2=AC^2 = A を満たす正定値エルミート行列とします。CC のスペクトル分解を C=∑k=1rνkQkC = \sum_{k=1}^{r}\nu_kQ_k(ν1,…,νr\nu_1,\ldots,\nu_r は相異なる固有値、QkQ_k は固有空間への直交射影)とすると、QkQl=O (k≠l)Q_kQ_l = O\ (k\neq l)、Qk2=QkQ_k^2 = Q_k より

A=C2=∑k,lνkνlQkQl=∑k=1rνk2QkA = C^2 = \sum_{k,l}\nu_k\nu_lQ_kQ_l = \sum_{k=1}^{r}\nu_k^2Q_k

です。CC は正定値なので νk>0\nu_k > 0 であり、t↦t2t \mapsto t^2 は正の実数上で単射ですから ν12,…,νr2\nu_1^2,\ldots,\nu_r^2 は相異なります。したがって右辺は 注意 5.1 の条件をすべて満たす AA のスペクトル分解であり、その一意性から、{νk2}\{\nu_k^2\} は AA の相異なる固有値全体と一致し、QkQ_k は ker⁡(A−νk2I)\ker(A - \nu_k^2 I) への直交射影です。

一方、上で構成した BB も同じ固有空間の族を持ち、ker⁡(A−νk2I)\ker(A-\nu_k^2I) 上では νk2=νk\sqrt{\nu_k^2} = \nu_k 倍として働きます(νk>0\nu_k > 0 を使いました)。よって BB と CC は同一の直交射影の族に同一の係数を掛けたものであり、B=CB = C です。

注意。 正定値性を外すと一意性は崩れます。A=IA = I に対して diag⁡(1,−1)\operatorname{diag}(1,-1) も diag⁡(−1,−1)\operatorname{diag}(-1,-1) もエルミートで平方は II です。「正の平方根」と限定したことが効いています。

演習 9.4難

A,BA, B を nn 次エルミート行列とし、AB=BAAB = BA を満たすとする。このとき、Cn\mathbb{C}^n の正規直交基底で、AA の固有ベクトルであり同時に BB の固有ベクトルでもあるものからなるものが存在することを示せ(同時対角化)。

解答

AA の相異なる固有値を μ1,…,μr\mu_1,\ldots,\mu_r、固有空間を Ek=ker⁡(A−μkI)E_k = \ker(A - \mu_kI) とします。定理 4.2 より Cn=E1⊕⋯⊕Er\mathbb{C}^n = E_1 \oplus\cdots\oplus E_r であり、補題 3.3 の 3 より EkE_k たちは互いに直交します。

EkE_k は BB 不変である。 x∈Ek\boldsymbol{x} \in E_k とすると、AB=BAAB = BA より

A(Bx)=(AB)x=(BA)x=B(Ax)=B(μkx)=μk(Bx)A(B\boldsymbol{x}) = (AB)\boldsymbol{x} = (BA)\boldsymbol{x} = B(A\boldsymbol{x}) = B(\mu_k\boldsymbol{x}) = \mu_k(B\boldsymbol{x})

なので Bx∈ker⁡(A−μkI)=EkB\boldsymbol{x} \in \ker(A - \mu_kI) = E_k です。ここで可換性を使いました。

BB の EkE_k への制限はエルミートである。 EkE_k の正規直交基底 v1,…,vm\boldsymbol{v}_1,\ldots,\boldsymbol{v}_m を取り、bij=⟨Bvj,vi⟩b_{ij} = \langle B\boldsymbol{v}_j,\boldsymbol{v}_i\rangle で mm 次行列 BkB_k を定めると、補題 4.1 の後半とまったく同じ計算

bji‾=⟨Bvi,vj⟩‾=⟨vj,Bvi⟩=⟨Bvj,vi⟩=bij\overline{b_{ji}} = \overline{\langle B\boldsymbol{v}_i,\boldsymbol{v}_j\rangle} = \langle \boldsymbol{v}_j, B\boldsymbol{v}_i\rangle = \langle B\boldsymbol{v}_j,\boldsymbol{v}_i\rangle = b_{ij}

により Bk∗=BkB_k^{*} = B_k です(BB のエルミート性と内積の共役対称性を使いました)。

結論。 定理 4.2 を BkB_k に適用すると、EkE_k の正規直交基底で BB の固有ベクトルからなるものが取れます。EkE_k の元はすべて固有値 μk\mu_k の AA の固有ベクトルなので、この基底は AA の固有ベクトルでもあります。k=1,…,rk = 1,\ldots,r について集めたものは、EkE_k どうしが直交し全体で Cn\mathbb{C}^n を張るので、求める正規直交基底です。

逆も成り立ちます。 共通の固有ベクトルからなる基底があれば、その基底で AA も BB も対角行列で表され、対角行列は可換なので AB=BAAB = BA です。つまり「同時対角化できる」ことと「可換である」ことは、エルミート行列については同値です。量子力学で「同時に観測可能な物理量は可換な自己共役作用素で表される」というのは、この事実の無限次元版です。

  • 齋藤正彦『線型代数入門』東京大学出版会、1966 — 固有値・固有ベクトル、および内積を持つ空間における対称行列・エルミート行列の対角化を扱う章。
  • 佐武一郎『線型代数学』裳華房、1974(新装版 2015)— 計量ベクトル空間、エルミート形式と 2 次形式の標準形を扱う章。慣性法則の扱いが詳しい。
  • Sheldon Axler, Linear Algebra Done Right, 4th ed., Springer, 2024 — 内積空間上の作用素とスペクトル定理を扱う第 7 章。全文が linear.axler.net で公開されている。行列式を経由しない証明が読める。
  • Roger A. Horn and Charles R. Johnson, Matrix Analysis, 2nd ed., Cambridge University Press, 2013 — シューア分解とユニタリ相似、およびエルミート行列の変分的特徴づけ(レイリー商、クーラン・フィッシャーの定理)を扱う章。
  • Gene H. Golub and Charles F. Van Loan, Matrix Computations, 4th ed., Johns Hopkins University Press, 2013 — 対称固有値問題の数値解法(ヤコビ法、対称 QR 法)と、特異値分解の計算を扱う章。
  • I. T. Jolliffe, Principal Component Analysis, 2nd ed., Springer, 2002 — 主成分分析の定式化、共分散行列と相関行列の固有値分解、寄与率の解釈。

このテーマの 100 本ノック(100 問)

執筆: Claude Code(Sonnet 5.5)・監査 3 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。