Skip to content

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

Prerequisite:Determinants and Their Properties: det as Signed Volume

Raw

This content is not available in your language yet.

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

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}} という斜めの座標軸を使えば、AAp1\boldsymbol{p}_1 方向に 33 倍、p2\boldsymbol{p}_2 方向に 11 倍する変換にほかなりません。実際、

Ap1=(33)=3p1,Ap2=(11)=1p2A\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} の安定性は固有値の実部で決まります。データ解析における主成分分析は、共分散行列の固有ベクトルを「データが最も広がっている方向」として取り出す手続きです。Example 7.1Example 7.2 で、この二つを最後まで計算して見せます。

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

線形変換 T:VVT : V \to VVV の基底 B=(b1,,bn)\mathcal{B} = (\boldsymbol{b}_1,\ldots,\boldsymbol{b}_n) が与えられると、表現行列 AMn(K)A \in M_n(K) が定まります。基底を B\mathcal{B}' に取り替えると表現行列は P1APP^{-1}AP に変わります(PP は基底変換行列。表現行列の変換則(Theorem 5.2)[Matrices and Linear Systems] を参照)。この関係を相似といいます。詳しくは ベクトル空間と線形変換 を参照してください。

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

  1. 次元定理: 線形写像 S:VVS : V \to V について dimkerS+dimimS=dimV\dim \ker S + \dim \operatorname{im} S = \dim V次元定理(Theorem 7.3)[Vector Spaces and Linear Maps])。とくに有限次元では、SS が単射であることと全射であること、正則であることは同値です。
  2. 行列式の乗法性: det(AB)=detAdetB\det(AB) = \det A \cdot \det B積の定理(Theorem 6.1)[Determinants and Their Properties])。また AA が正則なら det(A1)=(detA)1\det(A^{-1}) = (\det A)^{-1}
  3. 正則性の判定: AA が正則であることと detA0\det A \ne 0 は同値(正則性の判定(Theorem 7.1)[Determinants and Their Properties])。同値な言い換えとして、Ax=0A\boldsymbol{x} = \boldsymbol{0} が非自明解を持つことと detA=0\det A = 0 は同値です。
  4. 三角行列の行列式: 上三角行列(下三角行列)の行列式は対角成分の積です(転置不変性と三角行列(Proposition 3.3)[Determinants and Their Properties])。
  5. ブロック三角行列の行列式: XXrr 次、ZZss 次の正方行列、YYr×sr \times s 行列、OOs×rs \times r 零行列とすると、det(XYOZ)=detXdetZ\det \begin{pmatrix} X & Y \\ O & Z \end{pmatrix} = \det X \cdot \det Z が成り立ちます。
  6. 転置不変性: det(AT)=detA\det(A^{\mathsf{T}}) = \det A

Definition 3.1固有値と固有ベクトル

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

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

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

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

Remark 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} が成り立ってしまい、すべてのスカラーが固有値になります。これでは何の情報も持たない概念になるので、固有ベクトルには v0\boldsymbol{v} \ne \boldsymbol{0} を要求します。

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

なお、v\boldsymbol{v}λ\lambda に属する固有ベクトルなら、任意の c0c \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 倍になるだけ。

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

Proposition 3.3固有値の判定条件

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

  1. λ\lambdaAA の固有値である。
  2. 行列 AλIA - \lambda I は正則でない。
  3. det(λIA)=0\det(\lambda I - A) = 0
Proof(Proposition 3.3)

まず 1 と 2 の同値性を示します。λ\lambdaAA の固有値であるとは、Definition 3.1 より Av=λvA\boldsymbol{v} = \lambda\boldsymbol{v} を満たす v0\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 は同値であり、さらに λIA=(AλI)\lambda I - A = -(A - \lambda I) なので、行列式の nn 重線形性から

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

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

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

Example 3.42 次の対称行列を最後まで解く

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

det(λIA)=det(λ211λ2)=(λ2)21=λ24λ+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 のとき、(A3I)x=0(A - 3I)\boldsymbol{x} = \boldsymbol{0} を解きます。

A3I=(1111),{x1+x2=0x1x2=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:cR}\{ 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 のとき、

AI=(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=(21,12)T=(1,1)T=1p2A\boldsymbol{p}_2 = (2-1, 1-2)^{\mathsf{T}} = (1,-1)^{\mathsf{T}} = 1 \cdot \boldsymbol{p}_2 です。

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

AP=(3131)=(1111)(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}

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

Definition 4.1特性多項式

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

φA(t):=det(tIA)\varphi_A(t) := \det(t I - A)

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

Remark 4.2符号の流儀について

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

なお、det(tIA)\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 に数値を代入する関数だと思って読んでも支障ありません。

Proposition 4.3特性多項式の次数と係数

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

φA(t)=tn(trA)tn1+cn2tn2++c1t+(1)ndetA\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

の形をしている。ここで trA=i=1naii\operatorname{tr} A = \sum_{i=1}^{n} a_{ii}AA のトレース(対角和)であり、cn2,,c1Kc_{n-2},\ldots,c_1 \in KAA の成分から定まるスカラーである。

Proof(Proposition 4.3)

M=tIAM = tI - A と置きます。その成分は mii=taiim_{ii} = t - a_{ii}iji \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(taii)\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) と置けば j0i0j_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 を含みうる因子(対角成分の因子)は高々 n2n - 2 個であり、この項の次数は n2n-2 以下です。

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

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

Theorem 4.4特性多項式と固有空間の相似不変性

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

  1. φB(t)=φA(t)\varphi_B(t) = \varphi_A(t)。とくに trB=trA\operatorname{tr} B = \operatorname{tr} A かつ detB=detA\det B = \det A
  2. 任意の λK\lambda \in K について、写像 vP1v\boldsymbol{v} \mapsto P^{-1}\boldsymbol{v}ker(AλI)\ker(A - \lambda I) から ker(BλI)\ker(B - \lambda I) への同型を与える。とくに dimker(AλI)=dimker(BλI)\dim \ker(A - \lambda I) = \dim \ker(B - \lambda I)
Proof(Theorem 4.4)

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

tIB=tIP1AP=P1(tI)PP1AP=P1(tIA)PtI - B = tI - P^{-1}AP = P^{-1}(tI)P - P^{-1}AP = P^{-1}(tI - A)P

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

φB(t)=det(P1(tIA)P)=det(P1)det(tIA)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)

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

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

Bw=P1APP1v=P1Av=P1(λv)=λP1v=λ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}

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

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

Corollary 4.5固有値の総和と総積

AMn(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=trA,i=1nλi=detA.\sum_{i=1}^{n} \lambda_i = \operatorname{tr} A, \qquad \prod_{i=1}^{n} \lambda_i = \det A .
Proof(Corollary 4.5)

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

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

Corollary 4.6固有値の存在

n1n \ge 1 とする。

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

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

2. φA\varphi_A は実係数のモニックな nn 次多項式で、nn は奇数です。t+t \to +\infty のとき φA(t)+\varphi_A(t) \to +\inftytt \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} が存在します。

Example 4.7三角行列の固有値は対角成分

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

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

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

A=(572053001)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)=t21=(t1)(t+1)\varphi_A(t) = t^2 - 1 = (t-1)(t+1) なので固有値は ±1\pm 1 です。00 は固有値ではありません(実際この行列は正則で、detA=10\det A = -1 \ne 0 です)。

Example 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(tcosθsinθsinθtcosθ)=(tcosθ)2+sin2θ=t22(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

です。判別式は 4cos2θ4=4sin2θ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θ)x1sinθx2=isinθx1sinθ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

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

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

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

Definition 5.1固有空間

AMn(K)A \in M_n(K)λK\lambda \in K に対し、

Wλ:=ker(AλI)={xKn: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,yWλ\boldsymbol{x}, \boldsymbol{y} \in W_\lambdacKc \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+cyWλ\boldsymbol{x} + c\boldsymbol{y} \in W_\lambda です。

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

λ が A の固有値    Wλ{0}    dimWλ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} の解空間を求めることであり、掃き出し法で機械的に計算できます。次元は次元定理から

dimWλ=nrank(AλI)\dim W_\lambda = n - \operatorname{rank}(A - \lambda I)

で求まります。

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

Theorem 5.2相異なる固有値に属する固有ベクトルの一次独立性

AMn(K)A \in M_n(K) とし、λ1,,λkK\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 は一次独立である。

Proof(Theorem 5.2)

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

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

帰納段階。 k1k - 1 個の場合に主張が成り立つと仮定し、kk 個の場合を示します。スカラー c1,,ckKc_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++ck1(λk1λk)vk1=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,,vk1\boldsymbol{v}_1,\ldots,\boldsymbol{v}_{k-1} は相異なる固有値 λ1,,λk1\lambda_1,\ldots,\lambda_{k-1} に属する固有ベクトルなので、帰納法の仮定によって一次独立です。よってすべての係数が 00、すなわち

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

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

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

Corollary 5.3固有空間の和は直和

λ1,,λk\lambda_1,\ldots,\lambda_kAMn(K)A \in M_n(K) の互いに相異なる固有値とすると、和 Wλ1++WλkW_{\lambda_1} + \cdots + W_{\lambda_k} は直和である。すなわち、wiWλ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=1kdimWλin.\dim(W_{\lambda_1} + \cdots + W_{\lambda_k}) = \sum_{i=1}^{k}\dim W_{\lambda_i} \le n .
Proof(Corollary 5.3)

wiWλi\boldsymbol{w}_i \in W_{\lambda_i}i=1kwi=0\sum_{i=1}^k \boldsymbol{w}_i = \boldsymbol{0} を満たすとし、S={i:wi0}S = \{ i : \boldsymbol{w}_i \ne \boldsymbol{0}\} と置きます。SS \ne \emptyset と仮定して矛盾を導きます。

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

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

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

Definition 6.1代数的重複度と幾何学的重複度

λ\lambdaAMn(K)A \in M_n(K) の固有値とする。

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

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

Theorem 6.2幾何学的重複度は代数的重複度以下

λ\lambdaAMn(K)A \in M_n(K) の固有値とすると

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

が成り立つ。

Proof(Theorem 6.2)

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

右端の不等式。 φA\varphi_Ann 次(Proposition 4.3)で、(tλ)ma(λ)(t-\lambda)^{m_a(\lambda)} がその因子なので ma(λ)nm_a(\lambda) \le n です。

中央の不等式。 d=mg(λ)=dimWλ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

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

B=P1APB = P^{-1}AP の形を調べます。BB の第 jj 列は P1ApjP^{-1}A\boldsymbol{p}_jjdj \le d)または P1AqjP^{-1}A\boldsymbol{q}_jj>dj > d)です。jdj \le d のときは pjWλ\boldsymbol{p}_j \in W_\lambda より Apj=λpjA\boldsymbol{p}_j = \lambda\boldsymbol{p}_j なので

P1Apj=λP1pj=λejP^{-1}A\boldsymbol{p}_j = \lambda P^{-1}\boldsymbol{p}_j = \lambda \boldsymbol{e}_j

です(Pej=pjP\boldsymbol{e}_j = \boldsymbol{p}_j すなわち P1pj=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}

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

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

φB(t)=det((tλ)Id)det(tIndD)=(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)

です。AABB は相似なので Theorem 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) で割り切れる最大回数(Definition 6.1)ですから、ma(λ)d=mg(λ)m_a(\lambda) \ge d = m_g(\lambda) を得ます。

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

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

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

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

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

固有空間を求めます。

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

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

W1={(c,0)T:cK}=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) で、Theorem 6.2 の不等号は真の不等号になりえます。dimW1=2rank(AI)=21=1\dim W_1 = 2 - \operatorname{rank}(A - I) = 2 - 1 = 1 と、次元定理から求めても同じです。

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

Theorem 6.4対角化可能性の判定

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

  1. AAKK 上対角化可能である。すなわち、正則行列 PMn(K)P \in M_n(K) が存在して P1APP^{-1}AP が対角行列となる。
  2. KnK^nAA の固有ベクトルからなる基底を持つ。
  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
Proof(Theorem 6.4)

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

2 から 4。 固有ベクトルからなる基底 p1,,pn\boldsymbol{p}_1,\ldots,\boldsymbol{p}_n を取ります。各 pj\boldsymbol{p}_j はある固有値に属するので、ある ii について pjWλi\boldsymbol{p}_j \in W_{\lambda_i} です(λ1,,λk\lambda_1,\ldots,\lambda_k は固有値のすべてなので、この ii は必ず存在します)。pjWλ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 本のベクトルは、基底の一部なので一次独立です。したがって nidimWλi=mg(λi)n_i \le \dim W_{\lambda_i} = m_g(\lambda_i) であり、n=iniimg(λi)n = \sum_i n_i \le \sum_i m_g(\lambda_i) を得ます。逆向きの不等式は Corollary 5.3idimWλin\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}wiWλi\boldsymbol{w}_i \in W_{\lambda_i})の形になります。Corollary 5.3 よりすべての wi=0\boldsymbol{w}_i = \boldsymbol{0} で、さらに wi\boldsymbol{w}_iWλiW_{\lambda_i} の基底の一次結合なので、その係数はすべて 00 です。よって一次独立で、本数が n=dimKnn = \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 を割り切る(Definition 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 上で一次式の積に分解することは同値です。

さて Theorem 6.2 より各 iimg(λ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 はこの両端が等しいことなので、途中の不等号がすべて等号であること、つまり「各 iimg(λ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 です。

Remark 6.5対角化できないときに何をするか

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

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

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

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["対角化不可能:ジョルダン標準形へ"]
固有値・固有空間・重複度を求める手順の全体像

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

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

Example 7.1フィボナッチ数列とビネの公式

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

(Fk+1Fk)=(1110)(FkFk1),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(t111t)=t(t1)1=t2t1\varphi_A(t) = \det\begin{pmatrix} t-1 & -1 \\ -1 & t\end{pmatrix} = t(t-1) - 1 = t^2 - t - 1

なので、固有値は

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

です(黄金比とその共役)。相異なる 2 個の固有値があるので、Theorem 5.2 により固有ベクトルは一次独立で、Theorem 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λ\lambdat2t1t^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/\sqrt5b=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}_\lambdakk 回使う)ので、

(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(152)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 で検算すると ϕ511.0902\phi^5 \approx 11.0902ψ50.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 項は kk \to \infty00 に収束します。したがって FkF_kϕk/5\phi^k/\sqrt5 に漸近し、比 Fk+1/FkF_{k+1}/F_kϕ\phi に収束します。べき乗の長期挙動は絶対値最大の固有値が支配するという一般原理の、最も簡単な現れ方です。

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

NN 個の pp 次元データ x1,,xNRp\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} の方向にデータを射影したときの分散は

1Ni=1Nxi,u2=1NuTXTXu=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 の最大固有値に属する固有ベクトル」であり、そのときの分散の値が最大固有値そのものです(レイリー商の最大・最小(Theorem 7.1)[スペクトル定理] がこれを与えます。スペクトル定理内積空間とグラム・シュミット直交化 を参照してください)。

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

x1=(21),  x2=(12),  x3=(12),  x4=(21)\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)=(t2.5)24=(t2.52)(t2.5+2)=(t4.5)(t0.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.50.50.5 です。trΣ=5=4.5+0.5\operatorname{tr}\Sigma = 5 = 4.5 + 0.5detΣ=6.254=2.25=4.5×0.5\det\Sigma = 6.25 - 4 = 2.25 = 4.5 \times 0.5 と、Corollary 4.5 による検算も合っています。

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

Exercise 8.1標準

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

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

Solution

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

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

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

φA(t)=(t5)det(1111t3111t3)\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)=(t5)det(1110t2000t2)=(t5)(t2)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 = 5ma=1m_a = 1)と λ=2\lambda = 2ma=2m_a = 2)です。

λ=5\lambda = 5 のとき、A5I=(211121112)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}、すなわち rank2\operatorname{rank} \le 2 です。第 1 行と第 2 行は互いに定数倍でないので rank=2\operatorname{rank} = 2、したがって dimW5=32=1\dim W_5 = 3 - 2 = 1 です。方程式を解くと、第 1 式と第 2 式の差から 3x13x2=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 のとき、A2I=(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 なので、Theorem 6.4 の条件 4 により AA は対角化可能です。実際 P=(111110101)P = \begin{pmatrix} 1&1&1\\1&-1&0\\1&0&-1\end{pmatrix} とすれば P1AP=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 なので dimkerJ=2\dim\ker J = 2、つまり固有値 00 が幾何学的重複度 22 で現れ、残る 1 個は Corollary 4.5 より trJ00=3\operatorname{tr}J - 0 - 0 = 3 です。よって AA の固有値は 2,2,52, 2, 5 となり、上の結果と一致します。

Exercise 8.2標準

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

Solution

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

φAT(t)=det(tIAT)=det((tIA)T)=det(tIA)=φ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)

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

固有空間は一致しない。 Example 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),ATI=(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}

なので、(ATI)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(λ)=nrank(AλI)=nrank(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 で共通です。

Exercise 8.3標準

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

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

1. λ\lambda を固有値、v0\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} で、v0\boldsymbol{v} \ne \boldsymbol{0} より λ2λ=λ(λ1)=0\lambda^2 - \lambda = \lambda(\lambda-1) = 0、すなわち λ{0,1}\lambda \in \{0, 1\} です。

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

次に imP=W1\operatorname{im}P = W_1 を示します。wimP\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} なので wW1\boldsymbol{w} \in W_1 です。逆に wW1\boldsymbol{w} \in W_1 なら w=PwimP\boldsymbol{w} = P\boldsymbol{w} \in \operatorname{im}P です。よって imP=W1\operatorname{im}P = W_1

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

直和であること。xkerPimP=W0W1\boldsymbol{x} \in \ker P \cap \operatorname{im}P = W_0 \cap W_1 とすると、xW1\boldsymbol{x} \in W_1 より x=Px\boldsymbol{x} = P\boldsymbol{x}xW0\boldsymbol{x} \in W_0 より Px=0P\boldsymbol{x} = \boldsymbol{0} なので x=0\boldsymbol{x} = \boldsymbol{0} です。(これは Corollary 5.3 の特別な場合でもあります。)

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

Exercise 8.4

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

Solution

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

まず w0\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} となり、v0\boldsymbol{v} \ne \boldsymbol{0} に矛盾します。よって w0\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 の線形性を使いました)。w0\boldsymbol{w} \ne \boldsymbol{0} なので、Definition 3.1 より λ\lambdaBABA の固有値です。

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

det(AB)=detAdetB=detBdetA=det(BA)\det(AB) = \det A \cdot \det B = \det B \cdot \det A = \det(BA)

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

注意。 AAm×nm\times nBBn×mn \times m の長方形行列の場合、ABABmm 次、BABAnn 次で、サイズが違います。このときも非零固有値は一致しますが(上の議論はそのまま通用します)、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} で固有値は 1100 です。なお、正方行列の場合には固有値の集合だけでなく特性多項式そのものが一致します(φ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(tk)\prod_{k=1}^{20}(t - k) という根が 1,2,,201,2,\ldots,20 の多項式で、t19t^{19} の係数を 2232^{-23} ほど動かすだけで、いくつかの根が複素平面上へ大きく動きます。特性多項式の係数を経由すると、行列そのものは素直なのに途中で精度が壊れる、という事態が起こります。

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

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

Report an error in this article ・Operated by: Mugen Giken LLCPricingTermsLegal notice

© 2026 夢現技研合同会社 ・Feeding the text to an LLM is welcome. Code samples are MIT licensed.