コンテンツにスキップ

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

対象読者: 本テーマ第 1〜3 章の内容(基底、行列表示、基底変換、行列式の性質と余因子展開)を学んだ人。複素数の基本演算は使います。

前提となる記事:行列式とその性質:符号付き体積としての det

生 Markdown

行列を 1 つ渡されても、それが空間をどう動かすのかは、成分を眺めるだけでは分かりません。この記事は、変換しても同じ直線の上に留まる方向を探す話です。そうした方向が見つかると、複雑に見える行列が「方向ごとの単なる何倍か」に分解できて、行列を何度もかけた結果や、データが最も広がる向きが計算できるようになります。

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

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

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

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

A=(2112),B=(3001)A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}, \qquad B = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}

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

Ap1=(33)=3p1,Ap2=(1−1)=1⋅p2A\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

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

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

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

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

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

線形変換 T:V→VT : V \to V と VV の基底 B=(b1,…,bn)\mathcal{B} = (\boldsymbol{b}_1,\ldots,\boldsymbol{b}_n) が与えられると、表現行列 A∈Mn(K)A \in M_n(K) が定まります。基底を B′\mathcal{B}' に取り替えると表現行列は P−1APP^{-1}AP に変わります(PP は基底変換行列。表現行列の変換則(定理 5.2)[行列と連立一次方程式] を参照)。この関係を相似といいます。詳しくは ベクトル空間と線形変換 を参照してください。

証明で繰り返し使う既知の事実を挙げておきます。いずれも 行列と連立一次方程式 と 行列式とその性質 の内容です。

  1. 次元定理: 線形写像 S:V→VS : V \to V について dim⁡ker⁡S+dim⁡im⁡S=dim⁡V\dim \ker S + \dim \operatorname{im} S = \dim V(次元定理(定理 7.3)[ベクトル空間と線形変換])。とくに有限次元では、SS が単射であることと全射であること、正則であることは同値です。
  2. 行列式の乗法性: det⁡(AB)=det⁡A⋅det⁡B\det(AB) = \det A \cdot \det B(積の定理(定理 6.1)[行列式とその性質])。また AA が正則なら det⁡(A−1)=(det⁡A)−1\det(A^{-1}) = (\det A)^{-1}。
  3. 正則性の判定: AA が正則であることと det⁡A≠0\det A \ne 0 は同値(正則性の判定(定理 7.1)[行列式とその性質])。同値な言い換えとして、Ax=0A\boldsymbol{x} = \boldsymbol{0} が非自明解を持つことと det⁡A=0\det A = 0 は同値です。
  4. 三角行列の行列式: 上三角行列(下三角行列)の行列式は対角成分の積です(転置不変性と三角行列(命題 3.3)[行列式とその性質])。
  5. ブロック三角行列の行列式: XX を rr 次、ZZ を ss 次の正方行列、YY を r×sr \times s 行列、OO を s×rs \times r 零行列とすると、det⁡(XYOZ)=det⁡X⋅det⁡Z\det \begin{pmatrix} X & Y \\ O & Z \end{pmatrix} = \det X \cdot \det Z が成り立ちます。
  6. 転置不変性: det⁡(AT)=det⁡A\det(A^{\mathsf{T}}) = \det A。

定義 3.1(固有値と固有ベクトル)↗

VV を体 KK 上のベクトル空間、T:V→VT : V \to V を線形変換とする。スカラー λ∈K\lambda \in K とベクトル v∈V\boldsymbol{v} \in V が

Tv=λv,v≠0T\boldsymbol{v} = \lambda \boldsymbol{v}, \qquad \boldsymbol{v} \ne \boldsymbol{0}

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

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

注意 3.2(なぜ v ≠ 0 を課し、λ = 0 は許すのか)

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

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

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

一般の方向:向きが変わるvAv固有方向:直線から出ないuAu = 3u
行列 A(第 1 行 2, 1 / 第 2 行 1, 2)の作用。左:一般のベクトルは変換で向きが変わる。右:固有ベクトル (1,1) は同じ直線上に留まり、長さが 3 倍になるだけ。

次の動画は、単位行列から AA まで連続的に変形しながら、平面の格子と単位円がどう動くかを見せます。円は楕円になりますが、二本の固有方向(点線)だけは直線のまま、長さが 33 倍と 11 倍になるだけです。

平面の格子と単位円が、単位行列から行列 A へ連続的に変形され、円が斜めの楕円になる。固有方向の二本の矢印は直線上に留まり、一般のベクトルだけが向きを変える。
行列 I + t(A − I) を t = 0 から 1 まで動かしたときの格子と単位円。t = 1 が A。赤(固有値 3)と緑(固有値 1)の固有ベクトルは向きを変えず、橙の一般のベクトルだけ向きが回る。

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

命題 3.3(固有値の判定条件)✓

A∈Mn(K)A \in M_n(K) と λ∈K\lambda \in K について、次の三つは同値である。

  1. λ\lambda は AA の固有値である。
  2. 行列 A−λIA - \lambda I は正則でない。
  3. det⁡(λI−A)=0\det(\lambda I - A) = 0。
証明(命題 3.3)

まず 1 と 2 の同値性を示します。λ\lambda が AA の固有値であるとは、定義 3.1 より Av=λvA\boldsymbol{v} = \lambda\boldsymbol{v} を満たす v≠0\boldsymbol{v} \ne \boldsymbol{0} が存在することです。この式は移項して

Av−λv=(A−λI)v=0A\boldsymbol{v} - \lambda\boldsymbol{v} = (A - \lambda I)\boldsymbol{v} = \boldsymbol{0}

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

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

det⁡(λI−A)=(−1)ndet⁡(A−λI)\det(\lambda I - A) = (-1)^n \det(A - \lambda I)

となります。(−1)n≠0(-1)^n \ne 0 なので、一方が 00 であることと他方が 00 であることは同値です。

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

例 3.4(2 次の対称行列を最後まで解く)

冒頭の A=(2112)A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} を、定義から計算してみます。K=RK = \mathbb{R} とします。命題 3.3 より

det⁡(λI−A)=det⁡(λ−2−1−1λ−2)=(λ−2)2−1=λ2−4λ+3=(λ−1)(λ−3).\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).

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

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

A−3I=(−111−1),{−x1+x2=0−x1−x2=0A - 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}

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

λ=1\lambda = 1 のとき、

A−I=(1111),x1+x2=0A - I = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}, \qquad x_1 + x_2 = 0

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

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

AP=(313−1)=(111−1)(3001)=P(3001)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−1AP=diag⁡(3,1)P^{-1}AP = \operatorname{diag}(3,1) です。§1 で述べた「AA と BB は同じ変換」という主張が、これで証明されました。

定義 4.1(特性多項式)↗

A∈Mn(K)A \in M_n(K) に対し、変数 tt の多項式

φA(t):=det⁡(tI−A)\varphi_A(t) := \det(t I - A)

を AA の特性多項式という。方程式 φA(t)=0\varphi_A(t) = 0 を特性方程式という。

注意 4.2(符号の流儀について)

文献によっては det⁡(A−tI)\det(A - tI) を特性多項式と定義します。命題 3.3 の証明で見たように両者は (−1)n(-1)^n 倍しか違わないので、根(=固有値)はまったく同じです。この記事では det⁡(tI−A)\det(tI - A) を採用します。こう定めておくと最高次の係数が 11(モニック)になり、後で係数と固有値の関係を書くときに符号が扱いやすくなるからです。

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

det⁡(M)=∑σ∈Snsgn⁡(σ)∏i=1nmi σ(i)\det(M) = \sum_{\sigma \in S_n} \operatorname{sgn}(\sigma) \prod_{i=1}^{n} m_{i\,\sigma(i)}

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

次の命題は、特性多項式が何次で、どの係数に何が現れるかを確かめるものです。最高次の係数が 11 であること(このような多項式をモニックといいます)、次の係数がトレース(対角成分の和)になること、定数項が行列式で決まることが分かり、後の固有値の総和・総積の公式につながります。

命題 4.3(特性多項式の次数と係数)✓

A=(aij)∈Mn(K)A = (a_{ij}) \in M_n(K) とする。φA(t)\varphi_A(t) は tt についてモニックな nn 次多項式であり、

φA(t)=tn−(tr⁡A) tn−1+cn−2tn−2+⋯+c1t+(−1)ndet⁡A\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

の形をしている。ここで tr⁡A=∑i=1naii\operatorname{tr} A = \sum_{i=1}^{n} a_{ii} は AA のトレース(対角和)であり、cn−2,…,c1∈Kc_{n-2},\ldots,c_1 \in K は AA の成分から定まるスカラーである。

証明の方針は、行列式の展開の各項を tt の次数で仕分けることです。置換が恒等置換でなければ、動く添字は必ず 2 個以上あり(1 個が動けば、その行き先の添字も動くため)、対角成分の因子 t−aiit - a_{ii} はその分だけ減ります。たとえば n=3n = 3 で 11 と 22 を入れ替える置換では、tt を含みうる因子は 33 番目の対角成分だけで、次数は 1=n−21 = n - 2 です。このため tnt^n と tn−1t^{n-1} の係数は恒等置換の項だけで決まります。

証明(命題 4.3)

M=tI−AM = tI - A と置きます。その成分は mii=t−aiim_{ii} = t - a_{ii}、i≠ji \ne j のとき mij=−aijm_{ij} = -a_{ij} です。ライプニッツ展開

φA(t)=∑σ∈Snsgn⁡(σ)∏i=1nmi σ(i)\varphi_A(t) = \sum_{\sigma \in S_n} \operatorname{sgn}(\sigma) \prod_{i=1}^{n} m_{i\,\sigma(i)}

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

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

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

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

定数項は φA(0)\varphi_A(0) です。φA(0)=det⁡(0⋅I−A)=det⁡(−A)\varphi_A(0) = \det(0 \cdot I - A) = \det(-A) であり、−A-A は AA の各行を −1-1 倍したものなので、行列式の行に関する線形性を nn 回使って det⁡(−A)=(−1)ndet⁡A\det(-A) = (-1)^n \det A を得ます。

定理 4.4(特性多項式と固有空間の相似不変性)✓

A∈Mn(K)A \in M_n(K)、P∈Mn(K)P \in M_n(K) を正則行列とし、B=P−1APB = P^{-1}AP と置く。このとき

  1. φB(t)=φA(t)\varphi_B(t) = \varphi_A(t)。とくに tr⁡B=tr⁡A\operatorname{tr} B = \operatorname{tr} A かつ det⁡B=det⁡A\det B = \det A。
  2. 任意の λ∈K\lambda \in K について、写像 v↦P−1v\boldsymbol{v} \mapsto P^{-1}\boldsymbol{v} は ker⁡(A−λI)\ker(A - \lambda I) から ker⁡(B−λI)\ker(B - \lambda I) への同型を与える。とくに dim⁡ker⁡(A−λI)=dim⁡ker⁡(B−λI)\dim \ker(A - \lambda I) = \dim \ker(B - \lambda I)。
証明(定理 4.4)

1 の証明。 P−1(tI)P=tIP^{-1}(tI)P = tI に注意すると

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

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

φB(t)=det⁡(P−1(tI−A)P)=det⁡(P−1)det⁡(tI−A)det⁡(P)=det⁡(P)−1det⁡(P) φA(t)=φA(t)\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)

を得ます。特性多項式が一致すれば、その tn−1t^{n-1} の係数と定数項も一致します。命題 4.3 によりこれらはそれぞれ −tr⁡-\operatorname{tr} と (−1)ndet⁡(-1)^n \det なので、トレースと行列式も一致します。

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

Bw=P−1APP−1v=P−1Av=P−1(λv)=λP−1v=λwB\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}

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

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

系 4.5(固有値の総和と総積)✓

A∈Mn(K)A \in M_n(K) の特性多項式が KK 上で一次式の積に分解し、

φA(t)=(t−λ1)(t−λ2)⋯(t−λn)\varphi_A(t) = (t - \lambda_1)(t - \lambda_2)\cdots(t - \lambda_n)

と書けたとする(λi\lambda_i は重複を許して並べる)。このとき

∑i=1nλi=tr⁡A,∏i=1nλi=det⁡A.\sum_{i=1}^{n} \lambda_i = \operatorname{tr} A, \qquad \prod_{i=1}^{n} \lambda_i = \det A .
証明(系 4.5)

右辺を展開します。∏i=1n(t−λi)\prod_{i=1}^n (t - \lambda_i) の tn−1t^{n-1} の係数は、n−1n-1 個の因子から tt を、残り 1 個から −λi-\lambda_i を選ぶ和なので −∑iλi-\sum_i \lambda_i です。また定数項は各因子から −λi-\lambda_i を選んだ積 ∏i(−λi)=(−1)n∏iλi\prod_i(-\lambda_i) = (-1)^n\prod_i \lambda_i です。

一方 命題 4.3 より、φA(t)\varphi_A(t) の tn−1t^{n-1} の係数は −tr⁡A-\operatorname{tr}A、定数項は (−1)ndet⁡A(-1)^n\det A です。同じ多項式の係数どうしを比較して、−∑iλi=−tr⁡A-\sum_i\lambda_i = -\operatorname{tr}A および (−1)n∏iλi=(−1)ndet⁡A(-1)^n \prod_i \lambda_i = (-1)^n \det A を得ます。両辺を整理すれば主張が従います。

系 4.6(固有値の存在)✓

n≥1n \ge 1 とする。

  1. 任意の A∈Mn(C)A \in M_n(\mathbb{C}) は少なくとも一つの固有値を持つ。
  2. nn が奇数ならば、任意の A∈Mn(R)A \in M_n(\mathbb{R}) は少なくとも一つの実固有値を持つ。
証明(系 4.6)

1. 命題 4.3 より φA\varphi_A は次数 n≥1n \ge 1 の複素係数多項式です。代数学の基本定理より、次数 11 以上の複素係数多項式は C\mathbb{C} に根を持つので、φA(λ)=0\varphi_A(\lambda) = 0 を満たす λ∈C\lambda \in \mathbb{C} が存在します。命題 3.3 よりこの λ\lambda は AA の固有値です。

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

例 4.7(三角行列の固有値は対角成分)

A=(aij)A = (a_{ij}) が上三角行列(i>ji > j のとき aij=0a_{ij} = 0)だとします。すると tI−AtI - A も上三角行列で、その対角成分は t−a11,…,t−annt - a_{11}, \ldots, t - a_{nn} です。準備 4 より

φA(t)=∏i=1n(t−aii)\varphi_A(t) = \prod_{i=1}^{n} (t - a_{ii})

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

A=(57−205300−1)A = \begin{pmatrix} 5 & 7 & -2 \\ 0 & 5 & 3 \\ 0 & 0 & -1 \end{pmatrix}

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

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

例 4.8(回転行列 — 体を変えると固有値が現れる)

平面の角 θ\theta の回転を表す行列

Rθ=(cos⁡θ−sin⁡θsin⁡θcos⁡θ)R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}

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

φRθ(t)=det⁡(t−cos⁡θsin⁡θ−sin⁡θt−cos⁡θ)=(t−cos⁡θ)2+sin⁡2θ=t2−2(cos⁡θ)t+1\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

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

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

t=cos⁡θ±isin⁡θ=e±iθt = \cos\theta \pm i\sin\theta = e^{\pm i\theta}

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

(cos⁡θ−eiθ)x1−sin⁡θ x2=−isin⁡θ x1−sin⁡θ x2=0(\cos\theta - e^{i\theta})x_1 - \sin\theta \, x_2 = -i\sin\theta \, x_1 - \sin\theta\, x_2 = 0

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

sin⁡θ⋅1+(cos⁡θ−eiθ)(−i)=sin⁡θ+(−isin⁡θ)(−i)=sin⁡θ+i2sin⁡θ=0\sin\theta \cdot 1 + (\cos\theta - e^{i\theta})(-i) = \sin\theta + (-i\sin\theta)(-i) = \sin\theta + i^2 \sin\theta = 0

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

この例が示すのは、固有値は行列だけでなく、係数体とセットで決まるということです。系 4.6 が C\mathbb{C} でしか一般に主張できない理由も、ここにあります。

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

定義 5.1(固有空間)↗

A∈Mn(K)A \in M_n(K) と λ∈K\lambda \in K に対し、

Wλ:=ker⁡(A−λI)={x∈Kn:Ax=λx}W_\lambda := \ker(A - \lambda I) = \{ \boldsymbol{x} \in K^n : A\boldsymbol{x} = \lambda\boldsymbol{x} \}

を λ\lambda に対する固有空間という。線形変換 TT についても同様に Wλ=ker⁡(T−λ idV)W_\lambda = \ker(T - \lambda\,\mathrm{id}_V) と定める。

WλW_\lambda は線形写像 A−λIA - \lambda I の核なので、KnK^n の部分空間です。念のため確認しておくと、x,y∈Wλ\boldsymbol{x}, \boldsymbol{y} \in W_\lambda と c∈Kc \in K に対し A(x+cy)=Ax+cAy=λx+cλy=λ(x+cy)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}) なので x+cy∈Wλ\boldsymbol{x} + c\boldsymbol{y} \in W_\lambda です。

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

λ が A の固有値  ⟺  Wλ≠{0}  ⟺  dim⁡Wλ≥1\lambda \text{ が } A \text{ の固有値} \iff W_\lambda \ne \{\boldsymbol{0}\} \iff \dim W_\lambda \ge 1

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

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

dim⁡Wλ=n−rank⁡(A−λI)\dim W_\lambda = n - \operatorname{rank}(A - \lambda I)

で求まります。

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

定理 5.2(相異なる固有値に属する固有ベクトルの一次独立性)✓

A∈Mn(K)A \in M_n(K) とし、λ1,…,λk∈K\lambda_1, \ldots, \lambda_k \in K を互いに相異なる AA の固有値、vi\boldsymbol{v}_i を λi\lambda_i に属する固有ベクトル(i=1,…,ki = 1,\ldots,k)とする。このとき v1,…,vk\boldsymbol{v}_1, \ldots, \boldsymbol{v}_k は一次独立である。

証明の方針は、ベクトルの個数 kk についての帰納法です。一次関係式の両辺に A−λkIA - \lambda_k I を掛けると、vk\boldsymbol{v}_k は (A−λkI)vk=0(A - \lambda_k I)\boldsymbol{v}_k = \boldsymbol{0} となって消え、ほかの項は係数が λi−λk\lambda_i - \lambda_k 倍されるだけで残ります。つまり kk 個の関係式が k−1k-1 個の関係式に変わり、帰納法の仮定に持ち込めます。

証明(定理 5.2)

kk についての数学的帰納法で示します(帰納法の形式については 証明の技術 を参照してください)。

k=1k = 1 の場合。 固有ベクトルの定義(定義 3.1)より v1≠0\boldsymbol{v}_1 \ne \boldsymbol{0} なので、c1v1=0c_1\boldsymbol{v}_1 = \boldsymbol{0} ならば c1=0c_1 = 0 です。よって一次独立です。

帰納段階。 k−1k - 1 個の場合に主張が成り立つと仮定し、kk 個の場合を示します。スカラー c1,…,ck∈Kc_1,\ldots,c_k \in K が

c1v1+c2v2+⋯+ckvk=0c_1\boldsymbol{v}_1 + c_2\boldsymbol{v}_2 + \cdots + c_k\boldsymbol{v}_k = \boldsymbol{0}

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

(A−λkI)(civi)=ci(Avi−λkvi)=ci(λi−λk)vi(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=ki = k の項は ck(λk−λk)vk=0c_k(\lambda_k - \lambda_k)\boldsymbol{v}_k = \boldsymbol{0} となって消えます。右辺は (A−λkI)0=0(A - \lambda_k I)\boldsymbol{0} = \boldsymbol{0} です。したがって

c1(λ1−λk)v1+⋯+ck−1(λk−1−λk)vk−1=0c_1(\lambda_1 - \lambda_k)\boldsymbol{v}_1 + \cdots + c_{k-1}(\lambda_{k-1} - \lambda_k)\boldsymbol{v}_{k-1} = \boldsymbol{0}

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

ci(λi−λk)=0(i=1,…,k−1)c_i(\lambda_i - \lambda_k) = 0 \qquad (i = 1, \ldots, k-1)

です。仮定より λi≠λk\lambda_i \ne \lambda_k(i<ki < k)なので λi−λk≠0\lambda_i - \lambda_k \ne 0、体には零因子がないので ci=0c_i = 0(i=1,…,k−1i = 1,\ldots,k-1)が従います。

これを最初の関係式に戻すと ckvk=0c_k \boldsymbol{v}_k = \boldsymbol{0} となり、vk≠0\boldsymbol{v}_k \ne \boldsymbol{0} だから ck=0c_k = 0 です。以上ですべての cic_i が 00 となり、v1,…,vk\boldsymbol{v}_1,\ldots,\boldsymbol{v}_k は一次独立です。

次の系は、上の定理を部分空間の言葉に言い換えたものです。直和とは、0\boldsymbol{0} を各部分空間の元の和として表す方法が、全部を 0\boldsymbol{0} にする自明なものしかない、という状態です。

系 5.3(固有空間の和は直和)✓

λ1,…,λk\lambda_1,\ldots,\lambda_k を A∈Mn(K)A \in M_n(K) の互いに相異なる固有値とすると、和 Wλ1+⋯+WλkW_{\lambda_1} + \cdots + W_{\lambda_k} は直和である。すなわち、wi∈Wλi\boldsymbol{w}_i \in W_{\lambda_i} が w1+⋯+wk=0\boldsymbol{w}_1 + \cdots + \boldsymbol{w}_k = \boldsymbol{0} を満たすならば、すべての ii について wi=0\boldsymbol{w}_i = \boldsymbol{0} である。とくに

dim⁡(Wλ1+⋯+Wλk)=∑i=1kdim⁡Wλi≤n.\dim(W_{\lambda_1} + \cdots + W_{\lambda_k}) = \sum_{i=1}^{k}\dim W_{\lambda_i} \le n .
証明(系 5.3)

wi∈Wλi\boldsymbol{w}_i \in W_{\lambda_i} が ∑i=1kwi=0\sum_{i=1}^k \boldsymbol{w}_i = \boldsymbol{0} を満たすとし、S={i:wi≠0}S = \{ i : \boldsymbol{w}_i \ne \boldsymbol{0}\} と置きます。S≠∅S \ne \emptyset と仮定して矛盾を導きます。

wi=0\boldsymbol{w}_i = \boldsymbol{0} となる項は和に寄与しないので、∑i∈Swi=0\sum_{i \in S} \boldsymbol{w}_i = \boldsymbol{0} です。i∈Si \in S に対して wi\boldsymbol{w}_i は WλiW_{\lambda_i} の非零元、すなわち λi\lambda_i に属する固有ベクトルです。{λi}i∈S\{\lambda_i\}_{i \in S} は互いに相異なるので、定理 5.2 より {wi}i∈S\{\boldsymbol{w}_i\}_{i \in S} は一次独立です。しかし ∑i∈S1⋅wi=0\sum_{i\in S} 1 \cdot \boldsymbol{w}_i = \boldsymbol{0} は、係数がすべて 1≠01 \ne 0 である非自明な一次関係です。これは一次独立性に矛盾します。

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

3 本の直線の例を具体的に書くと、平面の (1,0)T(1,0)^{\mathsf{T}}、(0,1)T(0,1)^{\mathsf{T}}、(−1,−1)T(-1,-1)^{\mathsf{T}} が張る 3 本の直線は、どの 2 本も原点でしか交わりませんが、(1,0)T+(0,1)T+(−1,−1)T=0(1,0)^{\mathsf{T}} + (0,1)^{\mathsf{T}} + (-1,-1)^{\mathsf{T}} = \boldsymbol{0} という自明でない関係があるので、和は直和ではありません。

例 4.7 の例では固有値 55 が特性多項式の二重根でした。一方、固有空間の次元も 22 になるとは限りません。重複の数え方が二通りあり、それらが一般には一致しないことが、この節の主題です。

定義 6.1(代数的重複度と幾何学的重複度)↗

λ\lambda を A∈Mn(K)A \in M_n(K) の固有値とする。

  • φA(t)=(t−λ)mg(t)\varphi_A(t) = (t - \lambda)^m g(t)、g(λ)≠0g(\lambda) \ne 0 を満たす整数 m≥1m \ge 1 を λ\lambda の代数的重複度といい、ma(λ)m_a(\lambda) と書く(K[t]K[t] における一意分解性から、このような mm と gg は一意に定まる)。
  • mg(λ):=dim⁡Wλm_g(\lambda) := \dim W_\lambda を λ\lambda の幾何学的重複度という。

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

定理 6.2(幾何学的重複度は代数的重複度以下)✓

λ\lambda を A∈Mn(K)A \in M_n(K) の固有値とすると

1≤mg(λ)≤ma(λ)≤n1 \le m_g(\lambda) \le m_a(\lambda) \le n

が成り立つ。

証明の方針は、固有空間の基底を全体の基底に延ばして行列を書き直すと、左上に λ\lambda が並ぶ形になることを使うことです。たとえば n=3n = 3、dim⁡Wλ=1\dim W_\lambda = 1 なら、書き直した行列の第 1 列は (λ,0,0)T(\lambda, 0, 0)^{\mathsf{T}} です。残りの列は何でもよいので、行列は下の図のように 4 つのブロックに分かれ、左下は零行列になります。この形(ブロック上三角)の行列式は対角のブロックの行列式の積なので、特性多項式に (t−λ)d(t-\lambda)^d が因子として現れます。

λ I_dCO(零)Dp₁ … p_dq(d+1 番目以降)
基底を延長して書き直した行列 B のブロック構造。左上は λ が d 個並ぶ対角ブロック、左下は零行列で、特性多項式は左上と右下のブロックの特性多項式の積になる。
証明(定理 6.2)

左端の不等式。 λ\lambda が固有値なので、定義 3.1 より非零の固有ベクトルが存在し、Wλ≠{0}W_\lambda \ne \{\boldsymbol{0}\}、つまり mg(λ)=dim⁡Wλ≥1m_g(\lambda) = \dim W_\lambda \ge 1 です。

右端の不等式。 φA\varphi_A は nn 次(命題 4.3)で、(t−λ)ma(λ)(t-\lambda)^{m_a(\lambda)} がその因子なので ma(λ)≤nm_a(\lambda) \le n です。

中央の不等式。 d=mg(λ)=dim⁡Wλd = m_g(\lambda) = \dim W_\lambda と置きます。WλW_\lambda の基底 p1,…,pd\boldsymbol{p}_1,\ldots,\boldsymbol{p}_d を取り、これを KnK^n の基底

p1,…,pd,qd+1,…,qn\boldsymbol{p}_1, \ldots, \boldsymbol{p}_d, \boldsymbol{q}_{d+1}, \ldots, \boldsymbol{q}_n

に延長します(一次独立な組は基底に延長できる、という基底の延長定理を使いました。ベクトル空間と線形変換 の 有限次元空間の基本性質(命題 5.7)[ベクトル空間と線形変換] を参照)。これらを列に並べた行列を P=(p1⋯pd  qd+1⋯qn)P = (\boldsymbol{p}_1 \cdots \boldsymbol{p}_d \; \boldsymbol{q}_{d+1} \cdots \boldsymbol{q}_n) とすると、列が基底をなすので PP は正則です。

B=P−1APB = P^{-1}AP の形を調べます。BB の第 jj 列は P−1ApjP^{-1}A\boldsymbol{p}_j(j≤dj \le d)または P−1AqjP^{-1}A\boldsymbol{q}_j(j>dj > d)です。j≤dj \le d のときは pj∈Wλ\boldsymbol{p}_j \in W_\lambda より Apj=λpjA\boldsymbol{p}_j = \lambda\boldsymbol{p}_j なので

P−1Apj=λP−1pj=λejP^{-1}A\boldsymbol{p}_j = \lambda P^{-1}\boldsymbol{p}_j = \lambda \boldsymbol{e}_j

です(Pej=pjP\boldsymbol{e}_j = \boldsymbol{p}_j すなわち P−1pj=ejP^{-1}\boldsymbol{p}_j = \boldsymbol{e}_j を使いました)。つまり BB の左から dd 本の列は λe1,…,λed\lambda\boldsymbol{e}_1, \ldots, \lambda\boldsymbol{e}_d であり、BB はブロック上三角の形

B=(λIdCOD)B = \begin{pmatrix} \lambda I_d & C \\ O & D \end{pmatrix}

をしています(CC は d×(n−d)d \times (n-d)、DD は (n−d)(n-d) 次正方行列、左下の (n−d)×d(n-d)\times d ブロックは零行列)。

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

φB(t)=det⁡((t−λ)Id)⋅det⁡(tIn−d−D)=(t−λ)d φD(t)\varphi_B(t) = \det\bigl((t-\lambda)I_d\bigr)\cdot\det(tI_{n-d} - D) = (t-\lambda)^d\,\varphi_D(t)

です。AA と BB は相似なので 定理 4.4 の 1 より φA(t)=φB(t)=(t−λ)dφD(t)\varphi_A(t) = \varphi_B(t) = (t-\lambda)^d\varphi_D(t) となり、φA\varphi_A は (t−λ)d(t-\lambda)^d で割り切れます。代数的重複度は (t−λ)(t-\lambda) で割り切れる最大回数(定義 6.1)ですから、ma(λ)≥d=mg(λ)m_a(\lambda) \ge d = m_g(\lambda) を得ます。

例 6.3(せん断行列 — 不等号が真になる最小の例)

A=(1101)A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}

を考えます。これは xx 軸を固定し、高さ yy の点を横に yy だけずらす変換(せん断)です。AA は上三角なので 例 4.7 より

φA(t)=(t−1)2\varphi_A(t) = (t-1)^2

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

固有空間を求めます。

A−I=(0100)A - I = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}

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

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

よって mg(1)=1<2=ma(1)m_g(1) = 1 < 2 = m_a(1) で、定理 6.2 の不等号は真の不等号になりえます。dim⁡W1=2−rank⁡(A−I)=2−1=1\dim W_1 = 2 - \operatorname{rank}(A - I) = 2 - 1 = 1 と、次元定理から求めても同じです。

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

定理 6.4(対角化可能性の判定)✓

A∈Mn(K)A \in M_n(K) とし、λ1,…,λk∈K\lambda_1,\ldots,\lambda_k \in K を AA の互いに相異なる固有値のすべてとする。次の四つは同値である。

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

証明の流れは、1 と 2 の同値(対角化とは固有ベクトルの基底を取ること)、2 と 4 の同値(固有空間の次元を足し合わせて nn になるか)、3 と 4 の同値(重複度の不等式を使った次数の比較)の順です。最後の部分では多項式の因数分解を使います。相異なる λi\lambda_i に対する (t−λi)m(t-\lambda_i)^{m} どうしは共通の因子を持たない(互いに素である)ので、それぞれが φA\varphi_A を割り切るならその積も割り切る、という点だけ押さえて読んでください。

証明(定理 6.4)

1 と 2 の同値性。 PP の第 jj 列を pj\boldsymbol{p}_j とし、D=diag⁡(d1,…,dn)D = \operatorname{diag}(d_1,\ldots,d_n) と置きます。P−1AP=DP^{-1}AP = D は AP=PDAP = PD と同値であり、両辺の第 jj 列を比べると Apj=djpjA\boldsymbol{p}_j = d_j \boldsymbol{p}_j となります。PP が正則であることと、その列 p1,…,pn\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n が KnK^n の基底をなすことは同値です。基底の元は 0\boldsymbol{0} ではないので、各 pj\boldsymbol{p}_j は固有値 djd_j に属する固有ベクトルです。逆に、固有ベクトルからなる基底 p1,…,pn\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n(Apj=djpjA\boldsymbol{p}_j = d_j\boldsymbol{p}_j)があれば、それを列に並べた PP は正則で AP=PDAP = PD、すなわち P−1AP=DP^{-1}AP = D です。

2 から 4。 固有ベクトルからなる基底 p1,…,pn\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n を取ります。各 pj\boldsymbol{p}_j はある固有値に属するので、ある ii について pj∈Wλi\boldsymbol{p}_j \in W_{\lambda_i} です(λ1,…,λk\lambda_1,\ldots,\lambda_k は固有値のすべてなので、この ii は必ず存在します)。pj∈Wλi\boldsymbol{p}_j \in W_{\lambda_i} となる jj の個数を nin_i とすると ∑i=1kni=n\sum_{i=1}^k n_i = n です。WλiW_{\lambda_i} に属する nin_i 本のベクトルは、基底の一部なので一次独立です。したがって ni≤dim⁡Wλi=mg(λi)n_i \le \dim W_{\lambda_i} = m_g(\lambda_i) であり、n=∑ini≤∑img(λi)n = \sum_i n_i \le \sum_i m_g(\lambda_i) を得ます。逆向きの不等式は 系 5.3 の ∑idim⁡Wλi≤n\sum_i \dim W_{\lambda_i} \le n です。よって等号が成り立ちます。

4 から 2。 各 WλiW_{\lambda_i} の基底を取り、それらをすべて並べた組を考えます。本数は ∑img(λi)=n\sum_i m_g(\lambda_i) = n です。この組が一次独立であることを見ます。一次関係を、各 WλiW_{\lambda_i} に属する部分ごとにまとめると w1+⋯+wk=0\boldsymbol{w}_1 + \cdots + \boldsymbol{w}_k = \boldsymbol{0}(wi∈Wλi\boldsymbol{w}_i \in W_{\lambda_i})の形になります。系 5.3 よりすべての wi=0\boldsymbol{w}_i = \boldsymbol{0} で、さらに wi\boldsymbol{w}_i は WλiW_{\lambda_i} の基底の一次結合なので、その係数はすべて 00 です。よって一次独立で、本数が n=dim⁡Knn = \dim K^n なので基底です。各元は非零の固有ベクトルなので、2 が成り立ちます。

3 と 4 の同値性。 λ1,…,λk\lambda_1,\ldots,\lambda_k は相異なるので、(t−λ1)ma(λ1),…,(t−λk)ma(λk)(t-\lambda_1)^{m_a(\lambda_1)},\ldots,(t-\lambda_k)^{m_a(\lambda_k)} は K[t]K[t] において互いに素です。各々が φA\varphi_A を割り切る(定義 6.1)ので、その積も φA\varphi_A を割り切ります。次数を比べて

∑i=1kma(λi)≤deg⁡φA=n\sum_{i=1}^{k} m_a(\lambda_i) \le \deg \varphi_A = n

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

さて 定理 6.2 より各 ii で mg(λi)≤ma(λi)m_g(\lambda_i) \le m_a(\lambda_i) なので

∑i=1kmg(λi)≤∑i=1kma(λi)≤n\sum_{i=1}^{k} m_g(\lambda_i) \le \sum_{i=1}^{k} m_a(\lambda_i) \le n

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

注意 6.5(対角化できないときに何をするか)

例 6.3 のせん断行列は mg(1)=1<2=ma(1)m_g(1) = 1 < 2 = m_a(1) なので、定理 6.4 の条件 3 を満たさず、対角化できません。例 4.8 の実回転行列は、そもそも φRθ\varphi_{R_\theta} が R\mathbb{R} 上で一次式に分解しないので対角化できません(C\mathbb{C} 上では固有値が相異なる 2 個なので対角化できます)。

つまり対角化の障害は二種類あります。「体が足りない」場合と、「体は十分でも固有ベクトルが足りない」場合です。前者は体を C\mathbb{C} に広げれば解消します。後者は本質的な障害で、対角行列をあきらめ、対角成分のすぐ上に 11 が並ぶブロックを許した標準形を使うことになります。これがジョルダン標準形であり、対角化とジョルダン標準形 の ジョルダン標準形の存在と一意性(定理 6.2)[対角化とジョルダン標準形] で扱います。

なお、AA が実対称行列であれば、この二つの障害はどちらも起こりません。実対称行列は必ず実固有値のみを持ち、さらに直交行列で対角化できます。これがスペクトル定理で、スペクトル定理 の 実対称行列の直交対角化(系 4.3)[スペクトル定理] で証明します。例 3.4 と 例 7.2 で対角化がうまくいくのは偶然ではなく、行列が対称だからです。

固有値・固有空間・重複度を求める手順の全体像

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

Section titled “7. 応用 — 行列のべき乗とデータの主軸”

例 7.1(フィボナッチ数列とビネの公式)

フィボナッチ数列 F0=0F_0 = 0、F1=1F_1 = 1、Fk+1=Fk+Fk−1F_{k+1} = F_k + F_{k-1} を考えます。この漸化式は

(Fk+1Fk)=(1110)(FkFk−1),A:=(1110)\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}

とベクトルの形に書けます。したがって (Fk+1Fk)=Ak(F1F0)=Ak(10)\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} です。AkA^k を求めるのに固有値を使います。

φA(t)=det⁡(t−1−1−1t)=t(t−1)−1=t2−t−1\varphi_A(t) = \det\begin{pmatrix} t-1 & -1 \\ -1 & t\end{pmatrix} = t(t-1) - 1 = t^2 - t - 1

なので、固有値は

ϕ=1+52,ψ=1−52\phi = \frac{1+\sqrt5}{2}, \qquad \psi = \frac{1-\sqrt5}{2}

です(黄金比とその共役)。相異なる 2 個の固有値があるので、定理 5.2 により固有ベクトルは一次独立で、定理 6.4 の条件 4 が満たされます(mgm_g の総和が 1+1=2=n1 + 1 = 2 = n)。

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

(1−λ)λ+1=λ−λ2+1=λ−(λ+1)+1=0(1-\lambda)\lambda + 1 = \lambda - \lambda^2 + 1 = \lambda - (\lambda+1) + 1 = 0

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

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

固有ベクトルには Akvλ=λkvλA^k\boldsymbol{v}_\lambda = \lambda^k \boldsymbol{v}_\lambda が成り立つ(Avλ=λvλA\boldsymbol{v}_\lambda = \lambda\boldsymbol{v}_\lambda を kk 回使う)ので、

(Fk+1Fk)=Ak(avϕ+bvψ)=aϕk(ϕ1)+bψk(ψ1)\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 成分を読むと

Fk=aϕk+bψk=15((1+52)k−(1−52)k)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=5k = 5 で検算すると ϕ5≈11.0902\phi^5 \approx 11.0902、ψ5≈−0.0902\psi^5 \approx -0.0902 なので F5≈(11.0902+0.0902)/2.2360=5F_5 \approx (11.0902 + 0.0902)/2.2360 = 5 で、確かに F5=5F_5 = 5 です。

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

次の例では、「分散を最大にする向きが固有ベクトルになる」理由そのものは扱わず、その結果を使って固有値の計算が何の役に立つかを見ます。理由はスペクトル定理の記事に書かれています。

例 7.2(主成分分析 — データが最も広がっている方向)

NN 個の pp 次元データ x1,…,xN∈Rp\boldsymbol{x}_1,\ldots,\boldsymbol{x}_N \in \mathbb{R}^p が、平均 0\boldsymbol{0} になるようあらかじめ中心化されているとします。これらを行に並べた N×pN \times p 行列を XX とすると、共分散行列は

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

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

1N∑i=1N⟨xi,u⟩2=1N uTXTXu=uTΣ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}

と書けます。主成分分析とは、この値を最大にする方向 u\boldsymbol{u} を探すことです。答えは「Σ\Sigma の最大固有値に属する固有ベクトル」であり、そのときの分散の値が最大固有値そのものです(レイリー商の最大・最小(定理 7.1)[スペクトル定理] がこれを与えます。スペクトル定理 と 内積空間とグラム・シュミット直交化 を参照してください)。

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

x1=(21),  x2=(12),  x3=(−1−2),  x4=(−2−1)\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}

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

∑ixi12=4+1+1+4=10,∑ixi1xi2=2+2+2+2=8,∑ixi22=1+4+4+1=10\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

なので

Σ=14(108810)=(2.5222.5)\Sigma = \frac{1}{4}\begin{pmatrix} 10 & 8 \\ 8 & 10\end{pmatrix} = \begin{pmatrix} 2.5 & 2 \\ 2 & 2.5 \end{pmatrix}

です。特性多項式は

φΣ(t)=(t−2.5)2−4=(t−2.5−2)(t−2.5+2)=(t−4.5)(t−0.5)\varphi_\Sigma(t) = (t - 2.5)^2 - 4 = (t - 2.5 - 2)(t - 2.5 + 2) = (t - 4.5)(t - 0.5)

で、固有値は 4.54.5 と 0.50.5 です。tr⁡Σ=5=4.5+0.5\operatorname{tr}\Sigma = 5 = 4.5 + 0.5、det⁡Σ=6.25−4=2.25=4.5×0.5\det\Sigma = 6.25 - 4 = 2.25 = 4.5 \times 0.5 と、系 4.5 による検算も合っています。

固有ベクトルは 例 3.4 と同じ計算で、4.54.5 に対して (1,1)T(1,1)^{\mathsf{T}}、0.50.5 に対して (1,−1)T(1,-1)^{\mathsf{T}} です。長さ 11 に正規化すると u1=(1,1)T/2\boldsymbol{u}_1 = (1,1)^{\mathsf{T}}/\sqrt2、u2=(1,−1)T/2\boldsymbol{u}_2 = (1,-1)^{\mathsf{T}}/\sqrt2 となります。

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

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

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 は実対称行列専用の関数で、固有値を昇順に、対応する固有ベクトルを列に持つ直交行列を返します。固有ベクトルの符号(および同じ固有値が重複する場合は固有空間内での取り方)は一意でないことに注意してください。注意 3.2 で述べた「決まるのは方向であってベクトルではない」という事情が、そのまま数値計算にも現れています。

演習 8.1標準

A=(311131113)A = \begin{pmatrix} 3 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 1 & 3 \end{pmatrix}

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

解答

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

φA(t)=det⁡(t−3−1−1−1t−3−1−1−1t−3)\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(t-3) - 1 - 1 = t-5 になるので、第 1 行から t−5t-5 をくくり出して

φA(t)=(t−5)det⁡(111−1t−3−1−1−1t−3)\varphi_A(t) = (t-5)\det\begin{pmatrix} 1 & 1 & 1 \\ -1 & t-3 & -1 \\ -1 & -1 & t-3 \end{pmatrix}

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

φA(t)=(t−5)det⁡(1110t−2000t−2)=(t−5)(t−2)2\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

です(最後は上三角行列の行列式)。よって固有値は λ=5\lambda = 5(ma=1m_a = 1)と λ=2\lambda = 2(ma=2m_a = 2)です。

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

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

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

λ=2\lambda = 2 のとき、A−2I=(111111111)A - 2I = \begin{pmatrix} 1&1&1\\1&1&1\\1&1&1\end{pmatrix} で、これは階数 11 です。方程式は x1+x2+x3=0x_1 + x_2 + x_3 = 0 の 1 本だけなので

W2={x:x1+x2+x3=0}=span⁡{(1,−1,0)T,(1,0,−1)T},mg(2)=2.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 .

mg(5)+mg(2)=1+2=3=nm_g(5) + m_g(2) = 1 + 2 = 3 = n なので、定理 6.4 の条件 4 により AA は対角化可能です。実際 P=(1111−1010−1)P = \begin{pmatrix} 1&1&1\\1&-1&0\\1&0&-1\end{pmatrix} とすれば P−1AP=diag⁡(5,2,2)P^{-1}AP = \operatorname{diag}(5,2,2) となります。

別解の見通し。 全成分が 11 の行列を JJ とすると A=2I+JA = 2I + J です。Ax=2x+JxA\boldsymbol{x} = 2\boldsymbol{x} + J\boldsymbol{x} なので、AA の固有値は JJ の固有値に 22 を足したものになります。JJ は階数 11 なので dim⁡ker⁡J=2\dim\ker J = 2、つまり固有値 00 が幾何学的重複度 22 で現れ、残る 1 個は 系 4.5 より tr⁡J−0−0=3\operatorname{tr}J - 0 - 0 = 3 です。よって AA の固有値は 2,2,52, 2, 5 となり、上の結果と一致します。

演習 8.2標準

A∈Mn(K)A \in M_n(K) について、AA と ATA^{\mathsf{T}} の特性多項式が一致することを示せ。したがって固有値も代数的重複度も一致する。一方で、固有空間 Wλ(A)W_\lambda(A) と Wλ(AT)W_\lambda(A^{\mathsf{T}}) は一般には一致しないことを、具体例を挙げて示せ。

解答

特性多項式の一致。 転置の性質 (X+Y)T=XT+YT(X + Y)^{\mathsf{T}} = X^{\mathsf{T}} + Y^{\mathsf{T}} と IT=II^{\mathsf{T}} = I より (tI−A)T=tI−AT(tI - A)^{\mathsf{T}} = tI - A^{\mathsf{T}} です。準備 6 の det⁡(MT)=det⁡M\det(M^{\mathsf{T}}) = \det M を M=tI−AM = tI - A に適用して

φAT(t)=det⁡(tI−AT)=det⁡((tI−A)T)=det⁡(tI−A)=φA(t)\varphi_{A^{\mathsf{T}}}(t) = \det(tI - A^{\mathsf{T}}) = \det\bigl((tI - A)^{\mathsf{T}}\bigr) = \det(tI - A) = \varphi_A(t)

を得ます。特性多項式が同じなら、その根とその重複度、すなわち固有値と代数的重複度(定義 6.1)も同じです。

固有空間は一致しない。 例 6.3 のせん断行列 A=(1101)A = \begin{pmatrix} 1&1\\0&1\end{pmatrix} を取ります。すでに見たとおり W1(A)=span⁡{e1}W_1(A) = \operatorname{span}\{\boldsymbol{e}_1\} です。一方

AT=(1011),AT−I=(0010)A^{\mathsf{T}} = \begin{pmatrix} 1 & 0 \\ 1 & 1\end{pmatrix}, \qquad A^{\mathsf{T}} - I = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix}

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

W1(AT)=span⁡{e2}≠span⁡{e1}=W1(A)W_1(A^{\mathsf{T}}) = \operatorname{span}\{\boldsymbol{e}_2\} \ne \operatorname{span}\{\boldsymbol{e}_1\} = W_1(A)

です。

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

mgA(λ)=n−rank⁡(A−λI)=n−rank⁡(AT−λI)=mgAT(λ)m_g^{A}(\lambda) = n - \operatorname{rank}(A - \lambda I) = n - \operatorname{rank}(A^{\mathsf{T}} - \lambda I) = m_g^{A^{\mathsf{T}}}(\lambda)

となるからです。上の例でも mg=1m_g = 1 で共通です。

演習 8.3標準

P∈Mn(K)P \in M_n(K) が P2=PP^2 = P を満たすとする(このような PP を射影という)。次を示せ。

  1. PP の固有値は 00 または 11 に限る。
  2. Kn=ker⁡P⊕im⁡PK^n = \ker P \oplus \operatorname{im} P であり、ker⁡P=W0\ker P = W_0、im⁡P=W1\operatorname{im}P = W_1。
  3. PP は対角化可能である。
解答

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

2. まず ker⁡P=W0\ker P = W_0 は定義そのものです(定義 5.1 で λ=0\lambda = 0)。

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

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

直和であること。x∈ker⁡P∩im⁡P=W0∩W1\boldsymbol{x} \in \ker P \cap \operatorname{im}P = W_0 \cap W_1 とすると、x∈W1\boldsymbol{x} \in W_1 より x=Px\boldsymbol{x} = P\boldsymbol{x}、x∈W0\boldsymbol{x} \in W_0 より Px=0P\boldsymbol{x} = \boldsymbol{0} なので x=0\boldsymbol{x} = \boldsymbol{0} です。(これは 系 5.3 の特別な場合でもあります。)

3. 2 より dim⁡W0+dim⁡W1=dim⁡Kn=n\dim W_0 + \dim W_1 = \dim K^n = n です。P=OP = O や P=IP = I のように固有値が片方しか現れない場合は、現れないほうの固有空間が {0}\{\boldsymbol{0}\} で次元 00 なので、この等式は「実際に現れる固有値についての mgm_g の総和が nn」と同じことを言っています。したがって 定理 6.4 の条件 4 が満たされ、PP は対角化可能です。対角化した形は、rank⁡P=r\operatorname{rank}P = r とすると diag⁡(1,…,1,0,…,0)\operatorname{diag}(1,\ldots,1,0,\ldots,0)(11 が rr 個)になります。

演習 8.4難

A,B∈Mn(K)A, B \in M_n(K) とする。λ≠0\lambda \ne 0 が ABAB の固有値ならば、λ\lambda は BABA の固有値でもあることを示せ。また、λ=0\lambda = 0 についてこの主張が成り立つかどうかを、nn が一般の場合について考えよ。

解答

λ≠0\lambda \ne 0 の場合。 λ≠0\lambda \ne 0 が ABAB の固有値なので、ABv=λvAB\boldsymbol{v} = \lambda\boldsymbol{v} を満たす v≠0\boldsymbol{v} \ne \boldsymbol{0} が取れます。w:=Bv\boldsymbol{w} := B\boldsymbol{v} と置きます。

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

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

(BA)w=BABv=B(ABv)=B(λv)=λBv=λw(BA)\boldsymbol{w} = BA B\boldsymbol{v} = B(AB\boldsymbol{v}) = B(\lambda\boldsymbol{v}) = \lambda B\boldsymbol{v} = \lambda\boldsymbol{w}

です(行列の積の結合法則と、BB の線形性を使いました)。w≠0\boldsymbol{w} \ne \boldsymbol{0} なので、定義 3.1 より λ\lambda は BABA の固有値です。

λ=0\lambda = 0 の場合。 正方行列どうしであれば、00 についても成り立ちます。命題 3.3 より 00 が ABAB の固有値であることは det⁡(AB)=0\det(AB) = 0 と同値です。行列式の乗法性(準備 2)から

det⁡(AB)=det⁡A⋅det⁡B=det⁡B⋅det⁡A=det⁡(BA)\det(AB) = \det A \cdot \det B = \det B \cdot \det A = \det(BA)

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

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

  • 齋藤正彦『線型代数入門』東京大学出版会、1966 — 第 5 章(固有値と固有ベクトル、対角化)。日本語の標準的な教科書で、この記事の内容はおおむね同章に対応します。
  • 佐武一郎『線型代数学』裳華房、1974 — 第 III 章・第 IV 章。特性多項式と最小多項式の関係、標準形への接続が丁寧です。
  • Sheldon Axler, Linear Algebra Done Right, 4th ed., Springer, 2024 — Chapter 5(Eigenvalues and Eigenvectors)。行列式を使わずに固有値の存在を示す構成で、この記事とは異なる筋道が学べます。オープンアクセス版が 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: 数値計算では特性方程式を解かない

Section titled “Appendix: 数値計算では特性方程式を解かない”

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

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

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

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

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

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

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

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

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