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

> 随伴行列の定義からエルミート行列とユニタリ行列の性質を導き、エルミート行列がユニタリ行列で実対角化できること（スペクトル定理）を帰納法で証明する。スペクトル分解、2 次形式の主軸、主成分分析への応用まで計算例つきで扱う。
> https://rikai.mugen-giken.com/mathematics/linear-algebra/spectral-theorem

## 0. この記事の要点

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

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

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

<Example id="ex-obstruction" title="対角化を阻む三つの行列">
次の 3 つの実行列を比べます。

$$
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}
$$

$N$ の特性多項式は $(\lambda - 1)^2$ で固有値は $1$ のみですが、$N - I = \begin{pmatrix} 0 & 1 \\ 0 & 0\end{pmatrix}$ の核は $\operatorname{span}\{(1,0)^{\mathsf{T}}\}$ で 1 次元しかありません。固有ベクトルが 2 本取れないので、$N$ は対角化できません（<Ref to="mathematics/linear-algebra/diagonalization-and-jordan-form#thm-diagonalizable-basis" text="対角化と固有基底" />）。

$R$ の特性多項式は $\lambda^2 + 1$ で、実数の固有値を持ちません。実数の範囲では対角化できません（複素数まで広げれば固有値 $\pm i$ で対角化できます。<Ref to="mathematics/linear-algebra/eigenvalues#ex-rotation" text="回転行列の固有値" /> を参照）。

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

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

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

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

<div data-gated data-pagefind-ignore>

## 2. 準備 — 内積と随伴

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

$$
\langle \boldsymbol{x}, \boldsymbol{y}\rangle = \sum_{i=1}^{n} x_i \overline{y_i}
$$

すなわち第 1 変数について線形、第 2 変数について共役線形とします。このとき $\langle \boldsymbol{y}, \boldsymbol{x}\rangle = \overline{\langle \boldsymbol{x}, \boldsymbol{y}\rangle}$ であり、$\|\boldsymbol{x}\|^2 = \langle \boldsymbol{x}, \boldsymbol{x}\rangle = \sum_i |x_i|^2 \ge 0$ で、等号は $\boldsymbol{x} = \boldsymbol{0}$ のときに限ります。実行列・実ベクトルだけを扱うときは共役が消え、$\langle \boldsymbol{x}, \boldsymbol{y}\rangle = \boldsymbol{y}^{\mathsf{T}}\boldsymbol{x}$ という通常の内積になります。内積空間の一般論とグラム・シュミットの直交化は [内積空間とグラム・シュミット直交化](/mathematics/linear-algebra/inner-product-spaces)（とくに <Ref to="mathematics/linear-algebra/inner-product-spaces#thm-gram-schmidt" text="グラム・シュミットの直交化" />）を前提とします。

<Definition id="def-adjoint" title="随伴行列">
$A = (a_{ij})$ を $m \times n$ の複素行列とする。$A$ の**随伴行列**（転置共役、共役転置）$A^{*}$ を、$(i,j)$ 成分が $\overline{a_{ji}}$ である $n \times m$ 行列と定める。すなわち
$$
A^{*} = \overline{A}^{\mathsf{T}} = \overline{A^{\mathsf{T}}}.
$$
$A$ が実行列のときは $A^{*} = A^{\mathsf{T}}$ である。列ベクトル $\boldsymbol{y} \in \mathbb{C}^n$ は $n \times 1$ 行列とみなし、$\boldsymbol{y}^{*}$ は $1 \times n$ 行列（行ベクトル）とする。この記法のもとで
$$
\langle \boldsymbol{x}, \boldsymbol{y}\rangle = \boldsymbol{y}^{*}\boldsymbol{x}
$$
が成り立つ（右辺の $1 \times 1$ 行列をスカラーと同一視する）。
</Definition>

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

<Proposition id="prop-adjoint" title="随伴の基本性質">
$A, B$ を $n$ 次複素正方行列、$c \in \mathbb{C}$ とする。
1. すべての $\boldsymbol{x}, \boldsymbol{y} \in \mathbb{C}^n$ に対して $\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle$ が成り立つ。さらに、この等式をすべての $\boldsymbol{x}, \boldsymbol{y}$ について満たす行列は $A^{*}$ のみである。
2. $(A^{*})^{*} = A$、$(A+B)^{*} = A^{*} + B^{*}$、$(cA)^{*} = \bar{c}\,A^{*}$、$(AB)^{*} = B^{*}A^{*}$。
3. $\ker A^{*} = (\operatorname{im} A)^{\perp}$。ここで $\operatorname{im} A = \{A\boldsymbol{x} : \boldsymbol{x} \in \mathbb{C}^n\}$ は $A$ の像である。
</Proposition>

<Proof of="prop-adjoint">
まず $(A^{*})^{*} = A$ を成分で確かめます。$A^{*}$ の $(i,j)$ 成分は $\overline{a_{ji}}$ ですから、$(A^{*})^{*}$ の $(i,j)$ 成分はその添字を入れ替えて共役をとった $\overline{\overline{a_{ij}}} = a_{ij}$ です。よって $(A^{*})^{*} = A$ です。

(1) の等式は、両辺を成分で書き下せば確かめられます。<Ref to="def-adjoint" /> の記法で左辺は
$$
\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^{*}$ の $(j,i)$ 成分が $\overline{a_{ij}}$ であること、すなわち $(A^{*}\boldsymbol{y})_j = \sum_{i}\overline{a_{ij}}\,y_i$ を使って
$$
\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) の等式が成り立ちます。

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

(2) 加法とスカラー倍は成分ごとの計算で直ちに従います（$\overline{a_{ji}+b_{ji}} = \overline{a_{ji}}+\overline{b_{ji}}$、$\overline{c\,a_{ji}} = \bar{c}\,\overline{a_{ji}}$）。積については (1) を 2 回使い、
$$
\langle AB\boldsymbol{x}, \boldsymbol{y}\rangle = \langle B\boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \langle \boldsymbol{x}, B^{*}A^{*}\boldsymbol{y}\rangle
$$
となります。左辺は $\langle \boldsymbol{x}, (AB)^{*}\boldsymbol{y}\rangle$ とも書けるので、(1) の一意性から $(AB)^{*} = B^{*}A^{*}$ です。

(3) $\boldsymbol{y} \in \ker A^{*}$ とすると、任意の $\boldsymbol{x}$ について $\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{0}\rangle = 0$ ですから $\boldsymbol{y} \perp \operatorname{im}A$ です。逆に $\boldsymbol{y} \perp \operatorname{im}A$ とすると、任意の $\boldsymbol{x}$ で $\langle \boldsymbol{x}, A^{*}\boldsymbol{y}\rangle = \langle A\boldsymbol{x}, \boldsymbol{y}\rangle = 0$ となり、$\boldsymbol{x} = A^{*}\boldsymbol{y}$ と選べば $\|A^{*}\boldsymbol{y}\|^2 = 0$、すなわち $\boldsymbol{y} \in \ker A^{*}$ です。
</Proof>

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

<Remark id="rem-adjoint-basis">
随伴は内積に付随する概念であって、成分表示に付随する概念ではありません。有限次元内積空間 $V$ 上の線形写像 $T$ に対し、$\langle T\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, T^{*}\boldsymbol{y}\rangle$ を満たす線形写像 $T^{*}$ がただ一つ存在します（証明は <Ref to="prop-adjoint" /> の一意性と同じです）。この $T^{*}$ の表現行列が転置共役になるのは、**正規直交基底で表現したときに限ります**。以下で正規直交基底にこだわるのは、この理由によります。
</Remark>

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

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

<Definition id="def-hermitian-unitary" title="エルミート行列・ユニタリ行列・正規行列">
$A$ を $n$ 次複素正方行列とする。

- $A^{*} = A$ を満たすとき、$A$ を**エルミート行列**（自己随伴行列）という。$A$ が実行列であれば条件は $A^{\mathsf{T}} = A$ であり、このとき $A$ を**実対称行列**という。
- $U^{*}U = UU^{*} = I$ を満たすとき、$U$ を**ユニタリ行列**という。$U$ が実行列であれば条件は $U^{\mathsf{T}}U = UU^{\mathsf{T}} = I$ であり、このとき $U$ を**直交行列**という。
- $A^{*}A = AA^{*}$ を満たすとき、$A$ を**正規行列**という。
</Definition>

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

<Figure caption="行列のクラスの関係。実線の矢印は「特別な場合になる」向き、点線はスペクトル定理から導かれる結論を表す。">
<Mermaid code={`flowchart TB
  Sq["正方行列 A"] --> Nm["正規行列: A*A = AA*"]
  Nm --> He["エルミート行列: A* = A"]
  Nm --> Un["ユニタリ行列: U*U = I"]
  He --> Sy["実対称行列: 転置しても変わらない"]
  Un --> Or["直交行列: 転置が逆行列"]
  Nm -.->|スペクトル定理| Di["ユニタリ行列で対角化できる"]
  He -.->|固有値がすべて実数| Dr["実の対角行列に対角化できる"]`} />
</Figure>

定義だけ見ると、$A^{*} = A$ という条件は「成分をひっくり返しても同じ」という以上の意味を持たないように見えます。<Ref to="prop-adjoint" /> の (1) を通して読み直すと、この条件は
$$
\langle A\boldsymbol{x}, \boldsymbol{y}\rangle = \langle \boldsymbol{x}, A\boldsymbol{y}\rangle \quad (\forall \boldsymbol{x}, \boldsymbol{y})
$$
すなわち「内積の中で $A$ を左右どちらへ動かしてもよい」という対称性になります。ユニタリ行列の条件のほうは、次の命題が示すとおり「長さと角度を保つ」という幾何的な性質そのものです。

<Proposition id="prop-unitary" title="ユニタリ行列の特徴づけ">
$U$ を $n$ 次複素正方行列とする。次の 4 条件は同値である。

1. $U^{*}U = I$。
2. すべての $\boldsymbol{x}, \boldsymbol{y} \in \mathbb{C}^n$ に対して $\langle U\boldsymbol{x}, U\boldsymbol{y}\rangle = \langle \boldsymbol{x}, \boldsymbol{y}\rangle$。
3. すべての $\boldsymbol{x} \in \mathbb{C}^n$ に対して $\|U\boldsymbol{x}\| = \|\boldsymbol{x}\|$。
4. $U$ の $n$ 本の列ベクトルは $\mathbb{C}^n$ の正規直交基底をなす。

これらが成り立つとき $U$ は正則で $U^{-1} = U^{*}$、したがって $UU^{*} = I$ も成り立つ（つまり <Ref to="def-hermitian-unitary" /> のユニタリ行列の条件のうち片方だけを仮定すれば十分である）。
</Proposition>

<Proof of="prop-unitary">
(1) $\Rightarrow$ (2): <Ref to="prop-adjoint" /> の (1) より $\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) で $\boldsymbol{y} = \boldsymbol{x}$ とすると $\|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 - I$ とおきます。$B^{*} = (U^{*}U)^{*} - I^{*} = U^{*}U - I = B$（<Ref to="prop-adjoint" /> の (2) を使いました）なので $B$ はエルミートです。仮定 (3) より、すべての $\boldsymbol{x}$ について
$$
\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 = O$ を出します。任意の $\boldsymbol{x}, \boldsymbol{y}$ について
$$
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
$$
です。$B$ がエルミートなので $\langle B\boldsymbol{y},\boldsymbol{x}\rangle = \langle \boldsymbol{y}, B\boldsymbol{x}\rangle = \overline{\langle B\boldsymbol{x},\boldsymbol{y}\rangle}$ であり、上式は $2\operatorname{Re}\langle B\boldsymbol{x},\boldsymbol{y}\rangle = 0$ を意味します。次に $\boldsymbol{y}$ を $i\boldsymbol{y}$ で置き換えると、第 2 変数は共役線形なので $\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$ であり、複素数 $z$ に対し $\operatorname{Re}(-iz) = \operatorname{Im}(z)$ ですから $\operatorname{Im}\langle B\boldsymbol{x},\boldsymbol{y}\rangle = 0$ も従います。実部も虚部も $0$ なので $\langle B\boldsymbol{x},\boldsymbol{y}\rangle = 0$ がすべての $\boldsymbol{x},\boldsymbol{y}$ で成り立ち、$\boldsymbol{y} = B\boldsymbol{x}$ と選べば $B\boldsymbol{x} = \boldsymbol{0}$、すなわち $B = O$ です。

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

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

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

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

<Lemma id="lem-hermitian-real" title="エルミート行列の固有値と固有ベクトル">
$A$ を $n$ 次エルミート行列とする。
1. すべての $\boldsymbol{x} \in \mathbb{C}^n$ に対して $\langle A\boldsymbol{x}, \boldsymbol{x}\rangle$ は実数である。
2. $A$ の固有値はすべて実数である。
3. $\lambda \neq \mu$ を $A$ の固有値、$\boldsymbol{x}$ を $\lambda$ の固有ベクトル、$\boldsymbol{y}$ を $\mu$ の固有ベクトルとすると $\langle \boldsymbol{x}, \boldsymbol{y}\rangle = 0$、すなわち相異なる固有値に属する固有ベクトルは直交する。
</Lemma>

<Proof of="lem-hermitian-real">
1. 内積の共役対称性から $\overline{\langle A\boldsymbol{x},\boldsymbol{x}\rangle} = \langle \boldsymbol{x}, A\boldsymbol{x}\rangle$ です。一方 <Ref to="prop-adjoint" /> の (1) と $A^{*} = A$ より $\langle \boldsymbol{x}, A\boldsymbol{x}\rangle = \langle \boldsymbol{x}, A^{*}\boldsymbol{x}\rangle = \langle A\boldsymbol{x}, \boldsymbol{x}\rangle$ です。よって $\langle A\boldsymbol{x},\boldsymbol{x}\rangle$ は自分自身の共役と等しく、実数です。

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

3. $A\boldsymbol{x} = \lambda\boldsymbol{x}$、$A\boldsymbol{y} = \mu\boldsymbol{y}$ とします。2 より $\lambda,\mu$ は実数です。
$$
\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^{*} = A$ と <Ref to="prop-adjoint" /> の (1)、最後の等号で $\mu$ が実数であることを使いました）。よって $(\lambda - \mu)\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0$ で、$\lambda \neq \mu$ より $\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0$ です。
</Proof>

3 の主張は注目に値します。一般の対角化可能な行列では、異なる固有値の固有ベクトルは一次独立ではあっても（<Ref to="mathematics/linear-algebra/eigenvalues#thm-independence" text="相異なる固有値に属する固有ベクトルの一次独立性" />）、直交する理由がありません（<Ref to="ex-obstruction" /> の $B$ がその例です）。エルミート性は、直交性を無料で与えてくれます。あとは、固有ベクトルが「全部で $n$ 本」取れることを示せば、正規直交基底が手に入ります。

## 4. スペクトル定理

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

<Lemma id="lem-invariant" title="不変部分空間の直交補空間">
$A$ を $n$ 次エルミート行列、$W \subseteq \mathbb{C}^n$ を部分空間とし、$W$ が $A$ 不変、すなわち $A\boldsymbol{w} \in W$ がすべての $\boldsymbol{w} \in W$ で成り立つとする。このとき直交補空間 $W^{\perp} = \{\boldsymbol{y} : \langle \boldsymbol{y},\boldsymbol{w}\rangle = 0\ (\forall \boldsymbol{w}\in W)\}$ もまた $A$ 不変である。さらに、$W^{\perp}$ の正規直交基底 $\boldsymbol{v}_1,\ldots,\boldsymbol{v}_m$ をとり、$A\boldsymbol{v}_j = \sum_{i=1}^{m} b_{ij}\boldsymbol{v}_i$ で定まる $m$ 次行列 $B = (b_{ij})$ を作ると、$B$ はエルミート行列である。
</Lemma>

<Proof of="lem-invariant">
$\boldsymbol{y} \in W^{\perp}$、$\boldsymbol{w} \in W$ とします。<Ref to="prop-adjoint" /> の (1) と $A^{*} = A$ より
$$
\langle A\boldsymbol{y}, \boldsymbol{w}\rangle = \langle \boldsymbol{y}, A^{*}\boldsymbol{w}\rangle = \langle \boldsymbol{y}, A\boldsymbol{w}\rangle
$$
です。仮定より $A\boldsymbol{w} \in W$ であり、$\boldsymbol{y}$ は $W$ のすべての元と直交するので右辺は $0$ です。$\boldsymbol{w} \in W$ は任意だったので $A\boldsymbol{y} \in W^{\perp}$、すなわち $W^{\perp}$ は $A$ 不変です。

後半を示します。$W^{\perp}$ が $A$ 不変なので $A\boldsymbol{v}_j \in W^{\perp}$ であり、正規直交基底による展開（<Ref to="mathematics/linear-algebra/inner-product-spaces#thm-onb-expansion" text="正規直交基底による展開" />）の係数は $b_{ij} = \langle A\boldsymbol{v}_j, \boldsymbol{v}_i\rangle$ です。すると
$$
\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 番目の等号は $A$ のエルミート性（<Ref to="prop-adjoint" /> の (1)）です。よって $B^{*} = B$ です。
</Proof>

<Theorem id="thm-spectral" title="スペクトル定理（エルミート行列）">
$A$ を $n$ 次エルミート行列（$A^{*} = A$）とする。このとき、$n$ 次ユニタリ行列 $U$ と、実数を対角成分に持つ対角行列 $\Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n)$ が存在して
$$
A = U\Lambda U^{*},\qquad \text{すなわち}\qquad U^{*}AU = \Lambda
$$
が成り立つ。$\lambda_1,\ldots,\lambda_n$ は重複度を込めた $A$ の固有値であり、$U$ の列ベクトル $\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n$ は $A\boldsymbol{u}_k = \lambda_k\boldsymbol{u}_k$ を満たす $\mathbb{C}^n$ の正規直交基底である。

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

<Proof of="thm-spectral">
$n$ についての数学的帰納法で示します。

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

$n \ge 2$ とし、$n-1$ 次以下のエルミート行列について主張が成り立つと仮定します。まず固有値を 1 つ取り出します。特性多項式 $\det(\lambda I - A)$ は複素数係数の $n$ 次多項式なので、代数学の基本定理により複素数の根 $\lambda_1$ を持ちます（このあたりは [固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues) の <Ref to="mathematics/linear-algebra/eigenvalues#cor-existence-complex" text="固有値の存在" /> を参照してください）。$\det(\lambda_1 I - A) = 0$ より $\lambda_1 I - A$ は正則でなく、$A\boldsymbol{u}_1 = \lambda_1\boldsymbol{u}_1$ を満たす $\boldsymbol{u}_1 \neq \boldsymbol{0}$ が存在します。必要なら $\boldsymbol{u}_1/\|\boldsymbol{u}_1\|$ で置き換えて $\|\boldsymbol{u}_1\| = 1$ としておきます。<Ref to="lem-hermitian-real" /> の 2 より $\lambda_1$ は実数です。

$W = \operatorname{span}\{\boldsymbol{u}_1\}$ とおくと、$A(c\boldsymbol{u}_1) = c\lambda_1\boldsymbol{u}_1 \in W$ なので $W$ は $A$ 不変です。<Ref to="lem-invariant" /> より $W^{\perp}$ も $A$ 不変で、$W^{\perp}$ の正規直交基底 $\boldsymbol{v}_1,\ldots,\boldsymbol{v}_{n-1}$（グラム・シュミットの直交化で作れます）に関する $A$ の表現行列 $B$ は $n-1$ 次のエルミート行列です。ここで $\dim W^{\perp} = n - \dim W = n-1$ と $\mathbb{C}^n = W \oplus W^{\perp}$ を使いました（<Ref to="mathematics/linear-algebra/inner-product-spaces#thm-orthogonal-decomposition" text="直交分解定理" />）。

帰納法の仮定を $B$ に適用すると、$\mathbb{C}^{n-1}$ の正規直交基底 $\boldsymbol{c}_2,\ldots,\boldsymbol{c}_n$ で $B\boldsymbol{c}_k = \lambda_k\boldsymbol{c}_k$（$\lambda_k$ は実数）を満たすものが取れます。$\boldsymbol{c}_k = (c_{1k},\ldots,c_{n-1,k})^{\mathsf{T}}$ に対応するベクトル $\boldsymbol{u}_k = \sum_{i=1}^{n-1} c_{ik}\boldsymbol{v}_i \in W^{\perp}$ を作ると、$B$ の定め方から
$$
A\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
$$
となります。また $\boldsymbol{v}_1,\ldots,\boldsymbol{v}_{n-1}$ が正規直交なので $\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}$ であり、$\boldsymbol{u}_2,\ldots,\boldsymbol{u}_n$ は $W^{\perp}$ の正規直交基底です。

$\boldsymbol{u}_1 \in W$ は $W^{\perp}$ のすべての元と直交し長さ $1$ なので、$\boldsymbol{u}_1,\boldsymbol{u}_2,\ldots,\boldsymbol{u}_n$ は $\mathbb{C}^n$ の正規直交基底であり、各 $\boldsymbol{u}_k$ は実固有値 $\lambda_k$ の固有ベクトルです。これらを列に並べた行列を $U$ とすると、<Ref to="prop-unitary" /> の (4) より $U$ はユニタリ行列です。$AU$ の第 $k$ 列は $A\boldsymbol{u}_k = \lambda_k\boldsymbol{u}_k$ であり、これは $U\Lambda$ の第 $k$ 列と一致するので $AU = U\Lambda$、両辺に右から $U^{-1} = U^{*}$ を掛けて $A = U\Lambda U^{*}$ を得ます。
</Proof>

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

<Corollary id="cor-real-symmetric" title="実対称行列の直交対角化">
$A$ を $n$ 次実対称行列（$A^{\mathsf{T}} = A$、成分はすべて実数）とする。このとき実の直交行列 $P$（$P^{\mathsf{T}}P = PP^{\mathsf{T}} = I$）と実対角行列 $\Lambda$ が存在して
$$
P^{\mathsf{T}}AP = \Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n)
$$
が成り立つ。$P$ の列は $A$ の固有ベクトルからなる $\mathbb{R}^n$ の正規直交基底である。
</Corollary>

<Proof of="cor-real-symmetric">
実対称行列は複素行列とみてもエルミート行列です（成分が実なので $\overline{a_{ji}} = a_{ji} = a_{ij}$）。したがって <Ref to="lem-hermitian-real" /> の 2 より、固有値はすべて実数です。

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

最後に $P$ の列が実の正規直交基底であることから、<Ref to="prop-unitary" /> の (4) を実の場合に適用して $P^{\mathsf{T}}P = I$、よって $P^{-1} = P^{\mathsf{T}}$ であり、$P^{\mathsf{T}}AP = P^{-1}AP = \Lambda$ です。
</Proof>

<Example id="ex-2x2-symmetric" title="2 次実対称行列の直交対角化">
$A = \begin{pmatrix} 1 & 2 \\ 2 & -2\end{pmatrix}$ を直交対角化します。

**固有値。** 特性多項式は
$$
\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)
$$
なので固有値は $\lambda_1 = 2$、$\lambda_2 = -3$ です。どちらも実数で、<Ref to="lem-hermitian-real" /> の 2 と整合します。

**固有ベクトル。** $\lambda = 2$ のとき $A - 2I = \begin{pmatrix} -1 & 2 \\ 2 & -4\end{pmatrix}$ で、$-x + 2y = 0$ より $\boldsymbol{w}_1 = (2,1)^{\mathsf{T}}$ が取れます。実際 $A(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}}$ です。$\lambda = -3$ のとき $A + 3I = \begin{pmatrix} 4 & 2 \\ 2 & 1\end{pmatrix}$ で、$2x + y = 0$ より $\boldsymbol{w}_2 = (1,-2)^{\mathsf{T}}$。実際 $A(1,-2)^{\mathsf{T}} = (1 - 4,\ 2 + 4)^{\mathsf{T}} = (-3,6)^{\mathsf{T}} = -3(1,-2)^{\mathsf{T}}$ です。

**直交性と正規化。** $\langle \boldsymbol{w}_1,\boldsymbol{w}_2\rangle = 2\cdot 1 + 1\cdot(-2) = 0$ で、確かに直交しています（<Ref to="lem-hermitian-real" /> の 3 が保証するとおりです）。$\|\boldsymbol{w}_1\| = \|\boldsymbol{w}_2\| = \sqrt{5}$ なので
$$
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}
$$
です。検算しておきます。$P^{\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$ で $P$ は直交行列です。また $AP$ の列は $2\cdot\frac{1}{\sqrt5}(2,1)^{\mathsf{T}}$ と $-3\cdot\frac{1}{\sqrt5}(1,-2)^{\mathsf{T}}$ なので $AP = P\Lambda$ が成り立ちます。

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

<Example id="ex-3x3-repeated" title="重複固有値がある場合 — グラム・シュミットが必要になる">
$A = \begin{pmatrix} 2 & 1 & 1 \\ 1 & 2 & 1 \\ 1 & 1 & 2\end{pmatrix}$ を直交対角化します。

**固有値。** $J$ をすべての成分が $1$ の $3$ 次行列とすると $A = I + J$ です。$J\boldsymbol{x} = (x_1+x_2+x_3)(1,1,1)^{\mathsf{T}}$ ですから、$J$ の固有値は $(1,1,1)^{\mathsf{T}}$ に対する $3$ と、平面 $x_1+x_2+x_3 = 0$（2 次元）に対する $0$ です。よって $A = I + J$ の固有値は $4$（1 重）と $1$（2 重）です。検算: 固有値の和は $4+1+1 = 6 = \operatorname{tr}A$、積は $4\cdot 1\cdot 1 = 4$ で、$\det A = 2(4-1) - 1(2-1) + 1(1-2) = 6 - 1 - 1 = 4$ と一致します。

**固有空間。** $\lambda = 4$ の固有空間は $\operatorname{span}\{(1,1,1)^{\mathsf{T}}\}$ です（$A(1,1,1)^{\mathsf{T}} = (4,4,4)^{\mathsf{T}}$）。$\lambda = 1$ の固有空間は $A - I = J$ の核、すなわち平面 $x_1 + x_2 + x_3 = 0$ です。

**グラム・シュミット。** 重複固有値の固有空間の中では、基底を無造作に取ると直交しません。たとえば $\boldsymbol{w}_1 = (1,-1,0)^{\mathsf{T}}$、$\boldsymbol{w}_2 = (1,0,-1)^{\mathsf{T}}$ はどちらも $\lambda = 1$ の固有ベクトルですが $\langle \boldsymbol{w}_2,\boldsymbol{w}_1\rangle = 1 \neq 0$ です。そこで直交化します。
$$
\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}}
$$
$2$ 倍して $(1,1,-2)^{\mathsf{T}}$ とします。これも固有空間（$1+1-2 = 0$）に入るので固有値 $1$ の固有ベクトルであり、$\langle (1,1,-2)^{\mathsf{T}},(1,-1,0)^{\mathsf{T}}\rangle = 1 - 1 + 0 = 0$ で直交します。

**結果。** ノルムはそれぞれ $\sqrt3,\sqrt2,\sqrt6$ なので
$$
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}
$$
です。異なる固有値どうしは $\langle (1,1,1),(1,-1,0)\rangle = 0$、$\langle (1,1,1),(1,1,-2)\rangle = 0$ と自動的に直交しており（<Ref to="lem-hermitian-real" /> の 3）、直交化が必要なのは同じ固有値の中だけです。
</Example>

<Aside type="tip">
直交対角化の手順はいつも同じです。(1) 固有値を求める、(2) 各固有空間の基底を求める、(3) 各固有空間の内部だけをグラム・シュミットで直交化する、(4) 正規化して列に並べる。異なる固有空間どうしの直交化は不要です — <Ref to="lem-hermitian-real" /> の 3 がすでに保証しているからです。
</Aside>

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

$A = U\Lambda U^{*}$ という等式を、幾何的に読み直します。$U$ の列を $\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n$ とすると、$U^{*}\boldsymbol{x}$ の第 $k$ 成分は $\boldsymbol{u}_k^{*}\boldsymbol{x} = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle$、つまり $\boldsymbol{x}$ の第 $k$ 軸方向の座標です。$\Lambda$ はその座標を $\lambda_k$ 倍し、$U$ は座標からベクトルを組み立て直します。式で書けば
$$
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^{*}
$$
です。ここで $\boldsymbol{u}_k\boldsymbol{u}_k^{*}$ は $n$ 次行列で、$(\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$ ですから、$\boldsymbol{u}_k$ の張る直線への直交射影にほかなりません。**エルミート行列とは、互いに直交する軸への射影を、実数の重みをつけて足し合わせたもの**です。これがスペクトル定理の幾何的な内容です。

相異なる固有値を $\mu_1,\ldots,\mu_r$（$r \le n$）とし、$P_k$ を固有空間 $E_k = \ker(A - \mu_k I)$ への直交射影とすると、上の和を固有値ごとにまとめて
$$
A = \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
$$
と書けます。これを $A$ の**スペクトル分解**といいます。

<Remark id="rem-uniqueness">
スペクトル分解は一意です。$A = \sum_{k}\nu_k Q_k$ が、相異なるスカラー $\nu_k$ と、$Q_k^{*} = Q_k$、$Q_k^2 = Q_k$、$Q_kQ_l = O\ (k\neq l)$、$\sum_k Q_k = I$、$Q_k \neq O$ を満たす分解であったとします。$AQ_k = \sum_l \nu_l Q_lQ_k = \nu_kQ_k$ なので、$Q_k$ の像の $0$ でないベクトルはすべて固有値 $\nu_k$ の固有ベクトルです。よって $\nu_k$ は $A$ の固有値であり、$\operatorname{im}Q_k \subseteq \ker(A - \nu_kI)$ です。一方 $\sum_k Q_k = I$ より $\mathbb{C}^n = \sum_k \operatorname{im}Q_k$ であり、相異なる固有値の固有空間は <Ref to="lem-hermitian-real" /> の 3 により互いに直交する（特に和は直和）ので、次元を数えて $\operatorname{im}Q_k = \ker(A-\nu_kI)$ が従います。したがって $\{\nu_k\}$ は $A$ の相異なる固有値全体、$Q_k$ は対応する固有空間への直交射影に一致します。
</Remark>

スペクトル分解の実用上の効能は、$A$ の「関数」が定義できることです。$f$ を実数上の関数とするとき
$$
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))
$$
と定めます。<Ref to="rem-uniqueness" /> により $P_k$ は $A$ だけで決まるので、この定義は $U$ の取り方（固有ベクトルの符号や、重複固有値の固有空間内での基底の選び方）に依存しません。$f$ が多項式 $f(t) = \sum_m c_mt^m$ のときは、$A^m = U\Lambda^m U^{*}$ から $f(A) = \sum_m c_mA^m$ と一致するので、記号の衝突は起きません。

<Example id="ex-sqrt" title="対称行列の平方根と指数関数">
$A = \begin{pmatrix} 10 & -6 \\ -6 & 10 \end{pmatrix}$ を考えます。特性多項式は $\lambda^2 - 20\lambda + (100 - 36) = \lambda^2 - 20\lambda + 64 = (\lambda - 16)(\lambda - 4)$ なので、固有値は $16$ と $4$ です。

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

射影は
$$
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}
$$
で、$P_1 + P_2 = I$、$16P_1 + 4P_2 = \begin{pmatrix} 8+2 & -8+2 \\ -8+2 & 8+2\end{pmatrix} = A$ を確かめられます。

**平方根。** $f(t) = \sqrt{t}$ とすると
$$
\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}
$$
です。検算: $\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) = e^{t}$ とすると
$$
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}
$$
です。この計算は、$\frac{d}{dt}\boldsymbol{x}(t) = A\boldsymbol{x}(t)$ という連立微分方程式の解 $\boldsymbol{x}(t) = e^{tA}\boldsymbol{x}(0)$ をそのまま与えます。$A$ が対称なら、解は直交する 2 方向でそれぞれ $e^{16t}$、$e^{4t}$ 倍されるだけです。
</Example>

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

## 6. 2 次形式の主軸と正定値性

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

<Definition id="def-quadratic-form" title="2 次形式">
$A$ を $n$ 次実対称行列とするとき、$\mathbb{R}^n$ 上の関数
$$
q(\boldsymbol{x}) = \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} = \sum_{i=1}^{n}\sum_{j=1}^{n} a_{ij}x_ix_j
$$
を $A$ の定める**2 次形式**という。逆に $x_i x_j$ の項だけからなる実 2 次同次多項式が与えられたとき、$x_i^2$ の係数を $a_{ii}$、$x_ix_j$（$i \neq j$）の係数の半分を $a_{ij} = a_{ji}$ と置けば、対応する実対称行列がただ一つ定まる。

複素の場合は、エルミート行列 $A$ に対する $\langle A\boldsymbol{x},\boldsymbol{x}\rangle$ を**エルミート形式**という。<Ref to="lem-hermitian-real" /> の 1 より、この値はつねに実数である。
</Definition>

<Definition id="def-positive-definite" title="正定値・半正定値">
エルミート行列 $A$ が**正定値**であるとは、すべての $\boldsymbol{x} \neq \boldsymbol{0}$ に対して $\langle A\boldsymbol{x},\boldsymbol{x}\rangle > 0$ が成り立つことをいう。すべての $\boldsymbol{x}$ に対して $\langle A\boldsymbol{x},\boldsymbol{x}\rangle \ge 0$ が成り立つとき**半正定値**という。$-A$ が正定値（半正定値）のとき、$A$ は**負定値**（半負定値）という。いずれでもないとき**不定符号**という。
</Definition>

<Theorem id="thm-principal-axis" title="主軸定理と正定値性の判定">
1. （主軸定理）$A$ を $n$ 次実対称行列、$q(\boldsymbol{x}) = \boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x}$ とする。$A$ の固有値を重複を込めて $\lambda_1,\ldots,\lambda_n$、対応する正規直交固有ベクトルを列に並べた直交行列を $P$ とすると、変数変換 $\boldsymbol{x} = P\boldsymbol{y}$ によって
$$
q(\boldsymbol{x}) = \lambda_1y_1^2 + \lambda_2y_2^2 + \cdots + \lambda_ny_n^2
$$
となる。すなわち 2 次形式は、直交座標変換によって交差項のない形（標準形）に直せる。
2. エルミート行列 $A$ が正定値であるための必要十分条件は、$A$ のすべての固有値が正であることである。半正定値であるための必要十分条件は、すべての固有値が非負であることである。実対称行列 $A$ については、$\mathbb{R}^n$ 上で $\boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} > 0\ (\boldsymbol{x}\neq\boldsymbol{0})$ が成り立つことと、$\mathbb{C}^n$ 上で正定値であることは同値である。
</Theorem>

<Proof of="thm-principal-axis">
1. <Ref to="cor-real-symmetric" /> より、実の直交行列 $P$ で $P^{\mathsf{T}}AP = \Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n)$ となるものが取れます。$\boldsymbol{x} = P\boldsymbol{y}$ を代入すると
$$
q(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
$$
です。$P$ は直交行列なので $\boldsymbol{y} = P^{\mathsf{T}}\boldsymbol{x}$ と逆に解け、$\|\boldsymbol{y}\| = \|\boldsymbol{x}\|$（<Ref to="prop-unitary" /> の 3）ですから、この変数変換は長さを変えない座標の取り替えです。

2. <Ref to="thm-spectral" /> により $A = U\Lambda U^{*}$、$\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n$ を正規直交固有ベクトルとします。任意の $\boldsymbol{x}$ を $\boldsymbol{x} = \sum_k c_k\boldsymbol{u}_k$（$c_k = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle$）と展開すると、$A\boldsymbol{x} = \sum_k \lambda_kc_k\boldsymbol{u}_k$ であり、正規直交性から
$$
\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
$$
が成り立ちます。

（十分性）すべての $\lambda_k$ が正で $\boldsymbol{x}\neq\boldsymbol{0}$ とすると、少なくとも 1 つの $c_k$ が $0$ でないので $\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \sum_k\lambda_k|c_k|^2 > 0$ です。

（必要性）$A$ が正定値なら、$\boldsymbol{x} = \boldsymbol{u}_k \neq \boldsymbol{0}$ と選んで $\langle A\boldsymbol{u}_k,\boldsymbol{u}_k\rangle = \lambda_k\|\boldsymbol{u}_k\|^2 = \lambda_k > 0$ を得ます。半正定値の場合も不等号を $\ge$ に替えるだけで同じ議論が通ります。

実対称行列についての最後の主張: <Ref to="cor-real-symmetric" /> により固有ベクトル $\boldsymbol{u}_k$ を実ベクトルに取れるので、上の（必要性）の議論は $\mathbb{R}^n$ の中だけで実行できます。したがって $\mathbb{R}^n$ 上の正定値性からすべての固有値が正であることが従い、（十分性）により $\mathbb{C}^n$ 上の正定値性が出ます。逆向きは $\mathbb{R}^n \subseteq \mathbb{C}^n$ から明らかです。
</Proof>

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

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

<Example id="ex-conic" title="2 次曲線の主軸を求める">
$5x^2 - 4xy + 5y^2 = 21$ が表す曲線を決定します。

**係数行列。** $x^2$ の係数 $5$、$y^2$ の係数 $5$、$xy$ の係数 $-4$ の半分が $-2$ なので
$$
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(\lambda I - A) = (\lambda-5)^2 - 4 = (\lambda - 3)(\lambda - 7)$ なので固有値は $3, 7$ です。$\lambda = 3$: $A - 3I = \begin{pmatrix} 2 & -2 \\ -2 & 2\end{pmatrix}$ より $x = y$、$\boldsymbol{u}_1 = \frac{1}{\sqrt2}(1,1)^{\mathsf{T}}$。$\lambda = 7$: $A - 7I = \begin{pmatrix} -2 & -2 \\ -2 & -2\end{pmatrix}$ より $x = -y$、$\boldsymbol{u}_2 = \frac{1}{\sqrt2}(1,-1)^{\mathsf{T}}$。この 2 本は直交しています。

**標準形。** $P = \frac{1}{\sqrt2}\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix}$（$45^\circ$ 回転と鏡映）を用いて $\boldsymbol{x} = P\boldsymbol{y}$ とすると、<Ref to="thm-principal-axis" /> の 1 より曲線の方程式は
$$
3u^2 + 7v^2 = 21,\qquad \text{すなわち}\qquad \frac{u^2}{7} + \frac{v^2}{3} = 1
$$
となります（$\boldsymbol{y} = (u,v)^{\mathsf{T}}$）。固有値がともに正なので $A$ は正定値であり、曲線は楕円です。長半径は $\sqrt7 \approx 2.65$ で $\boldsymbol{u}_1 = \frac{1}{\sqrt2}(1,1)^{\mathsf{T}}$ の方向、短半径は $\sqrt3 \approx 1.73$ で $\boldsymbol{u}_2 = \frac{1}{\sqrt2}(1,-1)^{\mathsf{T}}$ の方向です。

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

<Figure caption="楕円 5x² − 4xy + 5y² = 21 とその主軸。軸は固有ベクトルの方向を向き、半軸の長さは √(21/λ) で決まる。固有値が大きい方向ほど半軸は短い。">
<svg viewBox="0 0 470 330" width="100%" role="img" aria-label="45 度傾いた楕円と、それに直交する 2 本の主軸を示す図">
  <g transform="translate(235,165)">
    <line x1="-215" y1="0" x2="215" y2="0" stroke="currentColor" stroke-width="1" opacity="0.35" />
    <line x1="0" y1="-145" x2="0" y2="145" stroke="currentColor" stroke-width="1" opacity="0.35" />
    <text x="205" y="18" fill="currentColor" font-size="13" opacity="0.7">x</text>
    <text x="8" y="-134" fill="currentColor" font-size="13" opacity="0.7">y</text>
    <ellipse cx="0" cy="0" rx="106" ry="69" transform="rotate(-45)" fill="none" stroke="var(--sl-color-accent)" stroke-width="2.5" />
    <line x1="-75" y1="75" x2="75" y2="-75" stroke="currentColor" stroke-width="1.5" stroke-dasharray="6 4" />
    <line x1="-49" y1="-49" x2="49" y2="49" stroke="currentColor" stroke-width="1.5" stroke-dasharray="6 4" />
    <circle cx="75" cy="-75" r="3.5" fill="currentColor" />
    <circle cx="49" cy="49" r="3.5" fill="currentColor" />
    <text x="84" y="-80" fill="currentColor" font-size="13">長半径 √7（λ = 3）</text>
    <text x="58" y="66" fill="currentColor" font-size="13">短半径 √3（λ = 7）</text>
    <text x="-212" y="-118" fill="currentColor" font-size="13">5x² − 4xy + 5y² = 21</text>
  </g>
</svg>
</Figure>

<Remark id="rem-sylvester">
主軸定理は直交行列による変換を使いました。もっと弱く、任意の正則行列 $S$ による合同変換 $A \mapsto S^{\mathsf{T}}AS$ を許せば、係数を $+1, -1, 0$ に揃えられます。このとき現れる $+1$ の個数 $p$、$-1$ の個数 $m$、$0$ の個数 $z$ は $S$ の取り方によらず定まり、これをシルヴェスターの慣性法則、組 $(p,m,z)$ を符号数といいます。<Ref to="thm-principal-axis" /> はそれより強く固有値そのものを与えます。合同変換で固有値は変わりますが、符号は変わりません。
</Remark>

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

データサイエンスでスペクトル定理が最もよく使われるのは主成分分析（principal component analysis, PCA）です。設定は次のとおりです。$n$ 個の特徴量を持つ標本 $\boldsymbol{x}_1,\ldots,\boldsymbol{x}_N \in \mathbb{R}^n$ が与えられ、平均は $\boldsymbol{0}$ に中心化されているとします（そうでなければ全体から平均を引きます）。標本共分散行列を
$$
S = \frac{1}{N}\sum_{i=1}^{N}\boldsymbol{x}_i\boldsymbol{x}_i^{\mathsf{T}} = \frac{1}{N}X^{\mathsf{T}}X
$$
と定めます（$X$ は $\boldsymbol{x}_i^{\mathsf{T}}$ を第 $i$ 行とする $N \times n$ 行列）。$S^{\mathsf{T}} = S$ なので $S$ は実対称行列であり、任意の $\boldsymbol{u}$ に対して
$$
\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
$$
なので半正定値です（<Ref to="thm-principal-axis" /> の 2 より、固有値はすべて非負です）。$\|\boldsymbol{u}\| = 1$ のとき $\boldsymbol{u}^{\mathsf{T}}\boldsymbol{x}_i$ は $\boldsymbol{x}_i$ を $\boldsymbol{u}$ 方向へ射影した座標なので、$\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u}$ は「その方向へ射影したときのデータの分散」です。PCA が問うのは「分散を最大にする方向はどれか」であり、これは次の定理が完全に答えます。

<Theorem id="thm-rayleigh" title="レイリー商の最大・最小">
$A$ を $n$ 次エルミート行列とし、その固有値を大きい順に $\lambda_1 \ge \lambda_2 \ge \cdots \ge \lambda_n$（重複を込める）、対応する正規直交固有ベクトルを $\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n$ とする（<Ref to="thm-spectral" /> によって存在する）。$\boldsymbol{x}\neq\boldsymbol{0}$ に対し**レイリー商**を $R(\boldsymbol{x}) = \dfrac{\langle A\boldsymbol{x},\boldsymbol{x}\rangle}{\|\boldsymbol{x}\|^2}$ で定めると、次が成り立つ。

1. すべての $\boldsymbol{x}\neq\boldsymbol{0}$ に対し $\lambda_n \le R(\boldsymbol{x}) \le \lambda_1$ であり、$R(\boldsymbol{u}_1) = \lambda_1$、$R(\boldsymbol{u}_n) = \lambda_n$。特に $\max_{\|\boldsymbol{x}\|=1}\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \lambda_1$、$\min_{\|\boldsymbol{x}\|=1}\langle A\boldsymbol{x},\boldsymbol{x}\rangle = \lambda_n$。
2. $2 \le k \le n$ とする。$\boldsymbol{u}_1,\ldots,\boldsymbol{u}_{k-1}$ のすべてと直交する $\boldsymbol{x}\neq\boldsymbol{0}$ に制限すると $R(\boldsymbol{x}) \le \lambda_k$ であり、$\boldsymbol{x} = \boldsymbol{u}_k$ で等号が成り立つ。
</Theorem>

<Proof of="thm-rayleigh">
$\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n$ は正規直交基底なので、任意の $\boldsymbol{x}$ は $\boldsymbol{x} = \sum_{k}c_k\boldsymbol{u}_k$（$c_k = \langle \boldsymbol{x},\boldsymbol{u}_k\rangle$）と一意に書けます。<Ref to="thm-principal-axis" /> の証明中で確かめたとおり
$$
\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
$$
です。$\boldsymbol{x}\neq\boldsymbol{0}$ なら $\|\boldsymbol{x}\|^2 > 0$ なので、$w_k = |c_k|^2/\|\boldsymbol{x}\|^2$ とおけば $w_k \ge 0$、$\sum_k w_k = 1$ であり、
$$
R(\boldsymbol{x}) = \sum_{k=1}^{n}\lambda_k w_k
$$
すなわちレイリー商は固有値たちの重み付き平均です。

1. 重み付き平均は最大値と最小値の間にあります。実際 $\sum_k \lambda_kw_k \le \sum_k \lambda_1 w_k = \lambda_1$（各項で $\lambda_k \le \lambda_1$、$w_k\ge0$ を使いました）、同様に $\sum_k\lambda_kw_k \ge \lambda_n$ です。$\boldsymbol{x} = \boldsymbol{u}_1$ のときは $c_1 = 1$、他は $0$ なので $R(\boldsymbol{u}_1) = \lambda_1$、同様に $R(\boldsymbol{u}_n) = \lambda_n$ です。$\|\boldsymbol{x}\| = 1$ のときは $R(\boldsymbol{x}) = \langle A\boldsymbol{x},\boldsymbol{x}\rangle$ なので最大・最小の主張が従います。

2. $\boldsymbol{x}$ が $\boldsymbol{u}_1,\ldots,\boldsymbol{u}_{k-1}$ と直交するとは $c_1 = \cdots = c_{k-1} = 0$ ということです。このとき $w_1 = \cdots = w_{k-1} = 0$ なので $R(\boldsymbol{x}) = \sum_{j \ge k}\lambda_jw_j \le \lambda_k\sum_{j\ge k}w_j = \lambda_k$ です（$j \ge k$ で $\lambda_j\le\lambda_k$ を使いました）。$\boldsymbol{x} = \boldsymbol{u}_k$ は確かに $\boldsymbol{u}_1,\ldots,\boldsymbol{u}_{k-1}$ と直交し、$R(\boldsymbol{u}_k) = \lambda_k$ です。
</Proof>

この定理を $A = S$ に適用すると、PCA の全体像がそのまま出てきます。分散 $\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u}$ を $\|\boldsymbol{u}\| = 1$ の下で最大にする方向は最大固有値 $\lambda_1$ の固有ベクトル $\boldsymbol{u}_1$（第 1 主成分）であり、その分散は $\lambda_1$ です。次に、$\boldsymbol{u}_1$ と直交する方向の中で分散を最大にするのは $\boldsymbol{u}_2$ で、その分散は $\lambda_2$ です — これが <Ref to="thm-rayleigh" /> の 2 の内容です。以下同様に、第 $k$ 主成分は $\lambda_k$ の固有ベクトルになります。主成分どうしが直交すること（つまり主成分得点が無相関になること）は、<Ref to="lem-hermitian-real" /> の 3 が保証しています。

また固有値の総和はトレースに等しい（<Ref to="mathematics/linear-algebra/eigenvalues#cor-trace-det" text="固有値の総和と総積" />）ので
$$
\sum_{k=1}^{n}\lambda_k = \operatorname{tr}S = \sum_{j=1}^{n}(\text{第 } j \text{ 特徴量の分散})
$$
となり、$\lambda_k / \operatorname{tr}S$ を第 $k$ 主成分の**寄与率**と呼びます。「上位 2 本で分散の 95 パーセントを説明する」といった言い方は、この比の話です。

<Example id="ex-pca" title="4 点データの主成分分析">
2 次元データ $\boldsymbol{x}_1 = (3,1)^{\mathsf{T}}$、$\boldsymbol{x}_2 = (1,3)^{\mathsf{T}}$、$\boldsymbol{x}_3 = (-1,-3)^{\mathsf{T}}$、$\boldsymbol{x}_4 = (-3,-1)^{\mathsf{T}}$ を考えます。平均は $\frac14(3+1-1-3,\ 1+3-3-1)^{\mathsf{T}} = (0,0)^{\mathsf{T}}$ なので、すでに中心化されています。

**共分散行列。** $\sum_i x_{i1}^2 = 9+1+1+9 = 20$、$\sum_i x_{i2}^2 = 1+9+9+1 = 20$、$\sum_i x_{i1}x_{i2} = 3+3+3+3 = 12$ なので
$$
S = \frac14\begin{pmatrix} 20 & 12 \\ 12 & 20 \end{pmatrix} = \begin{pmatrix} 5 & 3 \\ 3 & 5\end{pmatrix}
$$
です。

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

**主成分得点。** 第 1 主成分の得点 $z_i = \boldsymbol{u}_1^{\mathsf{T}}\boldsymbol{x}_i$ は
$$
z_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
$$
で、その分散は $\frac14\left(4\cdot 8\right) = 8 = \lambda_1$ です。第 2 主成分の得点は $\sqrt2, -\sqrt2, \sqrt2, -\sqrt2$ で、分散は $\frac14(4\cdot2) = 2 = \lambda_2$ です。<Ref to="thm-rayleigh" /> の主張どおり、分散が固有値に一致しています。

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

**別方向との比較。** $\boldsymbol{u} = (1,0)^{\mathsf{T}}$（第 1 特徴量そのもの）方向の分散は $\boldsymbol{u}^{\mathsf{T}}S\boldsymbol{u} = 5$ で、$\lambda_1 = 8$ より小さく、<Ref to="thm-rayleigh" /> の 1 の不等式 $2 \le R(\boldsymbol{x}) \le 8$ を満たしています。
</Example>

<Remark id="rem-covariance-normalization">
共分散を $\frac{1}{N}$ ではなく不偏推定量の $\frac{1}{N-1}$ で定義する流儀もあります。$S$ が定数倍されるだけなので、固有ベクトル（主成分の方向）は変わらず、固有値がすべて $N/(N-1)$ 倍されます。寄与率 $\lambda_k/\sum_j\lambda_j$ も変わりません。
</Remark>

<Aside type="caution">
「固有値が大きい方向は長い」と覚えると、2 次曲線のときに逆になります。2 次形式の等位面 $\boldsymbol{x}^{\mathsf{T}}A\boldsymbol{x} = 1$ では、固有値 $\lambda$ の方向の半軸は $1/\sqrt{\lambda}$ なので、固有値が大きいほど短くなります（<Ref to="ex-conic" />）。一方 PCA では、共分散行列 $S$ の固有値 $\lambda$ が大きい方向ほどデータは大きく広がります。両者を結ぶのは逆行列で、データの散らばりを表す楕円は $\boldsymbol{x}^{\mathsf{T}}S^{-1}\boldsymbol{x} = 1$（マハラノビス距離が $1$ の等高線）であり、この楕円の半軸は $\sqrt{\lambda}$ に比例します。
</Aside>

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

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

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

<Theorem id="thm-normal" title="スペクトル定理（正規行列）">
$A$ を $n$ 次複素正方行列とする。次は同値である。

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

さらにこのとき、$A$ がエルミート行列であることと $D$ の対角成分がすべて実数であることは同値であり、$A$ がユニタリ行列であることと $D$ の対角成分の絶対値がすべて $1$ であることは同値である。
</Theorem>

<Proof of="thm-normal">
(1) $\Leftrightarrow$ (2) は <Ref to="prop-unitary" /> の (4) から直ちに従います。$AU = UD$ は「$U$ の第 $k$ 列が固有値 $d_k$ の固有ベクトル」と言い換えられ、$U$ がユニタリであることと列が正規直交基底であることが同値だからです。

(1) $\Rightarrow$ (3): $A = UDU^{*}$ とすると $A^{*} = UD^{*}U^{*}$ で、$U^{*}U = I$ を使って
$$
A^{*}A = UD^{*}U^{*}UDU^{*} = UD^{*}DU^{*},\qquad AA^{*} = UDD^{*}U^{*}
$$
です。対角行列どうしは可換で $D^{*}D = DD^{*} = \operatorname{diag}(|d_1|^2,\ldots,|d_n|^2)$ なので、両者は一致します。

(3) $\Rightarrow$ (1): まずシューア分解を用意します。**任意の**複素正方行列 $A$ に対し、ユニタリ行列 $U$ と上三角行列 $T$ で $U^{*}AU = T$ となるものが存在します。これは <Ref to="thm-spectral" /> の証明と同じ帰納法で示せます。$n = 1$ は自明です。$n \ge 2$ のとき、代数学の基本定理により固有値 $\lambda$ と単位固有ベクトル $\boldsymbol{u}_1$ を取り、グラム・シュミットの直交化で $\boldsymbol{u}_1$ を含む正規直交基底 $\boldsymbol{u}_1,\ldots,\boldsymbol{u}_n$ を作り、これらを列とするユニタリ行列を $U_1$ とします。$U_1^{*}AU_1$ の第 1 列は $U_1^{*}A\boldsymbol{u}_1 = \lambda U_1^{*}\boldsymbol{u}_1 = \lambda\boldsymbol{e}_1$ なので
$$
U_1^{*}AU_1 = \begin{pmatrix} \lambda & \boldsymbol{b}^{*} \\ \boldsymbol{0} & A_1 \end{pmatrix}
$$
の形です。$n-1$ 次行列 $A_1$ に帰納法の仮定を適用して $V^{*}A_1V = T_1$（上三角、$V$ はユニタリ）とし、$U = U_1\begin{pmatrix} 1 & \boldsymbol{0}^{\mathsf{T}} \\ \boldsymbol{0} & V\end{pmatrix}$ とおけば、ユニタリ行列の積はユニタリなので $U$ はユニタリで、$U^{*}AU = \begin{pmatrix} \lambda & \boldsymbol{b}^{*}V \\ \boldsymbol{0} & T_1\end{pmatrix}$ は上三角行列です。

さて $A$ が正規で $T = U^{*}AU$ とすると、$T^{*}T = U^{*}A^{*}UU^{*}AU = U^{*}A^{*}AU = U^{*}AA^{*}U = TT^{*}$ なので $T$ も正規です。$T$ が上三角かつ正規なら対角行列であることを、行の番号 $k$ についての帰納法で示します。第 $1,\ldots,k-1$ 行の対角成分より右がすべて $0$ であると仮定します（$k = 1$ では仮定は空です）。$T$ は上三角なので $t_{ik} = 0\ (i > k)$、帰納法の仮定から $t_{ik} = 0\ (i < k)$ です。したがって
$$
(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
$$
です。$T$ の正規性からこの二つは等しく、$\sum_{j > k}|t_{kj}|^2 = 0$、すなわち $t_{kj} = 0\ (j > k)$ を得ます。これで帰納法が進み、$T$ は対角行列です。$A = UTU^{*}$ が (1) を与えます。

最後の主張: $A = UDU^{*}$ のとき $A^{*} = UD^{*}U^{*}$ なので、$A^{*} = A$ は $D^{*} = D$ と同値（$U$ が正則だから）であり、対角行列については $D^{*} = D$ は各成分が実数であることと同値です。同様に $A^{*}A = I$ は $D^{*}D = I$ と同値で、これは $|d_k|^2 = 1$ すなわち $|d_k| = 1$ と同値です。
</Proof>

正規でない行列はユニタリ行列で対角化できません。<Ref to="ex-obstruction" /> の $B = \begin{pmatrix} 1 & 1 \\ 0 & 2\end{pmatrix}$ で確かめると、$B^{*}B = \begin{pmatrix} 1 & 1 \\ 1 & 5\end{pmatrix}$、$BB^{*} = \begin{pmatrix} 2 & 2 \\ 2 & 4\end{pmatrix}$ で一致しないので $B$ は正規ではなく、実際に固有ベクトルは直交していませんでした。対角化可能性と直交対角化可能性の差は、まさに正規性の有無です。

## 9. 演習

<Exercise id="exr-unitary-eigen" difficulty="易">
$U$ を $n$ 次ユニタリ行列とする。
1. $U$ の固有値 $\lambda$ は $|\lambda| = 1$ を満たすことを示せ。
2. 相異なる固有値に属する $U$ の固有ベクトルは直交することを示せ。

<Solution>
1. $U\boldsymbol{x} = \lambda\boldsymbol{x}$、$\boldsymbol{x}\neq\boldsymbol{0}$ とします。<Ref to="prop-unitary" /> の 3 より $\|\boldsymbol{x}\| = \|U\boldsymbol{x}\| = \|\lambda\boldsymbol{x}\| = |\lambda|\,\|\boldsymbol{x}\|$ です。$\boldsymbol{x}\neq\boldsymbol{0}$ より $\|\boldsymbol{x}\| > 0$ なので、両辺を $\|\boldsymbol{x}\|$ で割って $|\lambda| = 1$ を得ます。

2. $U\boldsymbol{x} = \lambda\boldsymbol{x}$、$U\boldsymbol{y} = \mu\boldsymbol{y}$、$\lambda\neq\mu$ とします。<Ref to="prop-unitary" /> の 2 より
$$
\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 より $|\mu| = 1$、すなわち $\mu\bar{\mu} = 1$ なので $\bar{\mu} = 1/\mu$ であり、上式は $\left(1 - \lambda/\mu\right)\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0$ となります。$\lambda\neq\mu$ より $\lambda/\mu \neq 1$ なので $\langle \boldsymbol{x},\boldsymbol{y}\rangle = 0$ です。
</Solution>
</Exercise>

<Exercise id="exr-quadratic" difficulty="標準">
2 次形式 $q(x,y) = 2x^2 + 4xy + 5y^2$ について、次に答えよ。
1. $q$ の係数行列 $A$ を書き、直交行列 $P$ で $P^{\mathsf{T}}AP$ が対角になるものを求めよ。
2. $q$ の標準形を書け。
3. $q$ は正定値か。曲線 $q(x,y) = 6$ はどのような図形か。半軸の長さと方向を述べよ。

<Solution>
1. $x^2$ の係数が $2$、$y^2$ の係数が $5$、$xy$ の係数 $4$ の半分が $2$ なので $A = \begin{pmatrix} 2 & 2 \\ 2 & 5\end{pmatrix}$ です。特性多項式は
$$
\det(\lambda I - A) = (\lambda-2)(\lambda-5) - 4 = \lambda^2 - 7\lambda + 6 = (\lambda-1)(\lambda-6)
$$
なので固有値は $1$ と $6$ です。$\lambda = 6$ のとき $A - 6I = \begin{pmatrix} -4 & 2 \\ 2 & -1\end{pmatrix}$ から $2x - y = 0$、固有ベクトル $(1,2)^{\mathsf{T}}$。$\lambda = 1$ のとき $A - I = \begin{pmatrix} 1 & 2 \\ 2 & 4\end{pmatrix}$ から $x + 2y = 0$、固有ベクトル $(2,-1)^{\mathsf{T}}$。内積は $1\cdot 2 + 2\cdot(-1) = 0$ で直交しており（<Ref to="lem-hermitian-real" /> の 3）、ノルムはともに $\sqrt5$ です。よって
$$
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)^{\mathsf{T}} = (2+4,\ 2+10)^{\mathsf{T}} = (6,12)^{\mathsf{T}} = 6(1,2)^{\mathsf{T}}$、$A(2,-1)^{\mathsf{T}} = (4-2,\ 4-5)^{\mathsf{T}} = (2,-1)^{\mathsf{T}}$ です。

2. <Ref to="thm-principal-axis" /> の 1 より、$\boldsymbol{x} = P\boldsymbol{y}$（$\boldsymbol{y} = (u,v)^{\mathsf{T}}$）とすれば $q = 6u^2 + v^2$ です。

3. 固有値 $6, 1$ はともに正なので、<Ref to="thm-principal-axis" /> の 2 より $q$ は正定値です。$q = 6$ は $6u^2 + v^2 = 6$、すなわち $u^2 + \frac{v^2}{6} = 1$ で楕円です。$u$ 軸方向（$\frac{1}{\sqrt5}(1,2)^{\mathsf{T}}$ の方向）の半軸は $1$、$v$ 軸方向（$\frac{1}{\sqrt5}(2,-1)^{\mathsf{T}}$ の方向）の半軸は $\sqrt6$ です。固有値が大きい方向のほうが半軸が短いことを確認してください。
</Solution>
</Exercise>

<Exercise id="exr-sqrt-unique" difficulty="難">
$A$ を正定値エルミート行列とする。$B^2 = A$ を満たす正定値エルミート行列 $B$ がただ一つ存在することを示せ。

<Solution>
**存在。** <Ref to="thm-spectral" /> により $A = U\Lambda U^{*}$（$U$ ユニタリ、$\Lambda = \operatorname{diag}(\lambda_1,\ldots,\lambda_n)$）と書け、<Ref to="thm-principal-axis" /> の 2 より $\lambda_k > 0$ です。$B = U\Lambda^{1/2}U^{*}$、$\Lambda^{1/2} = \operatorname{diag}(\sqrt{\lambda_1},\ldots,\sqrt{\lambda_n})$ とおきます。$B^{*} = U(\Lambda^{1/2})^{*}U^{*} = B$（対角成分が実数なので $(\Lambda^{1/2})^{*} = \Lambda^{1/2}$）でエルミート、固有値 $\sqrt{\lambda_k}$ はすべて正なので <Ref to="thm-principal-axis" /> の 2 より正定値、そして $B^2 = U\Lambda^{1/2}U^{*}U\Lambda^{1/2}U^{*} = U\Lambda U^{*} = A$ です。

**一意性。** $C$ を $C^2 = A$ を満たす正定値エルミート行列とします。$C$ のスペクトル分解を $C = \sum_{k=1}^{r}\nu_kQ_k$（$\nu_1,\ldots,\nu_r$ は相異なる固有値、$Q_k$ は固有空間への直交射影）とすると、$Q_kQ_l = O\ (k\neq l)$、$Q_k^2 = Q_k$ より
$$
A = C^2 = \sum_{k,l}\nu_k\nu_lQ_kQ_l = \sum_{k=1}^{r}\nu_k^2Q_k
$$
です。$C$ は正定値なので $\nu_k > 0$ であり、$t \mapsto t^2$ は正の実数上で単射ですから $\nu_1^2,\ldots,\nu_r^2$ は相異なります。したがって右辺は <Ref to="rem-uniqueness" /> の条件をすべて満たす $A$ のスペクトル分解であり、その一意性から、$\{\nu_k^2\}$ は $A$ の相異なる固有値全体と一致し、$Q_k$ は $\ker(A - \nu_k^2 I)$ への直交射影です。

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

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

<Exercise id="exr-commuting" difficulty="難">
$A, B$ を $n$ 次エルミート行列とし、$AB = BA$ を満たすとする。このとき、$\mathbb{C}^n$ の正規直交基底で、$A$ の固有ベクトルであり同時に $B$ の固有ベクトルでもあるものからなるものが存在することを示せ（同時対角化）。

<Solution>
$A$ の相異なる固有値を $\mu_1,\ldots,\mu_r$、固有空間を $E_k = \ker(A - \mu_kI)$ とします。<Ref to="thm-spectral" /> より $\mathbb{C}^n = E_1 \oplus\cdots\oplus E_r$ であり、<Ref to="lem-hermitian-real" /> の 3 より $E_k$ たちは互いに直交します。

**$E_k$ は $B$ 不変である。** $\boldsymbol{x} \in E_k$ とすると、$AB = BA$ より
$$
A(B\boldsymbol{x}) = (AB)\boldsymbol{x} = (BA)\boldsymbol{x} = B(A\boldsymbol{x}) = B(\mu_k\boldsymbol{x}) = \mu_k(B\boldsymbol{x})
$$
なので $B\boldsymbol{x} \in \ker(A - \mu_kI) = E_k$ です。ここで可換性を使いました。

**$B$ の $E_k$ への制限はエルミートである。** $E_k$ の正規直交基底 $\boldsymbol{v}_1,\ldots,\boldsymbol{v}_m$ を取り、$b_{ij} = \langle B\boldsymbol{v}_j,\boldsymbol{v}_i\rangle$ で $m$ 次行列 $B_k$ を定めると、<Ref to="lem-invariant" /> の後半とまったく同じ計算
$$
\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}
$$
により $B_k^{*} = B_k$ です（$B$ のエルミート性と内積の共役対称性を使いました）。

**結論。** <Ref to="thm-spectral" /> を $B_k$ に適用すると、$E_k$ の正規直交基底で $B$ の固有ベクトルからなるものが取れます。$E_k$ の元はすべて固有値 $\mu_k$ の $A$ の固有ベクトルなので、この基底は $A$ の固有ベクトルでもあります。$k = 1,\ldots,r$ について集めたものは、$E_k$ どうしが直交し全体で $\mathbb{C}^n$ を張るので、求める正規直交基底です。

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

## 参考文献

- 齋藤正彦『線型代数入門』東京大学出版会、1966 — 固有値・固有ベクトル、および内積を持つ空間における対称行列・エルミート行列の対角化を扱う章。
- 佐武一郎『線型代数学』裳華房、1974（新装版 2015）— 計量ベクトル空間、エルミート形式と 2 次形式の標準形を扱う章。慣性法則の扱いが詳しい。
- Sheldon Axler, *Linear Algebra Done Right*, 4th ed., Springer, 2024 — 内積空間上の作用素とスペクトル定理を扱う第 7 章。全文が [linear.axler.net](https://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 — 主成分分析の定式化、共分散行列と相関行列の固有値分解、寄与率の解釈。


</div>
