対角化:行列を最も簡単な形に

固有値・固有ベクトルを使って行列を最も簡単な形へ変換し、冪乗や指数関数を効率よく計算する。

中級(大学3〜4年レベル)

このページの目標

対角化とは何か、いつ可能か、どう計算するかを理解する。対角化によって行列の冪乗や指数関数が簡単に計算できることを示す。

1. 対角化とは

1.1 対角行列の威力

行列の冪乗 $A^n$ や指数関数 $e^A$ は、一般には計算が難しい。しかし $A$ を対角行列に変換できれば、これらは対角成分ごとの単純な計算に帰着する——これが対角化を学ぶ動機である。

対角行列は最も扱いやすい行列である:

$$D = \begin{pmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{pmatrix}$$

対角行列の冪乗は簡単:

$$D^k = \begin{pmatrix} \lambda_1^k & 0 & \cdots & 0 \\ 0 & \lambda_2^k & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n^k \end{pmatrix}$$

1.2 対角化の定義

定義:行列 $A$ が対角化可能であるとは、正則行列 $P$ が存在して

$$P^{-1}AP = D$$

が対角行列になること。同値な書き方:$A = PDP^{-1}$

この式の意味を図で見てみよう。$P$ の列は $A$ の固有ベクトル $\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n$ であり、$P$ は「固有ベクトルを座標軸にとる」ことを表す。この固有ベクトルたちを軸にした座標系を固有基底(eigenbasis)とよぶ。$P^{-1}$ で固有基底に移ると、$A$ の働きは各固有ベクトルの方向を対応する固有値 $\lambda_i$ 倍するだけの対角行列 $D$ になる。つまり標準基底では複雑に見える変換 $A$ も、基底をうまく選べば「軸ごとの拡大・縮小」という単純な形になる——これが対角化である。

下図の記号 $[\boldsymbol{v}]_B$ は、固有基底 $B = \{\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n\}$ で見たときのベクトル $\boldsymbol{v}$ の座標を表す。破線は固有ベクトルの方向(固有軸)である。

標準基底 v Av A は複雑な変換 固有基底 v₁ v₂ [v]B D[v]B D は軸ごとにスケール A = PDP⁻¹ ① P⁻¹: 固有基底へ変換 ② D: 軸方向にスケール ③ P: 元の基底に戻す 対角行列 D が「本質」
図1: 対角化 A = PDP⁻¹ の幾何学的意味 — 適切な基底を選ぶと、変換は各軸方向のスケーリングになる

1.3 $P$ と $D$ の構成

$A$ の固有値を $\lambda_1, \ldots, \lambda_n$、対応する固有ベクトルを $\boldsymbol{v}_1, \ldots, \boldsymbol{v}_n$ とすると:

$$P = \begin{pmatrix} | & | & & | \\ \boldsymbol{v}_1 & \boldsymbol{v}_2 & \cdots & \boldsymbol{v}_n \\ | & | & & | \end{pmatrix}, \quad D = \begin{pmatrix} \lambda_1 & & \\ & \ddots & \\ & & \lambda_n \end{pmatrix}$$

2. 対角化可能の条件

2.1 必要十分条件

対角化可能の条件

$n \times n$ 行列 $A$ が対角化可能 ⇔ $A$ は $n$ 個の線形独立な固有ベクトルを持つ

2.2 十分条件(簡単に判定)

  • $A$ が $n$ 個の相異なる固有値を持つ ⇒ 対角化可能(異なる固有値に対応する固有ベクトルは一次独立だから)
  • $A$ が対称行列($A = A^T$)⇒ 対角化可能(直交行列で対角化できる)

2.3 重複度による判定(代数重複度と幾何重複度)

重要:固有値だけでは対角化可能性は判定できない

同じ固有値を持つ行列でも、対角化できる場合とできない場合がある。判定には固有空間の次元を調べる必要がある。

定義:代数重複度と幾何重複度

固有値 $\lambda$ に対して:

  • 代数重複度(algebraic multiplicity):特性多項式における $\lambda$ の重複度
  • 幾何重複度(geometric multiplicity):固有空間 $\ker(A - \lambda I)$ の次元

常に $1 \leq \text{幾何重複度} \leq \text{代数重複度}$ が成り立つ。

対角化可能の判定条件(完全版)

$n \times n$ 行列 $A$ が対角化可能 ⇔ すべての固有値 $\lambda$ について

$$\text{幾何重複度}(\lambda) = \text{代数重複度}(\lambda)$$

同値に:すべての固有値の幾何重複度の和が $n$ に等しい。

例:同じ固有値でも対角化可能性が異なる

以下の2つの行列はどちらも固有値 $\lambda = 1$(重複度2)を持つが、対角化可能性が異なる:

✓ 対角化可能

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

  • 固有値:$\lambda = 1$(代数重複度2)
  • 固有空間:$\mathbb{R}^2$ 全体(幾何重複度2)
  • 独立な固有ベクトル:2個
  • 代数重複度 = 幾何重複度 → 対角化可能
✗ 対角化不可能

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

  • 固有値:$\lambda = 1$(代数重複度2)
  • 固有空間:$\text{span}\left\{\begin{pmatrix} 1 \\ 0 \end{pmatrix}\right\}$(幾何重複度1)
  • 独立な固有ベクトル:1個のみ
  • 代数重複度 > 幾何重複度 → 対角化不可能

👉 固有値(特性多項式)だけを見ても対角化可能性は判定できない。固有空間の次元を調べる必要がある。

2.4 対角化できない例

$A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ を考える。

特性方程式:$(1-\lambda)^2 = 0$ より、$\lambda = 1$(重複度 2)。

固有空間:$(A - I)\boldsymbol{v} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}$ より、固有ベクトルは $\begin{pmatrix} 1 \\ 0 \end{pmatrix}$ の定数倍のみ。

線形独立な固有ベクトルが1個しかないので、対角化不可能。

対角化可能 v₁ v₂ 2個の独立な固有ベクトル → R²を張る ✓(直交は不要) 対角化不可能 固有ベクトルはこの直線上のみ v₁ 独立な固有ベクトルは1本だけ → R² を張れない ✗
図2: 対角化可能な行列は n 個の独立な固有ベクトルで空間全体を張れるが、不可能な行列は張れない

3. 対角化の手順

3.1 アルゴリズム

  1. 特性方程式 $\det(A - \lambda I) = 0$ を解いて固有値を求める
  2. 各固有値に対して固有ベクトルを求める
  3. 固有ベクトルが $n$ 個線形独立かチェック
  4. $P$ を固有ベクトルを列ベクトルとして並べた行列、$D$ を固有値を対角に並べた行列とする
  5. 検算:$P^{-1}AP = D$(同値に各 $i$ で $A\boldsymbol{v}_i = \lambda_i \boldsymbol{v}_i$)が成り立つことを確認する

3.2 具体例

$A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}$ を対角化する。

ステップ1:固有値

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

固有値:$\lambda_1 = 5$, $\lambda_2 = 2$

ステップ2:固有ベクトル

$\lambda_1 = 5$:$(A - 5I)\boldsymbol{v} = \begin{pmatrix} -1 & 1 \\ 2 & -2 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}$ より $\boldsymbol{v}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$

$\lambda_2 = 2$:$(A - 2I)\boldsymbol{v} = \begin{pmatrix} 2 & 1 \\ 2 & 1 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}$ より $\boldsymbol{v}_2 = \begin{pmatrix} 1 \\ -2 \end{pmatrix}$

ステップ3:結果

$$P = \begin{pmatrix} 1 & 1 \\ 1 & -2 \end{pmatrix}, \quad D = \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix}$$ $$A = PDP^{-1}$$
Step 1 det(A−λI) = 0 Step 2 (A−λI)v = 0 Step 3 n 個独立? Step 4 P, D を構成 λ₁ = 5 λ₂ = 2 v₁ = (1,1)ᵀ v₂ = (1,−2)ᵀ ✓ 2個独立 P = [v₁|v₂] D = diag(5, 2) 検算: A = PDP⁻¹ を確認 → A·v₁ = 5v₁, A·v₂ = 2v₂ ✓
図3: 対角化の4ステップ — 具体例 A = [[4,1],[2,3]] の場合

4. 対角化の応用

4.1 行列の冪乗

$A = PDP^{-1}$ なら:

$$A^k = (PDP^{-1})^k = PD^kP^{-1}$$

$D^k$ は対角成分を $k$ 乗するだけなので、計算が簡単。

4.2 行列指数関数

$$e^A = Pe^DP^{-1}, \quad e^D = \begin{pmatrix} e^{\lambda_1} & & \\ & \ddots & \\ & & e^{\lambda_n} \end{pmatrix}$$

4.3 フィボナッチ数列

フィボナッチ数列 $F_n = F_{n-1} + F_{n-2}$ は行列で表せる:

$$\begin{pmatrix} F_{n+1} \\ F_n \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}^n \begin{pmatrix} 1 \\ 0 \end{pmatrix}$$

この行列を対角化すると、$F_n$ の一般項(Binet の公式)が得られる:

$$F_n = \dfrac{1}{\sqrt{5}}\left[\left(\dfrac{1+\sqrt{5}}{2}\right)^n - \left(\dfrac{1-\sqrt{5}}{2}\right)^n\right]$$
直接計算 A¹⁰⁰ = A · A · A · … · A 100回の行列積 現実的に不可能 対角化を利用 A¹⁰⁰ = P D¹⁰⁰ P⁻¹ D¹⁰⁰ = diag(λ₁¹⁰⁰, λ₂¹⁰⁰, …) 一瞬で計算可能 vs
図4: 行列の冪乗 — 直接計算 vs 対角化利用の比較

4.4 対角化が活きる場面

対角化は「行列のべき乗・関数を対角成分ごとの計算に帰着させる」道具として、さまざまな分野で本質的に使われる。

応用対角化がすること
行列の冪乗 $A^n$$A^n = PD^nP^{-1}$ で $\lambda_i^n$ の計算に帰着する
線形微分方程式系 $\dot{\boldsymbol{x}} = A\boldsymbol{x}$$e^{At} = Pe^{Dt}P^{-1}$ で各固有モードに分解する
線形漸化式(フィボナッチ等)行列べき乗から一般項(Binet の公式)を導く
マルコフ連鎖遷移行列の対角化から定常分布を求める
主成分分析(PCA)共分散行列(対称)の直交対角化で主軸を得る
量子力学ハミルトニアンの対角化で固有状態とエネルギー準位を求める

5. 練習問題

問題1:対角化する

$A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ を対角化し、$P$ と $D$ を求めよ。

解答を表示

特性方程式:$\det(A - \lambda I) = (2-\lambda)^2 - 1 = \lambda^2 - 4\lambda + 3 = (\lambda-3)(\lambda-1)$。固有値は $\lambda_1 = 3,\ \lambda_2 = 1$。

$\lambda_1 = 3$:$(A-3I)\boldsymbol{v} = \begin{pmatrix} -1 & 1 \\ 1 & -1 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}$ より $\boldsymbol{v}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$。

$\lambda_2 = 1$:$(A-I)\boldsymbol{v} = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}$ より $\boldsymbol{v}_2 = \begin{pmatrix} 1 \\ -1 \end{pmatrix}$。

$$P = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, \quad D = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}$$

$A$ は対称行列なので、2つの固有ベクトルは直交している。

問題2:対角化可能か判定する

$A = \begin{pmatrix} 3 & 1 \\ 0 & 3 \end{pmatrix}$ は対角化可能か。理由とともに答えよ。

解答を表示

特性方程式:$(3-\lambda)^2 = 0$ より $\lambda = 3$(代数重複度 2)。

固有空間:$(A-3I)\boldsymbol{v} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}\boldsymbol{v} = \boldsymbol{0}$ より、固有ベクトルは $\begin{pmatrix} 1 \\ 0 \end{pmatrix}$ の定数倍のみ(幾何重複度 1)。

幾何重複度 $1\ <\ $ 代数重複度 $2$ なので、対角化不可能である。

問題3:対称行列

実対称行列 $A = A^T$ が常に対角化可能である理由を説明せよ。

解答を表示

実対称行列に対するスペクトル定理により、$A$ の固有値はすべて実数であり、相異なる固有値に属する固有ベクトルは互いに直交する。さらに $A$ の固有ベクトルから $\mathbb{R}^n$ の正規直交基底を構成できるため、直交行列 $Q$ を用いて $Q^{-1}AQ = Q^{T}AQ = D$ と対角化できる。したがって対称行列は常に対角化可能である。

6. まとめ

本ページのポイント

  • 対角化:$A = PDP^{-1}$ の形に分解
  • 条件:$n$ 個の線形独立な固有ベクトルが必要
  • 利点:$A^k = PD^kP^{-1}$ で冪乗が簡単
  • 対称行列は常に直交行列で対角化可能

よくある質問

対角化とはどのような操作か

行列 $A$ が対角化可能とは、正則行列 $P$ が存在して $P^{-1}AP=D$($D$ は対角行列)が成り立つことである。$A$ の固有ベクトルを列に並べた $P$ と、対応する固有値を対角に並べた $D$ で実現される。対角化により行列のべき乗 $A^n=PD^nP^{-1}$ が効率的に計算できる。

どのような行列が対角化可能か

$n\times n$ 行列 $A$ が対角化可能 ⟺ $A$ が $n$ 個の一次独立な固有ベクトルを持つ ⟺ 各固有値の幾何的重複度が代数的重複度に等しい。特に異なる固有値に対応する固有ベクトルは一次独立なので、$n$ 個の相異なる固有値を持てば必ず対角化可能である。

対角化にはどのような応用があるか

線形微分方程式系 $\dot{\mathbf{x}}=A\mathbf{x}$ の解 $\mathbf{x}(t)=e^{At}\mathbf{x}_0$ の計算($e^{At}=Pe^{Dt}P^{-1}$)、フィボナッチ数列の一般項(行列べき乗)、マルコフ連鎖の定常分布、量子力学の固有状態計算など多岐にわたる。