# 固有値と固有ベクトル：線形変換が向きを変えない方向を探す

> 固有値と固有ベクトルを「線形変換が向きを変えない方向」として導入し、特性方程式による求め方、固有空間の和が直和になること、代数的重複度と幾何学的重複度の大小関係を証明する。対角化可能性の判定条件と主成分分析への応用まで扱う。
> https://rikai.mugen-giken.com/mathematics/linear-algebra/eigenvalues

## 0. この記事の要点

- 線形変換 $T$ に対して $T\boldsymbol{v} = \lambda\boldsymbol{v}$ かつ $\boldsymbol{v} \ne \boldsymbol{0}$ を満たす $\lambda$ を固有値、$\boldsymbol{v}$ を固有ベクトルといいます。固有ベクトルは「変換しても乗っている直線から出ていかない方向」であり、複雑な変換を単なる伸縮として読むための座標軸の候補です。
- $\lambda$ が固有値であることと、$A - \lambda I$ が正則でないこと、すなわち特性方程式 $\det(\lambda I - A) = 0$ が成り立つことは同値です。これにより固有値を求める問題は多項式の根を求める問題に翻訳されます。
- 特性多項式は相似変換で不変です。その系として、トレースと行列式は基底の取り方によらない量であり、それぞれ固有値の総和・総積に一致します。
- 固有値 $\lambda$ の固有空間 $W_\lambda = \ker(A - \lambda I)$ は部分空間です。相異なる固有値に属する固有ベクトルは一次独立であり、固有空間の和は常に直和になります。
- 幾何学的重複度 $\dim W_\lambda$ は代数的重複度以下です。すべての固有値でこれが等号になり、かつ特性多項式が一次式の積に分解することが、対角化可能であることと同値です。
- せん断行列はこの不等式が真の不等号になる最小の例で、対角化できません。ここからジョルダン標準形の必要性が生まれます。

## 1. 動機 — 行列を見ても「何をする変換か」がわからない

行列 $A$ を与えられたとき、それがどういう変換なのかを言い当てるのは、一般には難しいことです。たとえば

$$
A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}, \qquad
B = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}
$$

の二つを見比べてください。$B$ については一瞬でわかります。横方向に $3$ 倍、縦方向に $1$ 倍に引き伸ばす変換です。一方 $A$ については、成分を眺めても何が起きるのかはっきりしません。ところが実は、この二つは「同じ変換を違う物差しで書いたもの」です。$\boldsymbol{p}_1 = (1,1)^{\mathsf{T}}$、$\boldsymbol{p}_2 = (1,-1)^{\mathsf{T}}$ という斜めの座標軸を使えば、$A$ は $\boldsymbol{p}_1$ 方向に $3$ 倍、$\boldsymbol{p}_2$ 方向に $1$ 倍する変換にほかなりません。実際、

$$
A\boldsymbol{p}_1 = \begin{pmatrix} 3 \\ 3 \end{pmatrix} = 3\boldsymbol{p}_1, \qquad
A\boldsymbol{p}_2 = \begin{pmatrix} 1 \\ -1 \end{pmatrix} = 1\cdot\boldsymbol{p}_2
$$

が成り立ちます。$A$ が難しく見えたのは、標準基底 $\boldsymbol{e}_1, \boldsymbol{e}_2$ がこの変換にとって「よい物差し」ではなかったからです。

そこで、次の問いを立てます。**与えられた線形変換に対して、その変換を対角行列として書けるような基底はあるか。あるとすればどう見つけるか。** 対角行列で書けるということは、各基底ベクトルが変換によって定数倍されるだけ、ということです。つまり探すべきは「変換しても向きが変わらないベクトル」であり、その定数倍の比率がわかれば変換は完全に記述できます。これが固有値・固有ベクトルという概念の出発点です。

この問いは、抽象的な整理欲から出てきたのではありません。18 世紀、オイラーは二次曲面の主軸を求める問題で、ラグランジュとラプラスは惑星軌道の長期的なずれ（永年摂動）を調べる問題で、いずれも「ある行列の対角化」に相当する計算に到達しました。当時この方程式は永年方程式（secular equation）と呼ばれ、現在の特性方程式にあたります。19 世紀にはコーシーが対称行列の固有値がすべて実数であることを示し、20 世紀初頭にヒルベルトが積分方程式の研究のなかで Eigenwert（固有値）という語を用いたことで、この呼び名が定着しました。

現代でも、固有値は「変換の核心」を取り出す道具として至るところに現れます。漸化式 $\boldsymbol{x}_{k+1} = A\boldsymbol{x}_k$ の長期的な振る舞いは $A$ の固有値の絶対値で決まりますし、微分方程式系 $\dot{\boldsymbol{x}} = A\boldsymbol{x}$ の安定性は固有値の実部で決まります。データ解析における主成分分析は、共分散行列の固有ベクトルを「データが最も広がっている方向」として取り出す手続きです。<Ref to="ex-fibonacci" /> と <Ref to="ex-pca" /> で、この二つを最後まで計算して見せます。

<div data-gated data-pagefind-ignore>

## 2. 準備 — 記号と前提

以下、$K$ は体を表し、具体的には $\mathbb{R}$ または $\mathbb{C}$ だと思って読んで構いません。ただし「どちらの体で考えているか」が本質的に効く場面があるので、体は明示します。$V$ は $K$ 上の有限次元ベクトル空間で、$\dim V = n \ge 1$ とします。$M_n(K)$ で $K$ 成分の $n$ 次正方行列全体を、$I$（必要なら $I_n$）で単位行列を表します。ベクトルは $\boldsymbol{v}$、行列は $A$、転置は $A^{\mathsf{T}}$ と書きます。

線形変換 $T : V \to V$ と $V$ の基底 $\mathcal{B} = (\boldsymbol{b}_1,\ldots,\boldsymbol{b}_n)$ が与えられると、表現行列 $A \in M_n(K)$ が定まります。基底を $\mathcal{B}'$ に取り替えると表現行列は $P^{-1}AP$ に変わります（$P$ は基底変換行列。<Ref to="mathematics/linear-algebra/matrices-and-linear-systems#thm-change-of-basis" text="表現行列の変換則" /> を参照）。この関係を相似といいます。詳しくは [ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) を参照してください。

証明で繰り返し使う既知の事実を挙げておきます。いずれも [行列と連立一次方程式](/mathematics/linear-algebra/matrices-and-linear-systems) と [行列式とその性質](/mathematics/linear-algebra/determinants) の内容です。

1. **次元定理**: 線形写像 $S : V \to V$ について $\dim \ker S + \dim \operatorname{im} S = \dim V$（<Ref to="mathematics/linear-algebra/vector-spaces#thm-rank-nullity" text="次元定理" />）。とくに有限次元では、$S$ が単射であることと全射であること、正則であることは同値です。
2. **行列式の乗法性**: $\det(AB) = \det A \cdot \det B$（<Ref to="mathematics/linear-algebra/determinants#thm-product" text="積の定理" />）。また $A$ が正則なら $\det(A^{-1}) = (\det A)^{-1}$。
3. **正則性の判定**: $A$ が正則であることと $\det A \ne 0$ は同値（<Ref to="mathematics/linear-algebra/determinants#thm-regular" text="正則性の判定" />）。同値な言い換えとして、$A\boldsymbol{x} = \boldsymbol{0}$ が非自明解を持つことと $\det A = 0$ は同値です。
4. **三角行列の行列式**: 上三角行列（下三角行列）の行列式は対角成分の積です（<Ref to="mathematics/linear-algebra/determinants#prop-basic" text="転置不変性と三角行列" />）。
5. **ブロック三角行列の行列式**: $X$ を $r$ 次、$Z$ を $s$ 次の正方行列、$Y$ を $r \times s$ 行列、$O$ を $s \times r$ 零行列とすると、$\det \begin{pmatrix} X & Y \\ O & Z \end{pmatrix} = \det X \cdot \det Z$ が成り立ちます。
6. **転置不変性**: $\det(A^{\mathsf{T}}) = \det A$。

## 3. 固有値と固有ベクトル

<Definition id="def-eigen" title="固有値と固有ベクトル">
$V$ を体 $K$ 上のベクトル空間、$T : V \to V$ を線形変換とする。スカラー $\lambda \in K$ とベクトル $\boldsymbol{v} \in V$ が

$$
T\boldsymbol{v} = \lambda \boldsymbol{v}, \qquad \boldsymbol{v} \ne \boldsymbol{0}
$$

を満たすとき、$\lambda$ を $T$ の**固有値**、$\boldsymbol{v}$ を固有値 $\lambda$ に属する**固有ベクトル**という。行列 $A \in M_n(K)$ に対しては、$T(\boldsymbol{x}) = A\boldsymbol{x}$ で定まる $K^n$ 上の線形変換の固有値・固有ベクトルを、$A$ の固有値・固有ベクトルという。
</Definition>

定義のうち二つの条件について、それぞれなぜそうなっているのかを確認しておきます。

<Remark id="rem-nonzero" title="なぜ v ≠ 0 を課し、λ = 0 は許すのか">
$\boldsymbol{v} = \boldsymbol{0}$ を許すと、任意の $\lambda \in K$ に対して $T\boldsymbol{0} = \boldsymbol{0} = \lambda\boldsymbol{0}$ が成り立ってしまい、すべてのスカラーが固有値になります。これでは何の情報も持たない概念になるので、固有ベクトルには $\boldsymbol{v} \ne \boldsymbol{0}$ を要求します。

一方、$\lambda = 0$ は排除しません。$0$ が固有値であるとは、$T\boldsymbol{v} = \boldsymbol{0}$ を満たす $\boldsymbol{v} \ne \boldsymbol{0}$ が存在すること、すなわち $\ker T \ne \{\boldsymbol{0}\}$ ということです。準備 1 の次元定理より、これは $T$ が正則でないことと同値です。つまり「$0$ が固有値かどうか」は「その変換が情報を潰しているかどうか」を測っており、意味のある情報です。

なお、$\boldsymbol{v}$ が $\lambda$ に属する固有ベクトルなら、任意の $c \ne 0$ について $c\boldsymbol{v}$ も同じ $\lambda$ に属する固有ベクトルです（$T(c\boldsymbol{v}) = cT\boldsymbol{v} = c\lambda\boldsymbol{v} = \lambda(c\boldsymbol{v})$）。固有ベクトルは一意に決まらず、決まるのは「方向」（正確には直線、さらに一般には固有空間）であることに注意してください。
</Remark>

<Figure caption="行列 A（第 1 行 2, 1 / 第 2 行 1, 2）の作用。左：一般のベクトルは変換で向きが変わる。右：固有ベクトル (1,1) は同じ直線上に留まり、長さが 3 倍になるだけ。">
<svg viewBox="0 0 560 300" width="100%" role="img" aria-label="一般のベクトルは変換で向きが変わるが、固有ベクトルは同じ直線上に留まることを示す図">
  <defs>
    <marker id="ev-head" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse" fill="currentColor">
      <path d="M 0 0 L 10 5 L 0 10 z" />
    </marker>
    <marker id="ev-head-accent" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse" fill="var(--sl-color-accent)">
      <path d="M 0 0 L 10 5 L 0 10 z" />
    </marker>
  </defs>

  <text x="140" y="30" text-anchor="middle" font-size="14" fill="currentColor" opacity="0.85">一般の方向：向きが変わる</text>
  <g stroke="currentColor" opacity="0.35" stroke-width="1">
    <line x1="35" y1="210" x2="250" y2="210" />
    <line x1="140" y1="278" x2="140" y2="52" />
  </g>
  <g stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none">
    <line x1="140" y1="210" x2="171" y2="210" marker-end="url(#ev-head)" />
    <line x1="140" y1="210" x2="206" y2="179" marker-end="url(#ev-head)" />
  </g>
  <text x="172" y="234" text-anchor="middle" font-size="15" fill="currentColor">v</text>
  <text x="216" y="168" text-anchor="middle" font-size="15" fill="currentColor">Av</text>

  <text x="420" y="30" text-anchor="middle" font-size="14" fill="currentColor" opacity="0.85">固有方向：直線から出ない</text>
  <g stroke="currentColor" opacity="0.35" stroke-width="1">
    <line x1="300" y1="215" x2="545" y2="215" />
    <line x1="400" y1="283" x2="400" y2="52" />
  </g>
  <line x1="365" y1="250" x2="530" y2="85" stroke="var(--sl-color-accent)" stroke-width="1.4" stroke-dasharray="6 5" opacity="0.7" />
  <g stroke="var(--sl-color-accent)" stroke-width="2.4" stroke-linecap="round" fill="none">
    <line x1="400" y1="215" x2="432" y2="183" marker-end="url(#ev-head-accent)" />
    <line x1="400" y1="215" x2="501" y2="114" marker-end="url(#ev-head-accent)" />
  </g>
  <text x="452" y="196" text-anchor="middle" font-size="15" fill="var(--sl-color-accent)">u</text>
  <text x="496" y="102" text-anchor="end" font-size="15" fill="var(--sl-color-accent)">Au = 3u</text>
</svg>
</Figure>

さて、定義は「そういう $\lambda$ と $\boldsymbol{v}$ が存在すれば」という形をしています。これでは探し方がわかりません。存在条件を、計算できる形に翻訳しましょう。

<Proposition id="prop-eigen-criterion" title="固有値の判定条件">
$A \in M_n(K)$ と $\lambda \in K$ について、次の三つは同値である。

1. $\lambda$ は $A$ の固有値である。
2. 行列 $A - \lambda I$ は正則でない。
3. $\det(\lambda I - A) = 0$。
</Proposition>

<Proof of="prop-eigen-criterion">
まず 1 と 2 の同値性を示します。$\lambda$ が $A$ の固有値であるとは、<Ref to="def-eigen" /> より $A\boldsymbol{v} = \lambda\boldsymbol{v}$ を満たす $\boldsymbol{v} \ne \boldsymbol{0}$ が存在することです。この式は移項して

$$
A\boldsymbol{v} - \lambda\boldsymbol{v} = (A - \lambda I)\boldsymbol{v} = \boldsymbol{0}
$$

と書き直せます（$\lambda \boldsymbol{v} = \lambda I \boldsymbol{v}$ を使いました）。したがって「$\lambda$ が固有値である」ことは「斉次連立一次方程式 $(A - \lambda I)\boldsymbol{x} = \boldsymbol{0}$ が非自明解を持つ」ことと同じです。これは $\ker(A - \lambda I) \ne \{\boldsymbol{0}\}$、すなわち $A - \lambda I$ が単射でないことを意味します。準備 1 の次元定理より、有限次元では単射でないことと正則でないことは同値です。よって 1 と 2 は同値です。

次に 2 と 3 の同値性ですが、これは準備 3 の正則性判定そのものです。$A - \lambda I$ が正則でないことと $\det(A - \lambda I) = 0$ は同値であり、さらに $\lambda I - A = -(A - \lambda I)$ なので、行列式の $n$ 重線形性から

$$
\det(\lambda I - A) = (-1)^n \det(A - \lambda I)
$$

となります。$(-1)^n \ne 0$ なので、一方が $0$ であることと他方が $0$ であることは同値です。
</Proof>

この命題の意味は大きいです。固有値の定義は「うまいベクトルが存在するか」という探索問題ですが、<Ref to="prop-eigen-criterion" /> の条件 3 は $\lambda$ についての一本の方程式です。つまり固有値を求める問題が、方程式を解く問題に完全に置き換わりました。しかも左辺は、次節で見るように $\lambda$ の多項式になります。

<Example id="ex-symmetric" title="2 次の対称行列を最後まで解く">
冒頭の $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ を、定義から計算してみます。$K = \mathbb{R}$ とします。<Ref to="prop-eigen-criterion" /> より

$$
\det(\lambda I - A) = \det \begin{pmatrix} \lambda - 2 & -1 \\ -1 & \lambda - 2 \end{pmatrix}
= (\lambda-2)^2 - 1 = \lambda^2 - 4\lambda + 3 = (\lambda - 1)(\lambda - 3).
$$

よって固有値は $\lambda = 1, 3$ の二つです。

$\lambda = 3$ のとき、$(A - 3I)\boldsymbol{x} = \boldsymbol{0}$ を解きます。

$$
A - 3I = \begin{pmatrix} -1 & 1 \\ 1 & -1 \end{pmatrix}, \qquad
\begin{cases} -x_1 + x_2 = 0 \\ \phantom{-}x_1 - x_2 = 0 \end{cases}
$$

二つの式は同値で、$x_1 = x_2$ が解です。したがって解空間は $\{ c(1,1)^{\mathsf{T}} : c \in \mathbb{R} \}$ であり、$\boldsymbol{p}_1 = (1,1)^{\mathsf{T}}$ が固有ベクトルです。検算すると $A\boldsymbol{p}_1 = (2+1, 1+2)^{\mathsf{T}} = (3,3)^{\mathsf{T}} = 3\boldsymbol{p}_1$ で正しいことが確かめられます。

$\lambda = 1$ のとき、

$$
A - I = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}, \qquad x_1 + x_2 = 0
$$

より解空間は $\{ c(1,-1)^{\mathsf{T}} \}$ で、$\boldsymbol{p}_2 = (1,-1)^{\mathsf{T}}$ が固有ベクトルです。検算は $A\boldsymbol{p}_2 = (2-1, 1-2)^{\mathsf{T}} = (1,-1)^{\mathsf{T}} = 1 \cdot \boldsymbol{p}_2$ です。

ここで $P = (\boldsymbol{p}_1 \; \boldsymbol{p}_2) = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$ と置くと $\det P = -2 \ne 0$ で正則、しかも

$$
AP = \begin{pmatrix} 3 & 1 \\ 3 & -1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix} = P \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}
$$

なので、$P^{-1}AP = \operatorname{diag}(3,1)$ です。§1 で述べた「$A$ と $B$ は同じ変換」という主張が、これで証明されました。
</Example>

## 4. 特性多項式

<Definition id="def-charpoly" title="特性多項式">
$A \in M_n(K)$ に対し、変数 $t$ の多項式

$$
\varphi_A(t) := \det(t I - A)
$$

を $A$ の**特性多項式**という。方程式 $\varphi_A(t) = 0$ を**特性方程式**という。
</Definition>

<Remark id="rem-sign" title="符号の流儀について">
文献によっては $\det(A - tI)$ を特性多項式と定義します。<Ref to="prop-eigen-criterion" /> の証明で見たように両者は $(-1)^n$ 倍しか違わないので、根（＝固有値）はまったく同じです。この記事では $\det(tI - A)$ を採用します。こう定めておくと最高次の係数が $1$（モニック）になり、後で係数と固有値の関係を書くときに符号が扱いやすくなるからです。

なお、$\det(tI - A)$ は $t$ を不定元とする多項式環 $K[t]$ の元として定義されています。行列式のライプニッツ展開

$$
\det(M) = \sum_{\sigma \in S_n} \operatorname{sgn}(\sigma) \prod_{i=1}^{n} m_{i\,\sigma(i)}
$$

は成分の多項式なので、成分が $t$ の多項式なら結果も $t$ の多項式になります。$K = \mathbb{R}, \mathbb{C}$ の場合は、$t$ に数値を代入する関数だと思って読んでも支障ありません。
</Remark>

<Proposition id="prop-charpoly" title="特性多項式の次数と係数">
$A = (a_{ij}) \in M_n(K)$ とする。$\varphi_A(t)$ は $t$ についてモニックな $n$ 次多項式であり、

$$
\varphi_A(t) = t^n - (\operatorname{tr} A)\, t^{n-1} + c_{n-2}t^{n-2} + \cdots + c_1 t + (-1)^n \det A
$$

の形をしている。ここで $\operatorname{tr} A = \sum_{i=1}^{n} a_{ii}$ は $A$ のトレース（対角和）であり、$c_{n-2},\ldots,c_1 \in K$ は $A$ の成分から定まるスカラーである。
</Proposition>

<Proof of="prop-charpoly">
$M = tI - A$ と置きます。その成分は $m_{ii} = t - a_{ii}$、$i \ne j$ のとき $m_{ij} = -a_{ij}$ です。ライプニッツ展開

$$
\varphi_A(t) = \sum_{\sigma \in S_n} \operatorname{sgn}(\sigma) \prod_{i=1}^{n} m_{i\,\sigma(i)}
$$

の各項を、$t$ の次数で分類します。

恒等置換 $\sigma = \mathrm{id}$ の項は $\prod_{i=1}^{n}(t - a_{ii})$ で、これは $n$ 次です。

$\sigma \ne \mathrm{id}$ の項を考えます。$\sigma$ が恒等置換でないなら、$\sigma(i) \ne i$ となる $i$ が存在します。しかも置換は全単射なので、そのような $i$ は少なくとも 2 個あります。実際、$\sigma(i_0) \ne i_0$ となる $i_0$ を一つ取り、$j_0 = \sigma(i_0)$ と置けば $j_0 \ne i_0$ であり、$\sigma$ が単射だから $\sigma(j_0) \ne \sigma(i_0) = j_0$、つまり $j_0$ も動く添字です。したがって積 $\prod_i m_{i\,\sigma(i)}$ のうち $t$ を含みうる因子（対角成分の因子）は高々 $n - 2$ 個であり、この項の次数は $n-2$ 以下です。

以上より、$t^n$ と $t^{n-1}$ の係数は恒等置換の項だけから決まります。$\prod_{i=1}^{n}(t - a_{ii})$ を展開すると、$t^n$ の係数は $1$、$t^{n-1}$ の係数は $-\sum_{i=1}^{n} a_{ii} = -\operatorname{tr} A$ です（$n-1$ 個の因子から $t$ を、残り 1 個から $-a_{ii}$ を選ぶ選び方が $n$ 通りあり、それらの和になります）。これでモニック性と $t^{n-1}$ の係数が示せました。

定数項は $\varphi_A(0)$ です。$\varphi_A(0) = \det(0 \cdot I - A) = \det(-A)$ であり、$-A$ は $A$ の各行を $-1$ 倍したものなので、行列式の行に関する線形性を $n$ 回使って $\det(-A) = (-1)^n \det A$ を得ます。
</Proof>

<Theorem id="thm-similar-invariant" title="特性多項式と固有空間の相似不変性">
$A \in M_n(K)$、$P \in M_n(K)$ を正則行列とし、$B = P^{-1}AP$ と置く。このとき

1. $\varphi_B(t) = \varphi_A(t)$。とくに $\operatorname{tr} B = \operatorname{tr} A$ かつ $\det B = \det A$。
2. 任意の $\lambda \in K$ について、写像 $\boldsymbol{v} \mapsto P^{-1}\boldsymbol{v}$ は $\ker(A - \lambda I)$ から $\ker(B - \lambda I)$ への同型を与える。とくに $\dim \ker(A - \lambda I) = \dim \ker(B - \lambda I)$。
</Theorem>

<Proof of="thm-similar-invariant">
**1 の証明。** $P^{-1}(tI)P = tI$ に注意すると

$$
tI - B = tI - P^{-1}AP = P^{-1}(tI)P - P^{-1}AP = P^{-1}(tI - A)P
$$

です。準備 2 の行列式の乗法性を 2 回使って

$$
\varphi_B(t) = \det\bigl(P^{-1}(tI-A)P\bigr) = \det(P^{-1})\det(tI-A)\det(P) = \det(P)^{-1}\det(P)\,\varphi_A(t) = \varphi_A(t)
$$

を得ます。特性多項式が一致すれば、その $t^{n-1}$ の係数と定数項も一致します。<Ref to="prop-charpoly" /> によりこれらはそれぞれ $-\operatorname{tr}$ と $(-1)^n \det$ なので、トレースと行列式も一致します。

**2 の証明。** $\boldsymbol{v} \in \ker(A - \lambda I)$、すなわち $A\boldsymbol{v} = \lambda\boldsymbol{v}$ とします。$\boldsymbol{w} = P^{-1}\boldsymbol{v}$ と置くと

$$
B\boldsymbol{w} = P^{-1}AP P^{-1}\boldsymbol{v} = P^{-1}A\boldsymbol{v} = P^{-1}(\lambda \boldsymbol{v}) = \lambda P^{-1}\boldsymbol{v} = \lambda\boldsymbol{w}
$$

なので $\boldsymbol{w} \in \ker(B - \lambda I)$ です。よって $\boldsymbol{v} \mapsto P^{-1}\boldsymbol{v}$ は $\ker(A-\lambda I) \to \ker(B - \lambda I)$ を定めます。これは線形写像であり、$\boldsymbol{w} \mapsto P\boldsymbol{w}$ が逆写像を与える（$A = PBP^{-1}$ に注意して、同じ計算を $A$ と $B$、$P$ と $P^{-1}$ の役割を入れ替えて行えばよい）ので同型です。同型なら次元は等しくなります。
</Proof>

この定理により、線形変換 $T : V \to V$ に対して「$T$ の特性多項式」を定義できます。基底を一つ選んで表現行列 $A$ を取り、$\varphi_T := \varphi_A$ と定めるのです。別の基底を選べば表現行列は $P^{-1}AP$ に変わりますが、<Ref to="thm-similar-invariant" /> の 1 によりこれは同じ多項式を与えるので、定義は基底の選び方によりません。トレースと行列式が「行列の量」ではなく「変換そのものの量」だと言えるのも、この定理のおかげです。

<Corollary id="cor-trace-det" title="固有値の総和と総積">
$A \in M_n(K)$ の特性多項式が $K$ 上で一次式の積に分解し、

$$
\varphi_A(t) = (t - \lambda_1)(t - \lambda_2)\cdots(t - \lambda_n)
$$

と書けたとする（$\lambda_i$ は重複を許して並べる）。このとき

$$
\sum_{i=1}^{n} \lambda_i = \operatorname{tr} A, \qquad \prod_{i=1}^{n} \lambda_i = \det A .
$$

</Corollary>

<Proof of="cor-trace-det">
右辺を展開します。$\prod_{i=1}^n (t - \lambda_i)$ の $t^{n-1}$ の係数は、$n-1$ 個の因子から $t$ を、残り 1 個から $-\lambda_i$ を選ぶ和なので $-\sum_i \lambda_i$ です。また定数項は各因子から $-\lambda_i$ を選んだ積 $\prod_i(-\lambda_i) = (-1)^n\prod_i \lambda_i$ です。

一方 <Ref to="prop-charpoly" /> より、$\varphi_A(t)$ の $t^{n-1}$ の係数は $-\operatorname{tr}A$、定数項は $(-1)^n\det A$ です。同じ多項式の係数どうしを比較して、$-\sum_i\lambda_i = -\operatorname{tr}A$ および $(-1)^n \prod_i \lambda_i = (-1)^n \det A$ を得ます。両辺を整理すれば主張が従います。
</Proof>

<Aside type="tip">
この系は計算の検算に非常に役立ちます。$2$ 次や $3$ 次の行列の固有値を求めたら、和がトレースに、積が行列式に一致するかを必ず確かめてください。<Ref to="ex-symmetric" /> なら $1 + 3 = 4 = \operatorname{tr}A$、$1 \times 3 = 3 = \det A$ で合っています。
</Aside>

<Corollary id="cor-existence-complex" title="固有値の存在">
$n \ge 1$ とする。

1. 任意の $A \in M_n(\mathbb{C})$ は少なくとも一つの固有値を持つ。
2. $n$ が奇数ならば、任意の $A \in M_n(\mathbb{R})$ は少なくとも一つの実固有値を持つ。
</Corollary>

<Proof of="cor-existence-complex">
**1.** <Ref to="prop-charpoly" /> より $\varphi_A$ は次数 $n \ge 1$ の複素係数多項式です。代数学の基本定理より、次数 $1$ 以上の複素係数多項式は $\mathbb{C}$ に根を持つので、$\varphi_A(\lambda) = 0$ を満たす $\lambda \in \mathbb{C}$ が存在します。<Ref to="prop-eigen-criterion" /> よりこの $\lambda$ は $A$ の固有値です。

**2.** $\varphi_A$ は実係数のモニックな $n$ 次多項式で、$n$ は奇数です。$t \to +\infty$ のとき $\varphi_A(t) \to +\infty$、$t \to -\infty$ のとき $\varphi_A(t) \to -\infty$ です（最高次の項 $t^n$ が支配し、$n$ が奇数だから符号が反転します）。$\varphi_A$ は多項式なので $\mathbb{R}$ 上連続であり、中間値の定理より $\varphi_A(\lambda) = 0$ となる $\lambda \in \mathbb{R}$ が存在します。
</Proof>

<Example id="ex-triangular" title="三角行列の固有値は対角成分">
$A = (a_{ij})$ が上三角行列（$i > j$ のとき $a_{ij} = 0$）だとします。すると $tI - A$ も上三角行列で、その対角成分は $t - a_{11}, \ldots, t - a_{nn}$ です。準備 4 より

$$
\varphi_A(t) = \prod_{i=1}^{n} (t - a_{ii})
$$

なので、固有値はちょうど対角成分 $a_{11},\ldots,a_{nn}$（重複を含む）です。たとえば

$$
A = \begin{pmatrix} 5 & 7 & -2 \\ 0 & 5 & 3 \\ 0 & 0 & -1 \end{pmatrix}
$$

の固有値は $5, 5, -1$ です。

ここで強調しておきたいのは、**これは三角行列に限った話だ**ということです。一般の行列では対角成分と固有値は無関係です。反例として $A = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ を取ると、対角成分はどちらも $0$ ですが、$\varphi_A(t) = t^2 - 1 = (t-1)(t+1)$ なので固有値は $\pm 1$ です。$0$ は固有値ではありません（実際この行列は正則で、$\det A = -1 \ne 0$ です）。
</Example>

<Example id="ex-rotation" title="回転行列 — 体を変えると固有値が現れる">
平面の角 $\theta$ の回転を表す行列

$$
R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}
$$

を考えます。特性多項式は

$$
\varphi_{R_\theta}(t) = \det\begin{pmatrix} t - \cos\theta & \sin\theta \\ -\sin\theta & t - \cos\theta\end{pmatrix} = (t-\cos\theta)^2 + \sin^2\theta = t^2 - 2(\cos\theta) t + 1
$$

です。判別式は $4\cos^2\theta - 4 = -4\sin^2\theta$ なので、$\sin\theta \ne 0$、すなわち $\theta$ が $\pi$ の整数倍でないとき、これは負になります。したがって **$K = \mathbb{R}$ では $R_\theta$ に固有値は存在しません**。幾何学的には当然です。原点を通るどの直線も、$0$ でも $\pi$ でもない角だけ回されれば元の直線からずれてしまうので、「向きが変わらない方向」は存在しません。

ところが $K = \mathbb{C}$ で考えると話が変わります。根は

$$
t = \cos\theta \pm i\sin\theta = e^{\pm i\theta}
$$

です。$\lambda = e^{i\theta}$ に属する固有ベクトルを求めましょう。$(R_\theta - \lambda I)\boldsymbol{x} = \boldsymbol{0}$ の第 1 行は

$$
(\cos\theta - e^{i\theta})x_1 - \sin\theta \, x_2 = -i\sin\theta \, x_1 - \sin\theta\, x_2 = 0
$$

で、$\sin\theta \ne 0$ で割って $x_2 = -i x_1$ を得ます。よって $\boldsymbol{v} = (1, -i)^{\mathsf{T}}$ が固有ベクトルです。検算として第 2 行を確認すると

$$
\sin\theta \cdot 1 + (\cos\theta - e^{i\theta})(-i) = \sin\theta + (-i\sin\theta)(-i) = \sin\theta + i^2 \sin\theta = 0
$$

で、確かに満たされています。同様に $\lambda = e^{-i\theta}$ には $(1, i)^{\mathsf{T}}$ が属します。

この例が示すのは、**固有値は行列だけでなく、係数体とセットで決まる**ということです。<Ref to="cor-existence-complex" /> が $\mathbb{C}$ でしか一般に主張できない理由も、ここにあります。
</Example>

## 5. 固有空間と一次独立性

固有ベクトルは定数倍の自由度を持つので、個々のベクトルではなく集合として扱うほうが自然です。

<Definition id="def-eigenspace" title="固有空間">
$A \in M_n(K)$ と $\lambda \in K$ に対し、

$$
W_\lambda := \ker(A - \lambda I) = \{ \boldsymbol{x} \in K^n : A\boldsymbol{x} = \lambda\boldsymbol{x} \}
$$

を $\lambda$ に対する**固有空間**という。線形変換 $T$ についても同様に $W_\lambda = \ker(T - \lambda\,\mathrm{id}_V)$ と定める。
</Definition>

$W_\lambda$ は線形写像 $A - \lambda I$ の核なので、$K^n$ の部分空間です。念のため確認しておくと、$\boldsymbol{x}, \boldsymbol{y} \in W_\lambda$ と $c \in K$ に対し $A(\boldsymbol{x} + c\boldsymbol{y}) = A\boldsymbol{x} + cA\boldsymbol{y} = \lambda\boldsymbol{x} + c\lambda\boldsymbol{y} = \lambda(\boldsymbol{x} + c\boldsymbol{y})$ なので $\boldsymbol{x} + c\boldsymbol{y} \in W_\lambda$ です。

$W_\lambda$ は $\boldsymbol{0}$ を含みますが、$\boldsymbol{0}$ は固有ベクトルではありません。整理すると、

$$
\lambda \text{ が } A \text{ の固有値} \iff W_\lambda \ne \{\boldsymbol{0}\} \iff \dim W_\lambda \ge 1
$$

であり、このとき $W_\lambda$ から $\boldsymbol{0}$ を除いたものが「$\lambda$ に属する固有ベクトル全体」です。$\boldsymbol{0}$ を仲間に入れておくと部分空間になって扱いやすい、というのが $W_\lambda$ の定義に $\boldsymbol{0}$ を含める理由です。

実用上は、$W_\lambda$ を求めることは連立一次方程式 $(A - \lambda I)\boldsymbol{x} = \boldsymbol{0}$ の解空間を求めることであり、掃き出し法で機械的に計算できます。次元は次元定理から

$$
\dim W_\lambda = n - \operatorname{rank}(A - \lambda I)
$$

で求まります。

固有空間の最も重要な性質は、異なる固有値の固有空間が「重ならない」ことです。

<Theorem id="thm-independence" title="相異なる固有値に属する固有ベクトルの一次独立性">
$A \in M_n(K)$ とし、$\lambda_1, \ldots, \lambda_k \in K$ を**互いに相異なる** $A$ の固有値、$\boldsymbol{v}_i$ を $\lambda_i$ に属する固有ベクトル（$i = 1,\ldots,k$）とする。このとき $\boldsymbol{v}_1, \ldots, \boldsymbol{v}_k$ は一次独立である。
</Theorem>

<Proof of="thm-independence">
$k$ についての数学的帰納法で示します（帰納法の形式については [証明の技術](/mathematics/foundations/proof-techniques) を参照してください）。

**$k = 1$ の場合。** 固有ベクトルの定義（<Ref to="def-eigen" />）より $\boldsymbol{v}_1 \ne \boldsymbol{0}$ なので、$c_1\boldsymbol{v}_1 = \boldsymbol{0}$ ならば $c_1 = 0$ です。よって一次独立です。

**帰納段階。** $k - 1$ 個の場合に主張が成り立つと仮定し、$k$ 個の場合を示します。スカラー $c_1,\ldots,c_k \in K$ が

$$
c_1\boldsymbol{v}_1 + c_2\boldsymbol{v}_2 + \cdots + c_k\boldsymbol{v}_k = \boldsymbol{0}
$$

を満たすとします。この両辺に行列 $A - \lambda_k I$ を左から掛けます。各項について、$A\boldsymbol{v}_i = \lambda_i \boldsymbol{v}_i$ を使うと

$$
(A - \lambda_k I)(c_i \boldsymbol{v}_i) = c_i(A\boldsymbol{v}_i - \lambda_k \boldsymbol{v}_i) = c_i(\lambda_i - \lambda_k)\boldsymbol{v}_i
$$

です。$i = k$ の項は $c_k(\lambda_k - \lambda_k)\boldsymbol{v}_k = \boldsymbol{0}$ となって消えます。右辺は $(A - \lambda_k I)\boldsymbol{0} = \boldsymbol{0}$ です。したがって

$$
c_1(\lambda_1 - \lambda_k)\boldsymbol{v}_1 + \cdots + c_{k-1}(\lambda_{k-1} - \lambda_k)\boldsymbol{v}_{k-1} = \boldsymbol{0}
$$

を得ます。ここで $\boldsymbol{v}_1,\ldots,\boldsymbol{v}_{k-1}$ は相異なる固有値 $\lambda_1,\ldots,\lambda_{k-1}$ に属する固有ベクトルなので、帰納法の仮定によって一次独立です。よってすべての係数が $0$、すなわち

$$
c_i(\lambda_i - \lambda_k) = 0 \qquad (i = 1, \ldots, k-1)
$$

です。仮定より $\lambda_i \ne \lambda_k$（$i < k$）なので $\lambda_i - \lambda_k \ne 0$、体には零因子がないので $c_i = 0$（$i = 1,\ldots,k-1$）が従います。

これを最初の関係式に戻すと $c_k \boldsymbol{v}_k = \boldsymbol{0}$ となり、$\boldsymbol{v}_k \ne \boldsymbol{0}$ だから $c_k = 0$ です。以上ですべての $c_i$ が $0$ となり、$\boldsymbol{v}_1,\ldots,\boldsymbol{v}_k$ は一次独立です。
</Proof>

<Corollary id="cor-sum-direct" title="固有空間の和は直和">
$\lambda_1,\ldots,\lambda_k$ を $A \in M_n(K)$ の互いに相異なる固有値とすると、和 $W_{\lambda_1} + \cdots + W_{\lambda_k}$ は直和である。すなわち、$\boldsymbol{w}_i \in W_{\lambda_i}$ が $\boldsymbol{w}_1 + \cdots + \boldsymbol{w}_k = \boldsymbol{0}$ を満たすならば、すべての $i$ について $\boldsymbol{w}_i = \boldsymbol{0}$ である。とくに

$$
\dim(W_{\lambda_1} + \cdots + W_{\lambda_k}) = \sum_{i=1}^{k}\dim W_{\lambda_i} \le n .
$$

</Corollary>

<Proof of="cor-sum-direct">
$\boldsymbol{w}_i \in W_{\lambda_i}$ が $\sum_{i=1}^k \boldsymbol{w}_i = \boldsymbol{0}$ を満たすとし、$S = \{ i : \boldsymbol{w}_i \ne \boldsymbol{0}\}$ と置きます。$S \ne \emptyset$ と仮定して矛盾を導きます。

$\boldsymbol{w}_i = \boldsymbol{0}$ となる項は和に寄与しないので、$\sum_{i \in S} \boldsymbol{w}_i = \boldsymbol{0}$ です。$i \in S$ に対して $\boldsymbol{w}_i$ は $W_{\lambda_i}$ の非零元、すなわち $\lambda_i$ に属する固有ベクトルです。$\{\lambda_i\}_{i \in S}$ は互いに相異なるので、<Ref to="thm-independence" /> より $\{\boldsymbol{w}_i\}_{i \in S}$ は一次独立です。しかし $\sum_{i\in S} 1 \cdot \boldsymbol{w}_i = \boldsymbol{0}$ は、係数がすべて $1 \ne 0$ である非自明な一次関係です。これは一次独立性に矛盾します。

よって $S = \emptyset$、つまりすべての $\boldsymbol{w}_i = \boldsymbol{0}$ です。和が直和であれば次元は各項の次元の和になり、その和は $K^n$ の部分空間の次元なので $n$ 以下です。
</Proof>

<Aside type="note">
この系は「異なる固有値の固有空間は $\{\boldsymbol{0}\}$ でしか交わらない」よりずっと強い主張です。3 つ以上の部分空間では、どの 2 つも $\{\boldsymbol{0}\}$ でしか交わらないのに和が直和でない、という現象が起こりえます（平面内の相異なる 3 本の直線がその例です）。固有空間ではそれが起こらない、というのが <Ref to="cor-sum-direct" /> の内容です。
</Aside>

## 6. 二つの重複度

<Ref to="ex-triangular" /> の例では固有値 $5$ が特性多項式の二重根でした。一方、固有空間の次元も $2$ になるとは限りません。重複の数え方が二通りあり、それらが一般には一致しないことが、この節の主題です。

<Definition id="def-multiplicity" title="代数的重複度と幾何学的重複度">
$\lambda$ を $A \in M_n(K)$ の固有値とする。

- $\varphi_A(t) = (t - \lambda)^m g(t)$、$g(\lambda) \ne 0$ を満たす整数 $m \ge 1$ を $\lambda$ の**代数的重複度**といい、$m_a(\lambda)$ と書く（$K[t]$ における一意分解性から、このような $m$ と $g$ は一意に定まる）。
- $m_g(\lambda) := \dim W_\lambda$ を $\lambda$ の**幾何学的重複度**という。
</Definition>

代数的重複度は「特性方程式の根として何重か」、幾何学的重複度は「その固有値の固有方向がどれだけ豊富か」を測っています。両者は無関係ではなく、次の一方向の不等式で結ばれています。

<Theorem id="thm-mult-inequality" title="幾何学的重複度は代数的重複度以下">
$\lambda$ を $A \in M_n(K)$ の固有値とすると

$$
1 \le m_g(\lambda) \le m_a(\lambda) \le n
$$

が成り立つ。
</Theorem>

<Proof of="thm-mult-inequality">
**左端の不等式。** $\lambda$ が固有値なので、<Ref to="def-eigen" /> より非零の固有ベクトルが存在し、$W_\lambda \ne \{\boldsymbol{0}\}$、つまり $m_g(\lambda) = \dim W_\lambda \ge 1$ です。

**右端の不等式。** $\varphi_A$ は $n$ 次（<Ref to="prop-charpoly" />）で、$(t-\lambda)^{m_a(\lambda)}$ がその因子なので $m_a(\lambda) \le n$ です。

**中央の不等式。** $d = m_g(\lambda) = \dim W_\lambda$ と置きます。$W_\lambda$ の基底 $\boldsymbol{p}_1,\ldots,\boldsymbol{p}_d$ を取り、これを $K^n$ の基底

$$
\boldsymbol{p}_1, \ldots, \boldsymbol{p}_d, \boldsymbol{q}_{d+1}, \ldots, \boldsymbol{q}_n
$$

に延長します（一次独立な組は基底に延長できる、という基底の延長定理を使いました。[ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) の <Ref to="mathematics/linear-algebra/vector-spaces#prop-finite-dim-facts" text="有限次元空間の基本性質" /> を参照）。これらを列に並べた行列を $P = (\boldsymbol{p}_1 \cdots \boldsymbol{p}_d \; \boldsymbol{q}_{d+1} \cdots \boldsymbol{q}_n)$ とすると、列が基底をなすので $P$ は正則です。

$B = P^{-1}AP$ の形を調べます。$B$ の第 $j$ 列は $P^{-1}A\boldsymbol{p}_j$（$j \le d$）または $P^{-1}A\boldsymbol{q}_j$（$j > d$）です。$j \le d$ のときは $\boldsymbol{p}_j \in W_\lambda$ より $A\boldsymbol{p}_j = \lambda\boldsymbol{p}_j$ なので

$$
P^{-1}A\boldsymbol{p}_j = \lambda P^{-1}\boldsymbol{p}_j = \lambda \boldsymbol{e}_j
$$

です（$P\boldsymbol{e}_j = \boldsymbol{p}_j$ すなわち $P^{-1}\boldsymbol{p}_j = \boldsymbol{e}_j$ を使いました）。つまり $B$ の左から $d$ 本の列は $\lambda\boldsymbol{e}_1, \ldots, \lambda\boldsymbol{e}_d$ であり、$B$ はブロック上三角の形

$$
B = \begin{pmatrix} \lambda I_d & C \\ O & D \end{pmatrix}
$$

をしています（$C$ は $d \times (n-d)$、$D$ は $(n-d)$ 次正方行列、左下の $(n-d)\times d$ ブロックは零行列）。

すると $tI_n - B = \begin{pmatrix} (t-\lambda)I_d & -C \\ O & tI_{n-d} - D\end{pmatrix}$ もブロック上三角なので、準備 5 より

$$
\varphi_B(t) = \det\bigl((t-\lambda)I_d\bigr)\cdot\det(tI_{n-d} - D) = (t-\lambda)^d\,\varphi_D(t)
$$

です。$A$ と $B$ は相似なので <Ref to="thm-similar-invariant" /> の 1 より $\varphi_A(t) = \varphi_B(t) = (t-\lambda)^d\varphi_D(t)$ となり、$\varphi_A$ は $(t-\lambda)^d$ で割り切れます。代数的重複度は $(t-\lambda)$ で割り切れる最大回数（<Ref to="def-multiplicity" />）ですから、$m_a(\lambda) \ge d = m_g(\lambda)$ を得ます。
</Proof>

<Example id="ex-shear" title="せん断行列 — 不等号が真になる最小の例">

$$
A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}
$$

を考えます。これは $x$ 軸を固定し、高さ $y$ の点を横に $y$ だけずらす変換（せん断）です。$A$ は上三角なので <Ref to="ex-triangular" /> より

$$
\varphi_A(t) = (t-1)^2
$$

で、固有値は $\lambda = 1$ のみ、$m_a(1) = 2$ です。

固有空間を求めます。

$$
A - I = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}
$$

なので $(A-I)\boldsymbol{x} = \boldsymbol{0}$ は $x_2 = 0$ という 1 本の条件になり、

$$
W_1 = \{ (c, 0)^{\mathsf{T}} : c \in K \} = \operatorname{span}\{\boldsymbol{e}_1\}, \qquad m_g(1) = 1 .
$$

よって $m_g(1) = 1 < 2 = m_a(1)$ で、<Ref to="thm-mult-inequality" /> の不等号は真の不等号になりえます。$\dim W_1 = 2 - \operatorname{rank}(A - I) = 2 - 1 = 1$ と、次元定理から求めても同じです。

幾何学的にも納得できます。せん断で向きが変わらないのは $x$ 軸方向だけで、それ以外のどの方向も横に押されて傾きが変わります。固有方向が 1 本しかないので、固有ベクトルからなる基底は作れません。つまり $A$ は対角化できません。
</Example>

<Theorem id="thm-diagonalizable-criterion" title="対角化可能性の判定">
$A \in M_n(K)$ とし、$\lambda_1,\ldots,\lambda_k \in K$ を $A$ の互いに相異なる固有値のすべてとする。次の四つは同値である。

1. $A$ は $K$ 上対角化可能である。すなわち、正則行列 $P \in M_n(K)$ が存在して $P^{-1}AP$ が対角行列となる。
2. $K^n$ は $A$ の固有ベクトルからなる基底を持つ。
3. $\varphi_A(t)$ は $K$ 上で一次式の積に分解し、かつすべての $i$ について $m_g(\lambda_i) = m_a(\lambda_i)$ が成り立つ。
4. $\displaystyle\sum_{i=1}^{k} m_g(\lambda_i) = n$。
</Theorem>

<Proof of="thm-diagonalizable-criterion">
**1 と 2 の同値性。** $P$ の第 $j$ 列を $\boldsymbol{p}_j$ とし、$D = \operatorname{diag}(d_1,\ldots,d_n)$ と置きます。$P^{-1}AP = D$ は $AP = PD$ と同値であり、両辺の第 $j$ 列を比べると $A\boldsymbol{p}_j = d_j \boldsymbol{p}_j$ となります。$P$ が正則であることと、その列 $\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n$ が $K^n$ の基底をなすことは同値です。基底の元は $\boldsymbol{0}$ ではないので、各 $\boldsymbol{p}_j$ は固有値 $d_j$ に属する固有ベクトルです。逆に、固有ベクトルからなる基底 $\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n$（$A\boldsymbol{p}_j = d_j\boldsymbol{p}_j$）があれば、それを列に並べた $P$ は正則で $AP = PD$、すなわち $P^{-1}AP = D$ です。

**2 から 4。** 固有ベクトルからなる基底 $\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n$ を取ります。各 $\boldsymbol{p}_j$ はある固有値に属するので、ある $i$ について $\boldsymbol{p}_j \in W_{\lambda_i}$ です（$\lambda_1,\ldots,\lambda_k$ は固有値のすべてなので、この $i$ は必ず存在します）。$\boldsymbol{p}_j \in W_{\lambda_i}$ となる $j$ の個数を $n_i$ とすると $\sum_{i=1}^k n_i = n$ です。$W_{\lambda_i}$ に属する $n_i$ 本のベクトルは、基底の一部なので一次独立です。したがって $n_i \le \dim W_{\lambda_i} = m_g(\lambda_i)$ であり、$n = \sum_i n_i \le \sum_i m_g(\lambda_i)$ を得ます。逆向きの不等式は <Ref to="cor-sum-direct" /> の $\sum_i \dim W_{\lambda_i} \le n$ です。よって等号が成り立ちます。

**4 から 2。** 各 $W_{\lambda_i}$ の基底を取り、それらをすべて並べた組を考えます。本数は $\sum_i m_g(\lambda_i) = n$ です。この組が一次独立であることを見ます。一次関係を、各 $W_{\lambda_i}$ に属する部分ごとにまとめると $\boldsymbol{w}_1 + \cdots + \boldsymbol{w}_k = \boldsymbol{0}$（$\boldsymbol{w}_i \in W_{\lambda_i}$）の形になります。<Ref to="cor-sum-direct" /> よりすべての $\boldsymbol{w}_i = \boldsymbol{0}$ で、さらに $\boldsymbol{w}_i$ は $W_{\lambda_i}$ の基底の一次結合なので、その係数はすべて $0$ です。よって一次独立で、本数が $n = \dim K^n$ なので基底です。各元は非零の固有ベクトルなので、2 が成り立ちます。

**3 と 4 の同値性。** $\lambda_1,\ldots,\lambda_k$ は相異なるので、$(t-\lambda_1)^{m_a(\lambda_1)},\ldots,(t-\lambda_k)^{m_a(\lambda_k)}$ は $K[t]$ において互いに素です。各々が $\varphi_A$ を割り切る（<Ref to="def-multiplicity" />）ので、その積も $\varphi_A$ を割り切ります。次数を比べて

$$
\sum_{i=1}^{k} m_a(\lambda_i) \le \deg \varphi_A = n
$$

を得ます。しかも等号が成り立つことと、商が定数（モニック性より $1$）であること、すなわち $\varphi_A(t) = \prod_{i=1}^k (t-\lambda_i)^{m_a(\lambda_i)}$ が $K$ 上で一次式の積に分解することは同値です。

さて <Ref to="thm-mult-inequality" /> より各 $i$ で $m_g(\lambda_i) \le m_a(\lambda_i)$ なので

$$
\sum_{i=1}^{k} m_g(\lambda_i) \le \sum_{i=1}^{k} m_a(\lambda_i) \le n
$$

です。条件 4 はこの両端が等しいことなので、途中の不等号がすべて等号であること、つまり「各 $i$ で $m_g(\lambda_i) = m_a(\lambda_i)$」かつ「$\sum_i m_a(\lambda_i) = n$、すなわち $\varphi_A$ が一次式の積に分解する」ことと同値です。これはちょうど条件 3 です。
</Proof>

<Remark id="rem-jordan" title="対角化できないときに何をするか">
<Ref to="ex-shear" /> のせん断行列は $m_g(1) = 1 < 2 = m_a(1)$ なので、<Ref to="thm-diagonalizable-criterion" /> の条件 3 を満たさず、対角化できません。<Ref to="ex-rotation" /> の実回転行列は、そもそも $\varphi_{R_\theta}$ が $\mathbb{R}$ 上で一次式に分解しないので対角化できません（$\mathbb{C}$ 上では固有値が相異なる 2 個なので対角化できます）。

つまり対角化の障害は二種類あります。「体が足りない」場合と、「体は十分でも固有ベクトルが足りない」場合です。前者は体を $\mathbb{C}$ に広げれば解消します。後者は本質的な障害で、対角行列をあきらめ、対角成分のすぐ上に $1$ が並ぶブロックを許した標準形を使うことになります。これがジョルダン標準形であり、[対角化とジョルダン標準形](/mathematics/linear-algebra/diagonalization-and-jordan-form) の <Ref to="mathematics/linear-algebra/diagonalization-and-jordan-form#thm-jordan-existence" text="ジョルダン標準形の存在と一意性" /> で扱います。

なお、$A$ が実対称行列であれば、この二つの障害はどちらも起こりません。実対称行列は必ず実固有値のみを持ち、さらに直交行列で対角化できます。これがスペクトル定理で、[スペクトル定理](/mathematics/linear-algebra/spectral-theorem) の <Ref to="mathematics/linear-algebra/spectral-theorem#cor-real-symmetric" text="実対称行列の直交対角化" /> で証明します。<Ref to="ex-symmetric" /> と <Ref to="ex-pca" /> で対角化がうまくいくのは偶然ではなく、行列が対称だからです。
</Remark>

<Figure caption="固有値・固有空間・重複度を求める手順の全体像">
<Mermaid code={`flowchart TD
  A["行列 A が与えられる"] --> B["特性多項式 det(tI - A) を計算"]
  B --> C["特性方程式の根 = 固有値 λ1, ..., λk"]
  C --> D["根の重複度 = 代数的重複度 m_a"]
  C --> E["各 λi について (A - λi I)x = 0 を掃き出し法で解く"]
  E --> F["解空間 = 固有空間 W_λi"]
  F --> G["dim W_λi = 幾何学的重複度 m_g ≤ m_a"]
  D --> H&#123;"m_g の総和 = n か"&#125;
  G --> H
  H -- "はい" --> I["固有ベクトルの基底が取れる：対角化可能"]
  H -- "いいえ" --> J["対角化不可能：ジョルダン標準形へ"]`} />
</Figure>

## 7. 応用 — 行列のべき乗とデータの主軸

<Example id="ex-fibonacci" title="フィボナッチ数列とビネの公式">
フィボナッチ数列 $F_0 = 0$、$F_1 = 1$、$F_{k+1} = F_k + F_{k-1}$ を考えます。この漸化式は

$$
\begin{pmatrix} F_{k+1} \\ F_k \end{pmatrix}
= \begin{pmatrix} 1 & 1 \\ 1 & 0\end{pmatrix} \begin{pmatrix} F_k \\ F_{k-1}\end{pmatrix}, \qquad A := \begin{pmatrix} 1 & 1 \\ 1 & 0\end{pmatrix}
$$

とベクトルの形に書けます。したがって $\begin{pmatrix} F_{k+1} \\ F_k\end{pmatrix} = A^k \begin{pmatrix} F_1 \\ F_0 \end{pmatrix} = A^k\begin{pmatrix}1\\0\end{pmatrix}$ です。$A^k$ を求めるのに固有値を使います。

$$
\varphi_A(t) = \det\begin{pmatrix} t-1 & -1 \\ -1 & t\end{pmatrix} = t(t-1) - 1 = t^2 - t - 1
$$

なので、固有値は

$$
\phi = \frac{1+\sqrt5}{2}, \qquad \psi = \frac{1-\sqrt5}{2}
$$

です（黄金比とその共役）。相異なる 2 個の固有値があるので、<Ref to="thm-independence" /> により固有ベクトルは一次独立で、<Ref to="thm-diagonalizable-criterion" /> の条件 4 が満たされます（$m_g$ の総和が $1 + 1 = 2 = n$）。

固有ベクトルを求めます。固有値 $\lambda$（$\phi$ でも $\psi$ でもよい）に対し $(A - \lambda I)\boldsymbol{x} = \boldsymbol{0}$ の第 2 行は $x_1 - \lambda x_2 = 0$ なので、$\boldsymbol{v}_\lambda = (\lambda, 1)^{\mathsf{T}}$ が解です。第 1 行が満たされることも確認しておきます。$\lambda^2 = \lambda + 1$（$\lambda$ は $t^2 - t - 1$ の根）を使うと

$$
(1-\lambda)\lambda + 1 = \lambda - \lambda^2 + 1 = \lambda - (\lambda+1) + 1 = 0
$$

で、確かに満たされています。

初期ベクトルを固有ベクトルで展開します。$(1,0)^{\mathsf{T}} = a\boldsymbol{v}_\phi + b\boldsymbol{v}_\psi$ と置くと、第 2 成分から $a + b = 0$、第 1 成分から $a\phi + b\psi = 1$ です。$b = -a$ を代入して $a(\phi - \psi) = 1$ を得ます。$\phi - \psi = \sqrt5$ なので $a = 1/\sqrt5$、$b = -1/\sqrt5$ です。

固有ベクトルには $A^k\boldsymbol{v}_\lambda = \lambda^k \boldsymbol{v}_\lambda$ が成り立つ（$A\boldsymbol{v}_\lambda = \lambda\boldsymbol{v}_\lambda$ を $k$ 回使う）ので、

$$
\begin{pmatrix} F_{k+1} \\ F_k \end{pmatrix} = A^k\bigl(a\boldsymbol{v}_\phi + b\boldsymbol{v}_\psi\bigr) = a\phi^k \begin{pmatrix}\phi\\1\end{pmatrix} + b\psi^k\begin{pmatrix}\psi\\1\end{pmatrix}
$$

です。第 2 成分を読むと

$$
F_k = a\phi^k + b\psi^k = \frac{1}{\sqrt5}\left( \left(\frac{1+\sqrt5}{2}\right)^{k} - \left(\frac{1-\sqrt5}{2}\right)^{k} \right)
$$

が得られます。これがビネの公式です。$k = 5$ で検算すると $\phi^5 \approx 11.0902$、$\psi^5 \approx -0.0902$ なので $F_5 \approx (11.0902 + 0.0902)/2.2360 = 5$ で、確かに $F_5 = 5$ です。

$|\psi| \approx 0.618 < 1$ なので第 2 項は $k \to \infty$ で $0$ に収束します。したがって $F_k$ は $\phi^k/\sqrt5$ に漸近し、比 $F_{k+1}/F_k$ は $\phi$ に収束します。**べき乗の長期挙動は絶対値最大の固有値が支配する**という一般原理の、最も簡単な現れ方です。
</Example>

<Example id="ex-pca" title="主成分分析 — データが最も広がっている方向">
$N$ 個の $p$ 次元データ $\boldsymbol{x}_1,\ldots,\boldsymbol{x}_N \in \mathbb{R}^p$ が、平均 $\boldsymbol{0}$ になるようあらかじめ中心化されているとします。これらを行に並べた $N \times p$ 行列を $X$ とすると、共分散行列は

$$
\Sigma = \frac{1}{N} X^{\mathsf{T}} X
$$

です。単位ベクトル $\boldsymbol{u}$ の方向にデータを射影したときの分散は

$$
\frac{1}{N}\sum_{i=1}^{N} \langle \boldsymbol{x}_i, \boldsymbol{u}\rangle^2 = \frac{1}{N}\,\boldsymbol{u}^{\mathsf{T}}X^{\mathsf{T}}X\boldsymbol{u} = \boldsymbol{u}^{\mathsf{T}}\Sigma\boldsymbol{u}
$$

と書けます。主成分分析とは、この値を最大にする方向 $\boldsymbol{u}$ を探すことです。答えは「$\Sigma$ の最大固有値に属する固有ベクトル」であり、そのときの分散の値が最大固有値そのものです（<Ref to="mathematics/linear-algebra/spectral-theorem#thm-rayleigh" text="レイリー商の最大・最小" /> がこれを与えます。[スペクトル定理](/mathematics/linear-algebra/spectral-theorem) と [内積空間とグラム・シュミット直交化](/mathematics/linear-algebra/inner-product-spaces) を参照してください）。

具体的に計算します。$p = 2$、$N = 4$ で

$$
\boldsymbol{x}_1 = \begin{pmatrix}2\\1\end{pmatrix},\;
\boldsymbol{x}_2 = \begin{pmatrix}1\\2\end{pmatrix},\;
\boldsymbol{x}_3 = \begin{pmatrix}-1\\-2\end{pmatrix},\;
\boldsymbol{x}_4 = \begin{pmatrix}-2\\-1\end{pmatrix}
$$

とします。和が $\boldsymbol{0}$ なので中心化済みです。成分ごとに計算すると

$$
\sum_i x_{i1}^2 = 4+1+1+4 = 10, \quad \sum_i x_{i1}x_{i2} = 2+2+2+2 = 8, \quad \sum_i x_{i2}^2 = 1+4+4+1 = 10
$$

なので

$$
\Sigma = \frac{1}{4}\begin{pmatrix} 10 & 8 \\ 8 & 10\end{pmatrix} = \begin{pmatrix} 2.5 & 2 \\ 2 & 2.5 \end{pmatrix}
$$

です。特性多項式は

$$
\varphi_\Sigma(t) = (t - 2.5)^2 - 4 = (t - 2.5 - 2)(t - 2.5 + 2) = (t - 4.5)(t - 0.5)
$$

で、固有値は $4.5$ と $0.5$ です。$\operatorname{tr}\Sigma = 5 = 4.5 + 0.5$、$\det\Sigma = 6.25 - 4 = 2.25 = 4.5 \times 0.5$ と、<Ref to="cor-trace-det" /> による検算も合っています。

固有ベクトルは <Ref to="ex-symmetric" /> と同じ計算で、$4.5$ に対して $(1,1)^{\mathsf{T}}$、$0.5$ に対して $(1,-1)^{\mathsf{T}}$ です。長さ $1$ に正規化すると $\boldsymbol{u}_1 = (1,1)^{\mathsf{T}}/\sqrt2$、$\boldsymbol{u}_2 = (1,-1)^{\mathsf{T}}/\sqrt2$ となります。

読み取れることは次のとおりです。データは $45$ 度方向（$\boldsymbol{u}_1$）に最も広がっており、その方向の分散が $4.5$、直交方向の分散が $0.5$ です。全分散は $\operatorname{tr}\Sigma = 5$ なので、第 1 主成分だけで $4.5/5 = 90\%$ の分散を説明できます。2 次元のデータを 1 次元に落としても情報の $90\%$ が残る、というのがこの計算の意味です。

NumPy で確かめると次のようになります。

```python
import numpy as np

X = np.array([[2.0, 1.0], [1.0, 2.0], [-1.0, -2.0], [-2.0, -1.0]])
Sigma = X.T @ X / X.shape[0]

w, V = np.linalg.eigh(Sigma)   # 実対称行列用。固有値は昇順に返る
print(w)                       # [0.5 4.5]
print(V[:, -1])                # 最大固有値の固有ベクトル（符号は不定）
print(w[-1] / w.sum())         # 0.9
```

`np.linalg.eigh` は実対称行列専用の関数で、固有値を昇順に、対応する固有ベクトルを列に持つ直交行列を返します。固有ベクトルの符号（および同じ固有値が重複する場合は固有空間内での取り方）は一意でないことに注意してください。<Ref to="rem-nonzero" /> で述べた「決まるのは方向であってベクトルではない」という事情が、そのまま数値計算にも現れています。
</Example>

## 8. 演習

<Exercise id="exr-3x3" difficulty="標準">

$$
A = \begin{pmatrix} 3 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 1 & 3 \end{pmatrix}
$$

のすべての固有値、それぞれの固有空間、代数的重複度と幾何学的重複度を求めよ。また $A$ が対角化可能かどうか判定せよ。

<Solution>
特性多項式を計算します。

$$
\varphi_A(t) = \det \begin{pmatrix} t-3 & -1 & -1 \\ -1 & t-3 & -1 \\ -1 & -1 & t-3\end{pmatrix}
$$

第 2 行と第 3 行を第 1 行に加えます（行列式は変わりません）。第 1 行の各成分は $(t-3) - 1 - 1 = t-5$ になるので、第 1 行から $t-5$ をくくり出して

$$
\varphi_A(t) = (t-5)\det\begin{pmatrix} 1 & 1 & 1 \\ -1 & t-3 & -1 \\ -1 & -1 & t-3 \end{pmatrix}
$$

を得ます。次に第 1 行を第 2 行と第 3 行にそれぞれ加えると

$$
\varphi_A(t) = (t-5)\det\begin{pmatrix} 1 & 1 & 1 \\ 0 & t-2 & 0 \\ 0 & 0 & t-2 \end{pmatrix} = (t-5)(t-2)^2
$$

です（最後は上三角行列の行列式）。よって固有値は $\lambda = 5$（$m_a = 1$）と $\lambda = 2$（$m_a = 2$）です。

$\lambda = 5$ のとき、$A - 5I = \begin{pmatrix} -2 & 1 & 1 \\ 1 & -2 & 1 \\ 1 & 1 & -2\end{pmatrix}$ です。第 1 行と第 2 行を足すと $(-1,-1,2)$、これに第 3 行を足すと $\boldsymbol{0}$ になるので、3 本の行の和は $\boldsymbol{0}$、すなわち $\operatorname{rank} \le 2$ です。第 1 行と第 2 行は互いに定数倍でないので $\operatorname{rank} = 2$、したがって $\dim W_5 = 3 - 2 = 1$ です。方程式を解くと、第 1 式と第 2 式の差から $3x_1 - 3x_2 = 0$ すなわち $x_1 = x_2$、同様に $x_2 = x_3$ なので

$$
W_5 = \operatorname{span}\{(1,1,1)^{\mathsf{T}}\}, \qquad m_g(5) = 1 .
$$

検算すると $A(1,1,1)^{\mathsf{T}} = (5,5,5)^{\mathsf{T}} = 5(1,1,1)^{\mathsf{T}}$ です。

$\lambda = 2$ のとき、$A - 2I = \begin{pmatrix} 1&1&1\\1&1&1\\1&1&1\end{pmatrix}$ で、これは階数 $1$ です。方程式は $x_1 + x_2 + x_3 = 0$ の 1 本だけなので

$$
W_2 = \{ \boldsymbol{x} : x_1 + x_2 + x_3 = 0\} = \operatorname{span}\{(1,-1,0)^{\mathsf{T}}, (1,0,-1)^{\mathsf{T}}\}, \qquad m_g(2) = 2 .
$$

$m_g(5) + m_g(2) = 1 + 2 = 3 = n$ なので、<Ref to="thm-diagonalizable-criterion" /> の条件 4 により $A$ は対角化可能です。実際 $P = \begin{pmatrix} 1&1&1\\1&-1&0\\1&0&-1\end{pmatrix}$ とすれば $P^{-1}AP = \operatorname{diag}(5,2,2)$ となります。

**別解の見通し。** 全成分が $1$ の行列を $J$ とすると $A = 2I + J$ です。$A\boldsymbol{x} = 2\boldsymbol{x} + J\boldsymbol{x}$ なので、$A$ の固有値は $J$ の固有値に $2$ を足したものになります。$J$ は階数 $1$ なので $\dim\ker J = 2$、つまり固有値 $0$ が幾何学的重複度 $2$ で現れ、残る 1 個は <Ref to="cor-trace-det" /> より $\operatorname{tr}J - 0 - 0 = 3$ です。よって $A$ の固有値は $2, 2, 5$ となり、上の結果と一致します。
</Solution>
</Exercise>

<Exercise id="exr-transpose" difficulty="標準">
$A \in M_n(K)$ について、$A$ と $A^{\mathsf{T}}$ の特性多項式が一致することを示せ。したがって固有値も代数的重複度も一致する。一方で、固有空間 $W_\lambda(A)$ と $W_\lambda(A^{\mathsf{T}})$ は一般には一致しないことを、具体例を挙げて示せ。

<Solution>
**特性多項式の一致。** 転置の性質 $(X + Y)^{\mathsf{T}} = X^{\mathsf{T}} + Y^{\mathsf{T}}$ と $I^{\mathsf{T}} = I$ より $(tI - A)^{\mathsf{T}} = tI - A^{\mathsf{T}}$ です。準備 6 の $\det(M^{\mathsf{T}}) = \det M$ を $M = tI - A$ に適用して

$$
\varphi_{A^{\mathsf{T}}}(t) = \det(tI - A^{\mathsf{T}}) = \det\bigl((tI - A)^{\mathsf{T}}\bigr) = \det(tI - A) = \varphi_A(t)
$$

を得ます。特性多項式が同じなら、その根とその重複度、すなわち固有値と代数的重複度（<Ref to="def-multiplicity" />）も同じです。

**固有空間は一致しない。** <Ref to="ex-shear" /> のせん断行列 $A = \begin{pmatrix} 1&1\\0&1\end{pmatrix}$ を取ります。すでに見たとおり $W_1(A) = \operatorname{span}\{\boldsymbol{e}_1\}$ です。一方

$$
A^{\mathsf{T}} = \begin{pmatrix} 1 & 0 \\ 1 & 1\end{pmatrix}, \qquad A^{\mathsf{T}} - I = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix}
$$

なので、$(A^{\mathsf{T}} - I)\boldsymbol{x} = \boldsymbol{0}$ は $x_1 = 0$ となり

$$
W_1(A^{\mathsf{T}}) = \operatorname{span}\{\boldsymbol{e}_2\} \ne \operatorname{span}\{\boldsymbol{e}_1\} = W_1(A)
$$

です。

**補足。** 固有空間そのものは違っても、その次元は必ず一致します。$\operatorname{rank}(M^{\mathsf{T}}) = \operatorname{rank}(M)$ を $M = A - \lambda I$ に使うと、次元定理から

$$
m_g^{A}(\lambda) = n - \operatorname{rank}(A - \lambda I) = n - \operatorname{rank}(A^{\mathsf{T}} - \lambda I) = m_g^{A^{\mathsf{T}}}(\lambda)
$$

となるからです。上の例でも $m_g = 1$ で共通です。
</Solution>
</Exercise>

<Exercise id="exr-projection" difficulty="標準">
$P \in M_n(K)$ が $P^2 = P$ を満たすとする（このような $P$ を射影という）。次を示せ。

1. $P$ の固有値は $0$ または $1$ に限る。
2. $K^n = \ker P \oplus \operatorname{im} P$ であり、$\ker P = W_0$、$\operatorname{im}P = W_1$。
3. $P$ は対角化可能である。

<Solution>
**1.** $\lambda$ を固有値、$\boldsymbol{v} \ne \boldsymbol{0}$ を属する固有ベクトルとします。$P\boldsymbol{v} = \lambda\boldsymbol{v}$ の両辺に $P$ を掛けると、左辺は $P^2\boldsymbol{v} = P\boldsymbol{v} = \lambda\boldsymbol{v}$、右辺は $\lambda P\boldsymbol{v} = \lambda^2\boldsymbol{v}$ です。よって $(\lambda^2 - \lambda)\boldsymbol{v} = \boldsymbol{0}$ で、$\boldsymbol{v} \ne \boldsymbol{0}$ より $\lambda^2 - \lambda = \lambda(\lambda-1) = 0$、すなわち $\lambda \in \{0, 1\}$ です。

**2.** まず $\ker P = W_0$ は定義そのものです（<Ref to="def-eigenspace" /> で $\lambda = 0$）。

次に $\operatorname{im}P = W_1$ を示します。$\boldsymbol{w} \in \operatorname{im}P$ なら $\boldsymbol{w} = P\boldsymbol{u}$ と書け、$P\boldsymbol{w} = P^2\boldsymbol{u} = P\boldsymbol{u} = \boldsymbol{w}$ なので $\boldsymbol{w} \in W_1$ です。逆に $\boldsymbol{w} \in W_1$ なら $\boldsymbol{w} = P\boldsymbol{w} \in \operatorname{im}P$ です。よって $\operatorname{im}P = W_1$。

和が全体になること。任意の $\boldsymbol{x} \in K^n$ について $\boldsymbol{x} = (\boldsymbol{x} - P\boldsymbol{x}) + P\boldsymbol{x}$ と分解します。$P(\boldsymbol{x} - P\boldsymbol{x}) = P\boldsymbol{x} - P^2\boldsymbol{x} = P\boldsymbol{x} - P\boldsymbol{x} = \boldsymbol{0}$ なので第 1 項は $\ker P$ に、第 2 項は $\operatorname{im}P$ に属します。よって $K^n = \ker P + \operatorname{im}P$。

直和であること。$\boldsymbol{x} \in \ker P \cap \operatorname{im}P = W_0 \cap W_1$ とすると、$\boldsymbol{x} \in W_1$ より $\boldsymbol{x} = P\boldsymbol{x}$、$\boldsymbol{x} \in W_0$ より $P\boldsymbol{x} = \boldsymbol{0}$ なので $\boldsymbol{x} = \boldsymbol{0}$ です。（これは <Ref to="cor-sum-direct" /> の特別な場合でもあります。）

**3.** 2 より $\dim W_0 + \dim W_1 = \dim K^n = n$ です。$P = O$ や $P = I$ のように固有値が片方しか現れない場合は、現れないほうの固有空間が $\{\boldsymbol{0}\}$ で次元 $0$ なので、この等式は「実際に現れる固有値についての $m_g$ の総和が $n$」と同じことを言っています。したがって <Ref to="thm-diagonalizable-criterion" /> の条件 4 が満たされ、$P$ は対角化可能です。対角化した形は、$\operatorname{rank}P = r$ とすると $\operatorname{diag}(1,\ldots,1,0,\ldots,0)$（$1$ が $r$ 個）になります。
</Solution>
</Exercise>

<Exercise id="exr-ab-ba" difficulty="難">
$A, B \in M_n(K)$ とする。$\lambda \ne 0$ が $AB$ の固有値ならば、$\lambda$ は $BA$ の固有値でもあることを示せ。また、$\lambda = 0$ についてこの主張が成り立つかどうかを、$n$ が一般の場合について考えよ。

<Solution>
**$\lambda \ne 0$ の場合。** $\lambda \ne 0$ が $AB$ の固有値なので、$AB\boldsymbol{v} = \lambda\boldsymbol{v}$ を満たす $\boldsymbol{v} \ne \boldsymbol{0}$ が取れます。$\boldsymbol{w} := B\boldsymbol{v}$ と置きます。

まず $\boldsymbol{w} \ne \boldsymbol{0}$ を確かめます。もし $\boldsymbol{w} = B\boldsymbol{v} = \boldsymbol{0}$ なら、$\lambda\boldsymbol{v} = AB\boldsymbol{v} = A\boldsymbol{0} = \boldsymbol{0}$ となります。$\lambda \ne 0$ なので $\boldsymbol{v} = \boldsymbol{0}$ となり、$\boldsymbol{v} \ne \boldsymbol{0}$ に矛盾します。よって $\boldsymbol{w} \ne \boldsymbol{0}$ です。

次に $\boldsymbol{w}$ が $BA$ の固有ベクトルであることを示します。

$$
(BA)\boldsymbol{w} = BA B\boldsymbol{v} = B(AB\boldsymbol{v}) = B(\lambda\boldsymbol{v}) = \lambda B\boldsymbol{v} = \lambda\boldsymbol{w}
$$

です（行列の積の結合法則と、$B$ の線形性を使いました）。$\boldsymbol{w} \ne \boldsymbol{0}$ なので、<Ref to="def-eigen" /> より $\lambda$ は $BA$ の固有値です。

**$\lambda = 0$ の場合。** 正方行列どうしであれば、$0$ についても成り立ちます。<Ref to="prop-eigen-criterion" /> より $0$ が $AB$ の固有値であることは $\det(AB) = 0$ と同値です。行列式の乗法性（準備 2）から

$$
\det(AB) = \det A \cdot \det B = \det B \cdot \det A = \det(BA)
$$

なので、$\det(AB) = 0$ と $\det(BA) = 0$ は同値です。したがって $0$ が $AB$ の固有値であることと $BA$ の固有値であることも同値です。以上を合わせると、$AB$ と $BA$ は（正方行列の場合）固有値の集合が完全に一致します。

**注意。** $A$ が $m\times n$、$B$ が $n \times m$ の長方形行列の場合、$AB$ は $m$ 次、$BA$ は $n$ 次で、サイズが違います。このときも非零固有値は一致しますが（上の議論はそのまま通用します）、$0$ については一致しません。たとえば $A = (1\ 0)$、$B = (1\ 0)^{\mathsf{T}}$ とすると $AB = (1)$ で固有値は $1$ のみ、$BA = \begin{pmatrix}1&0\\0&0\end{pmatrix}$ で固有値は $1$ と $0$ です。なお、正方行列の場合には固有値の集合だけでなく特性多項式そのものが一致します（$\varphi_{AB} = \varphi_{BA}$）が、その証明には少し工夫が要ります。
</Solution>
</Exercise>

## 参考文献

- 齋藤正彦『線型代数入門』東京大学出版会、1966 — 第 5 章（固有値と固有ベクトル、対角化）。日本語の標準的な教科書で、この記事の内容はおおむね同章に対応します。
- 佐武一郎『線型代数学』裳華房、1974 — 第 III 章・第 IV 章。特性多項式と最小多項式の関係、標準形への接続が丁寧です。
- Sheldon Axler, *Linear Algebra Done Right*, 4th ed., Springer, 2024 — Chapter 5（Eigenvalues and Eigenvectors）。行列式を使わずに固有値の存在を示す構成で、この記事とは異なる筋道が学べます。オープンアクセス版が [linear.axler.net](https://linear.axler.net/) で公開されています。
- Gilbert Strang, *Introduction to Linear Algebra*, 5th ed., Wellesley-Cambridge Press, 2016 — Chapter 6（Eigenvalues and Eigenvectors）。応用（差分方程式、微分方程式、主成分分析）との接続が豊富です。
- Roger A. Horn and Charles R. Johnson, *Matrix Analysis*, 2nd ed., Cambridge University Press, 2013 — Chapter 1。重複度、相似不変量についての厳密で網羅的な記述があります。
- Lloyd N. Trefethen and David Bau III, *Numerical Linear Algebra*, SIAM, 1997 — Lecture 24–28。特性方程式を解くのではない固有値計算の方法（べき乗法、QR 法）を扱います。

## Appendix: 数値計算では特性方程式を解かない

**手計算と数値計算の断絶。** この記事では固有値を「特性方程式の根」として求めました。手で計算する 2 次・3 次の行列ではこれが最短ですが、計算機で $1000$ 次の行列を扱うとき、この方法は使われません。理由は二つあります。

第一に、$5$ 次以上の一般の多項式には四則演算と冪根による解の公式が存在しません（アーベル・ルフィニの定理）。したがって $5$ 次以上の行列については、そもそも「特性方程式を代数的に解く」ことができません。固有値の計算は本質的に反復的（近似を繰り返して精度を上げる）にならざるをえない、ということです。

第二に、より実際的な問題として、多項式の根は係数の微小な変化に対して極めて敏感になることがあります。ウィルキンソンが挙げた有名な例では、$\prod_{k=1}^{20}(t - k)$ という根が $1,2,\ldots,20$ の多項式で、$t^{19}$ の係数を $2^{-23}$ ほど動かすだけで、いくつかの根が複素平面上へ大きく動きます。特性多項式の係数を経由すると、行列そのものは素直なのに途中で精度が壊れる、という事態が起こります。

**実際に使われる方法。** 代わりに用いられるのは、行列に直接作用する反復法です。最も素朴なのはべき乗法で、適当な初期ベクトル $\boldsymbol{x}_0$ から $\boldsymbol{x}_{k+1} = A\boldsymbol{x}_k / \|A\boldsymbol{x}_k\|$ を繰り返します。<Ref to="ex-fibonacci" /> で見たように、べき乗を繰り返すと絶対値最大の固有値に属する成分が支配的になるため、$\boldsymbol{x}_k$ はその固有ベクトルの方向に収束します。すべての固有値を求めるには QR 法が標準で、直交行列による相似変換を繰り返して行列を上三角形に近づけていきます。相似変換で固有値が変わらないことは <Ref to="thm-similar-invariant" />、上三角行列の固有値が対角成分であることは <Ref to="ex-triangular" /> が保証しています。この記事で証明した二つの事実が、そのまま数値アルゴリズムの正当性の土台になっているわけです。

**向きが逆になる話。** 面白いことに、実務では逆向きの使い方もされます。多項式 $p(t) = t^n + c_{n-1}t^{n-1} + \cdots + c_0$ の根を数値的に求めたいとき、$p$ を特性多項式として持つ行列（コンパニオン行列）を作り、その固有値を QR 法で計算するのです。NumPy の `numpy.roots` はこの方法を採っています。多項式の根を求めるために固有値計算に帰着させる、という順序は、手計算の直観とはちょうど反対です。


</div>
