固有値と固有ベクトル — 変換しても向きが変わらない特別な軸

行列をかけると、ほとんどのベクトルは向きをねじ曲げられます。ところが中には、向きを保ったまま長さだけ λ 倍される特別な方向がある——それが固有ベクトルで、倍率 λ が固有値。行列の「個性」を最も雄弁に語るこの2つを、探して・使って・応用まで動かして理解します。

1. 「向きが変わらない方向」を探せ

単位円の上のあらゆる向きのベクトル v に行列 A をかけ、v とその像 Av を細い線で結んでみます。像の全体は楕円になり、ほとんどの向きは回されて線が斜めに走ります。しかし固有ベクトルの方向だけは、v と Av が一直線上に乗る——線が円の半径方向を向くのです。

単位円の全ベクトルと像 — 固有ベクトル方向だけ平行のまま
白い矢印=掃引中の v、青い矢印=その像 Av。オレンジと緑の直線が固有ベクトルの方向で、v がそこを通過する瞬間だけ2本の矢印が重なります(右上の「平行度」メーターが振り切れる)。スライダーで行列を変えると固有方向も動きます。b = −1, c = 1 のような「回転が強い」行列にすると実数の固有ベクトルが消える様子も見てください。
Av = λv (v ≠ 0) A をかけても向きが変わらず(λ < 0 なら反転)、長さが λ 倍になるだけの方向 v = 固有ベクトル、λ = 固有値
POINT — 固有ベクトルは変換の「軸」、固有値はその軸の「伸縮率」 複雑に見える線形変換も、固有ベクトルの方向では「λ 倍に伸ばすだけ」という最も単純な動きしかしない。λ > 1 なら引き伸ばす軸、0 < λ < 1 なら押し縮める軸、λ < 0 なら反転させる軸、そして λ = 0 の軸はその方向を完全につぶす(det = 0 の世界と地続き)。

2. 固有値の求め方 — 特性方程式

Av = λv を移項すると (A − λI)v = 0。v ≠ 0 の解が存在するのは、行列 A − λI が空間をつぶすとき——つまり前回学んだ「det = 0」のときだけです。これが固有値を求める方程式になります。

det(A − λI) = 0  ⟹  λ2 − (a + d)λ + (ad − bc) = 0 2×2 の特性方程式。a + d はトレース(対角和)、ad − bc は行列式——固有値は行列の2大要約量から決まる

具体例で計算してみましょう。A = (2112) なら、

det(A − λI) = (2 − λ)2 − 1·1 = λ2 − 4λ + 3 = (λ − 1)(λ − 3) = 0 λ₁ = 3 の固有ベクトルは u₁ = (1, 1) 方向、λ₂ = 1 の固有ベクトルは u₂ = (1, −1) 方向(代入して確認できる)
注意 — 実数の固有ベクトルが「無い」行列もある 90°回転の行列は、どのベクトルの向きも必ず変えてしまうので実数の固有ベクトルを持ちません(固有値は複素数 ±i になる)。一方、対称行列(A = Aᵀ)は必ず実数の固有値を持ち、固有ベクトルどうしは直交する。後で見る共分散行列が対称であることは、PCA にとって決定的に重要です。

3. べき乗法 — 繰り返しかけると固有ベクトルが浮かび上がる

適当なベクトル v₀ に A を繰り返しかけると何が起きるか。v₀ を固有ベクトルの成分に分解すると、1回かけるごとに各成分が λ 倍されるので——

Akv₀ = c₁λ₁ku₁ + c₂λ₂ku₂  ≈  c₁λ₁ku₁ |λ₁| > |λ₂| なら比 (λ₂/λ₁)ᵏ が 0 へ消え、最大固有値の方向 u₁ だけが生き残る

つまり どこから始めても、ベクトルは最大固有値の固有ベクトル方向へ吸い寄せられる。この単純な反復だけで λ₁ と u₁ を求める方法をべき乗法と呼びます。A = (2112)(λ₁ = 3, λ₂ = 1)で試してみましょう。

べき乗法 — A を連打すると u₁ に吸い寄せられる
左:白い矢印が現在の向き(毎回正規化して表示)、紫の点が過去の向きの履歴。どの開始角度でもオレンジの u₁ 方向(45° か 225°)へ収束します。右:1回ごとの伸び率 ‖Av‖/‖v‖ が λ₁ = 3 に収束していくバー。開始角度をちょうど 135° や 315°(u₂ 方向)にすると理論上は動かないはず——試すと数値誤差でやがて u₁ へ滑り落ちる、という数値計算らしい現象も観察できます。

4. 対角化 — 固有ベクトルの基底では「伸縮だけ」

固有ベクトルが2本(平面を張るだけ)あれば、それらを新しい座標軸に採用できます。この固有基底から眺めると、A の仕事は「各軸方向に λ 倍する」だけ——ただの対角行列 D に見えます。座標の乗り換えを担うのが、固有ベクトルを列に並べた行列 P です。

A = PDP−1,   Ak = PDkP−1 P = 固有ベクトルを並べた行列、D = 固有値の対角行列。A を k 回かける計算が「対角成分を k 乗する」だけになる

「複雑な変換も、正しい軸で見ればただの伸縮」——これが対角化の直感です。べき乗法で見た Ak の振る舞いも、Dk = diag(λ₁k, λ₂k) を見れば一目瞭然です。

5. 応用① — データの主軸を見つける(PCA 再訪)

2次元の点群データから共分散行列(各方向の散らばり具合をまとめた対称行列)を作り、その固有ベクトルを求めると——それはデータが最も伸びている軸(第1主成分)と、それに直交する軸を指します。固有値はその方向の分散そのもの。これが次元削減とPCAの数学的な心臓部です。

共分散行列の固有ベクトル = データの主軸
点群から共分散行列を実際に計算し、その固有ベクトルを矢印で重ね描きしています(長さは ±2√λ = ±2標準偏差)。データを回しても伸ばしても、オレンジの第1主成分が常に「一番散らばっている向き」を追いかけることを確認してください。共分散行列は対称なので、2本の主軸は必ず直交します。

6. 応用② — 反復は収束するか、発散するか

状態を行列で更新し続けるシステム xk+1 = A xk の運命は、固有値の絶対値が握っています。べき乗法の式が示すとおり、成分は λk で伸縮するので、すべての固有値が |λ| < 1 なら収束(安定)、ひとつでも |λ| > 1 があれば発散(不安定)。境界の |λ| = 1 では大きさが保たれます。

|λ| = 1 が運命の分かれ目 — 収束と発散の分岐デモ
A =「|λ| 倍しながら少し回す」行列(固有値は複素数で絶対値 |λ|)。スライダーを 1.00 の前後で動かすと、渦巻きが内向き(収束)から外向き(発散)へ切り替わります。RNN の勾配消失・爆発、フィードバック制御の安定判別、マルコフ連鎖の収束——すべてこの1枚の絵の言い換えです。

7. まとめ

一歩先へ — 固有値問題はどこにでもいる Google の PageRank はリンク構造の行列の「λ = 1 の固有ベクトル」で、実際に巨大なべき乗法で計算されます。橋やビルの固有振動数は運動方程式の固有値(共振を避ける設計の要)。量子力学では観測されうる値そのものが演算子の固有値です。さらにグラフのスペクトラルクラスタリング、マルコフ連鎖の定常分布、そして行列分解 SVD——「行列を理解する」とは「固有値を理解する」ことだと言っても大げさではありません。