5: 固有値と固有ベクトル

5.1: 導入

行列積の性質を思い出せば, 行列 $A\in\mathbb{R}^{n\times m}$ を列ベクトルの左から掛けるという操作は, 以下の線形性と呼ばれる性質を満たすことがわかる:

  • 任意の列ベクトル $\mathbf{v}_1, \mathbf{v}_2\in\mathbb{R}^{m\times 1}$ に対し, \[ A(\mathbf{v}_1 + \mathbf{v}_2) = A\mathbf{v}_1 + A\mathbf{v}_2. \]
  • 任意の列ベクトル $\mathbf{v}\in \mathbb{R}^{m\times 1}$ と任意のスカラー値 $\lambda$ に対し, \[ A(\lambda\mathbf{v}) = \lambda A\mathbf{v}. \]

この性質を用いると, 正方行列 $A\in\mathbb{R}^{2\times 2}$ と列ベクトル $\mathbf{x} = \begin{pmatrix} a\cr b \end{pmatrix}$ に対し, $A\mathbf{x}$ という行列積を, 例えば以下のように計算することができる: 標準基底 \[ \mathbf{e}_1 = \begin{pmatrix} 1\cr 0 \end{pmatrix}, \quad \mathbf{e}_2 = \begin{pmatrix} 0\cr 1 \end{pmatrix} \] を用いると, 線型結合を用いて $\mathbf{x} = a\mathbf{e}_1 + b\mathbf{e}_2$ と表されるため, 線形性を用いると \[ \begin{array}{rl} A\mathbf{x} &= A(a\mathbf{e}_1+b\mathbf{e}_2) \cr &= A(a\mathbf{e}_1) + A(b\mathbf{e}_2) \cr &= aA\mathbf{e}_1 + bA\mathbf{e}_2 \end{array} \] が得られる. 従って, $A\mathbf{e}_1$ と $A\mathbf{e}_2$ を計算しておけば, 一般のベクトル $\mathbf{x}$ に対して $A\mathbf{x}$ が分かることになる.

\[ A = \begin{pmatrix} 1&2\cr 3&4 \end{pmatrix}, \] このとき \[ A\begin{pmatrix} 1 \cr 0 \end{pmatrix} = \begin{pmatrix} 1\cr 3 \end{pmatrix},\quad A\begin{pmatrix} 0\cr 1 \end{pmatrix} = \begin{pmatrix} 2\cr 4 \end{pmatrix}. \]

  • 従って, 例えば \[ \begin{array}{rl} A\begin{pmatrix} 3\cr 5 \end{pmatrix} &= 3A\begin{pmatrix} 1\cr 0 \end{pmatrix} + 5A\begin{pmatrix} 0\cr 1 \end{pmatrix} \cr &= 3\begin{pmatrix} 1\cr 3 \end{pmatrix} + 5\begin{pmatrix} 2\cr 4 \end{pmatrix} \cr &= \begin{pmatrix} 13\cr 29 \end{pmatrix}. \end{array} \]

ただし, この場合は行列積を普通に計算した方が早いし, このように計算するメリットはない.


さて, 上の例では標準基底 $\mathbf{e}_1$, $\mathbf{e}_2$ に対して, $\mathbf{x} = a\mathbf{e}_1 + b\mathbf{e}_2$ であることを用いたが, ここでは一般の列ベクトル $\mathbf{v}_1$, $\mathbf{v}_2$ を用いてみよう:

もしも $\mathbf{x} = a\mathbf{v}_1 + b\mathbf{v}_2$ となるならば, $A\mathbf{v}_1$ と $A\mathbf{v}_2$ を計算することで \[ A\mathbf{x} = aA\mathbf{v}_1 + bA\mathbf{v}_2 \] が得られる. ここで, $\mathbf{v}_1$ と $\mathbf{v}_2$ として, どのようなものを用いるのが便利だろうか?

この問題に対する答えの一つは, $A$ を左から掛けても定数倍しか変わらないベクトルを用いるというものである: もしもある $\lambda_i\in\mathbb{C}$ に対して \[ A\mathbf{v}_i = \lambda_i\mathbf{v}_i \qquad (i=1,2) \] が成立するならば, $\mathbf{x} = a\mathbf{v}_1 + b\mathbf{v}_2$ に対して \[ \begin{array}{rl} A\mathbf{x} &= A(a\mathbf{v}_1 + b\mathbf{v}_ 2) \cr &= aA\mathbf{v}_1 + bA\mathbf{v}_2 \cr &= a\lambda_1\mathbf{v}_1 + b\lambda_2\mathbf{v}_2 \end{array} \] が得られる. このような性質を満たすベクトル $\mathbf{v}_i$ を正方行列 $A\in\mathbb{R}^{2\times 2}$ の固有ベクトル, 対応する $\lambda_i$ を固有値 という.


固有値及び固有ベクトルは, より一般に線型写像と呼ばれるものに対して定義され, 統計学における主成分分析や力学系における安定性解析など, 様々な応用を持つものであるが, ここでは正方行列 $A\in\mathbb{R}^{2\times 2}$ に対する固有値及び固有ベクトルのみを考えることにする:

正方行列 $A\in\mathbb{R}^{n\times n}$ に対して, \[ A\mathbf{v} = \lambda\mathbf{v} \] を満たす, $\lambda\in \mathbb{C}$ とゼロでない列ベクトル $\mathbf{v}\in \mathbb{C}^{n\times 1}$ のペアが存在するならば, $\lambda$ を固有値 (eigenvalue), $\mathbf{v}$ を固有ベクトル (eigenvector) という. また, これらのペア $(\lambda,\mathbf{v})$ を固有対 (eigenpair) と呼ぶことがある.

  • 成分が全て $0$ であるベクトル $\mathbf{0}$ は, $A\mathbf{0} = \lambda\mathbf{0}$ を満たすものの, 固有ベクトルとは認めない.
  • 一方で, 固有値 $\lambda$ は $0$ であっても構わない. つまり, 斉次連立 $1$ 次方程式 $A\mathbf{v}=\mathbf{0}$ の非自明な解 $\mathbf{v}$ が存在するならば, それは行列 $A$ の固有値 $0$ に対応する固有ベクトルである.
  • 固有値及び固有ベクトルは, 実数でなくとも構わない.
  • ベクトル $\mathbf{v}$ が行列 $A$ の固有ベクトルならば, $\mathbf{v}$ を $0$ でないスカラー倍したものも固有ベクトルである. 実際, \[ A\mathbf{v} = \lambda \mathbf{v} \] が成立するならば, 任意の $a\in\mathbb{C}$ に対し \[ \begin{array}{rl} A(a\mathbf{v}) &= aA\mathbf{v} \cr &= a\lambda\mathbf{v} \cr &= \lambda (a\mathbf{v}) \end{array} \] が成立する.

ここでは, (特に $n=2$ の場合に注目し) 列ベクトル $\mathbf{v}\in\mathbb{C}^{2\times 1}$ に対し, 正方行列 $A\in\mathbb{R}^{2\times 2}$ を左から掛けるという操作の固有値固有ベクトルの導出について具体的な計算方法を紹介し, またこれらを用いて行列の対角化が可能であることを述べる.


5.2: 行列による変換と固有値, 固有ベクトル

以降, 列ベクトル \[ \mathbf{v} = \begin{pmatrix}a\cr b\end{pmatrix}\in\mathbb{R}^{2\times 1} \] を, 高校数学で学ぶベクトル (これを幾何ベクトルという) と同一視することで単に $\mathbf{v}\in\mathbb{R}^2$ と表記し,

  • $xy$ 平面上の原点を始点, 点 $(a,b)$ を終点とする矢印, もしくは
  • $xy$ 平面上の点 $(a,b)$

として図示することにする. このとき, 列ベクトル $\mathbf{v}$ に左から行列を掛けるという操作は,

  • 原点 $(0,0)$ を始点とする矢印を矢印に変換する操作,
  • $(x,y)$ 平面上の点を点に変換する操作

であるとみなすことができる.

\[ A = \begin{pmatrix} 1&1/2\cr 1/2&1 \end{pmatrix},\quad \mathbf{v} = \begin{pmatrix} a\cr b \end{pmatrix}\in\mathbb{R}^2. \]

  • このとき, \[ A\mathbf{v} = \begin{pmatrix}a+b/2\cr a/2+b\end{pmatrix}\in\mathbb{R}^2 \] となる.
  • つまり, ベクトル $\mathbf{v}\in\mathbb{R}^2$ に左から行列 $A$ を掛けることで, ベクトル $\mathbf{v}$ で表される $xy$ 平面上の矢印 (もしくは点) は, $A\mathbf{v}$ で表される矢印 (もしくは点) に変換される.

$1$ つ目の図は, ベクトル $\mathbf{v}\in\mathbb{R}^2$ を矢印で表現し, 対応する $A\mathbf{v}$ もやはり矢印で表したものである. $2$ つ目の図は, 半径 $1$ の円周上にある $\mathbf{v}\in\mathbb{R}^2$ を丸で, 対応する $A\mathbf{v}$ を三角でプロットしたものである.


このようにベクトルを矢印で図示することにすると, 行列 $A$ の固有ベクトルとは, 行列 $A$ を左から掛けても向きが変わらない矢印であると解釈することができる.

\[ A = \begin{pmatrix} 1&1/2\cr 1/2&1 \end{pmatrix}. \]

  • 例えば $\mathbf{v}_1 = \dfrac{1}{\sqrt{2}}\begin{pmatrix} 1\cr -1 \end{pmatrix}$ とすると, $A\mathbf{v}_1 = \dfrac{1}{2}\mathbf{v}_1$ となるため $\mathbf{v}_1$ は固有ベクトルであり, 対応する固有値は $1/2$ である.
  • 例えば $\mathbf{v}_2 = \dfrac{1}{\sqrt{2}}\begin{pmatrix} 1\cr 1 \end{pmatrix}$ とすると, $A\mathbf{v}_2 = \dfrac{3}{2}\mathbf{v}_2$ となるため $\mathbf{v}_2$ は固有ベクトルであり, 対応する固有値は $3/2$ である.
  • なお, $\mathbf{v}_1$, $\mathbf{v}_2$ に $1/\sqrt{2}$ が含まれるのは, ベクトルの大きさを $1$ に揃えるためである (ベクトルの大きさに興味がないならば不要である).

ここで, 固有ベクトルを図示するとどのようになるか見てみよう.

図は例に挙げた行列 $A$ の固有ベクトル $\mathbf{v}_1$, $\mathbf{v}_2$ と, $A\mathbf{v}_1$ および $A\mathbf{v}_2$ を示したものである. このように, 行列 $A$ の固有ベクトルは $A$ による変換で向きを変えないベクトルであり, 対応する固有値 $\lambda_1$, $\lambda_2$ は固有ベクトルに対する $A$ による変換の拡大率と解釈することができる.

実際に, 大きさ $1$ の固有ベクトル $\mathbf{v}_1$ に対し, $A\mathbf{v}_1 = \dfrac{1}{2}\mathbf{v}_1$ であるため, $A\mathbf{v}_1$ は大きさが $1/2$ であり, 向きは $\mathbf{v}_1$ と同じ矢印として図示される.

上の例では, 固有値が実数であるため, 固有値を変換の拡大率として図示することができた. ただし, 一般には行列 $A$ が実行列であったとしても, 固有値 (と固有ベクトル) が実数であるとは限らない.

\[ A = \begin{pmatrix} \cos\alpha & -\sin\alpha\cr \sin\alpha & \cos\alpha \end{pmatrix}. \]

  • いま, ベクトル $\mathbf{v} = \begin{pmatrix} a \cr b \end{pmatrix}$ の極座標表示が \[ \mathbf{v} = \begin{pmatrix} r\cos\theta\cr r\sin\theta \end{pmatrix} \] と与えられていたとする. このとき, 三角関数の加法定理より \[ \begin{array}{rl} A\mathbf{v} &= \begin{pmatrix} \cos\alpha & -\sin\alpha\cr \sin\alpha & \cos\alpha \end{pmatrix}\begin{pmatrix} r\cos\theta\cr r\sin\theta \end{pmatrix} \cr &= \begin{pmatrix} r(\cos\theta\cos\alpha-\sin\theta\sin\alpha)\cr r(\sin\theta\cos\alpha + \cos\theta\sin\alpha) \end{pmatrix} \cr &= \begin{pmatrix} r\cos(\theta+\alpha)\cr r\sin(\theta+\alpha) \end{pmatrix} \end{array} \] が得られる. つまり, この行列 $A$ はベクトル $\mathbf{v}$ を $\alpha$ だけ回転する変換を表している.
  • このような行列 $A$ を回転行列と呼ぶ.
  • いま, $\alpha\neq n\pi$ とする. このとき, 行列 $A$ は実数の固有値を持たない (ベクトル $\mathbf{v}$ は行列 $A$ により回転してしまうため, $\mathbf{v}$ と $A\mathbf{v}$ の向きが一致することはない).
  • (実は, 複素数まで認めればこの行列の固有値と固有ベクトルは存在する)

5.3: 特性多項式を用いた行列固有値の計算

ここでは, 行列の (実数でない複素数も含む) 固有値および固有ベクトルを計算する方法を紹介する. 先ほどの例では, 行列 \[ A = \begin{pmatrix} 1&1/2\cr 1/2&1 \end{pmatrix} \] の固有値が $\lambda_1 = 1/2$, $\lambda_2 = 3/2$ であり, 対応する固有ベクトルは (ベクトルの大きさを気にしないことにすると) 例えば \[ \mathbf{v}_1 = \begin{pmatrix} 1\cr -1 \end{pmatrix},\qquad \mathbf{v}_2 = \begin{pmatrix} 1\cr 1 \end{pmatrix} \] であったが, これらをどのようにして導出するか具体的な手順を述べる.

まず, 正方行列 $A$ の固有値 $\lambda$ と固有ベクトル $\mathbf{v}$ は, 定義より \[ A\mathbf{v} = \lambda \mathbf{v} \] を満たすのであった. ここで, 右辺は単位行列 $I$ を用いて $\lambda I \mathbf{v}$ と一致するので, $A$ の固有値 $\lambda$ と固有ベクトル $\mathbf{v}$ に対して \[ (\lambda I-A)\mathbf{v}=\mathbf{0} \] が成立する. これを満たす $\mathbf{v}\neq\mathbf{0}$ が存在することは (つまりこの連立 $1$ 次方程式が非自明な解を持つことは), 斉次連立 $1$ 次方程式の議論より, 行列 $\lambda I-A$ が正則でないことと同値である. つまり, $\lambda\in\mathbb{C}$ が行列 $A$ の固有値であることは, \[ \det(\lambda I-A) = 0 \] と同値である.

ここで, \[ A = \begin{pmatrix} a & b \cr c & d \end{pmatrix} \in\mathbb{R}^{2\times 2} \] とおくと, \[ \begin{array}{rl} \det(\lambda I-A) &= \det\begin{pmatrix} \lambda - a & -b\cr -c&\lambda - d \end{pmatrix} \cr &= (\lambda-a)(\lambda - d) - bc \cr &= \lambda^2 - (a+d)\lambda -bc \end{array} \] となるため, \[ \det(\lambda I-A) = 0 \] は $\lambda$ についての $2$ 次方程式となり, (解の公式より) 複素数の解や重解を許せば必ず解を $2$ つ持つ: \[ \lambda = \dfrac{(a+d)\pm \sqrt{(a+d)^2 - 4bc}}{2}. \] これが行列 $A$ の固有値となる. 固有値 $\lambda$ が得られたならば, あとは \[ (\lambda I-A)\mathbf{v} = 0 \] を満たすような $\mathbf{v}\neq\mathbf{0}$ を一つ見つければ, それの ($0$ でない) 複素数倍は全て固有値 $\lambda$ に対応する固有ベクトルとなる.

正方行列 $A$ に対して, $\det(\lambda I-A)$ のことを特性多項式 (characteristic polynomial) もしくは固有多項式という. 方程式 $\det(\lambda I-A)= 0$ のことは固有方程式と呼ぶことがある. さらに, 固有多項式の解を特性根と呼ぶことがある.

上の結果を定理としてまとめておこう:

正方行列 $A$ に対する固有方程式 \[ \det(\lambda I-A) = 0 \] の解 $\lambda\in\mathbb{C}$ は, 行列 $A$ の固有値となる. また, 各固有値 $\lambda_i$ に対して, \[ (\lambda_i I-A)\mathbf{v}_i = 0 \] を満たす $\mathbf{v}_i\neq 0$ について, その $0$ でない任意の複素数倍は全て行列 $A$ の (固有値 $\lambda_i$ に対応する) 固有ベクトルである.

$A\in\mathbb{R}^{2\times 2}$ の固有値 $\lambda$ に対して, $\lambda I-A$ は正則行列ではないため, $\lambda I-A$ の各行ベクトルは線形独立ではないことがわかる. 従って, 固有値 $\lambda\in\mathbb{C}$ に対して, $\lambda I-A$ は必ず \[ \lambda I-A = \begin{pmatrix} a & b \cr ca & cb \end{pmatrix} \in\mathbb{C}^{2\times 2} \] のような形になり, このとき $(\lambda I-A)\mathbf{v}$ の第 $1$ 成分が $0$ となるように, 例えば $\mathbf{v} = \begin{pmatrix}b \cr -a\end{pmatrix}$ とすると, この $\mathbf{v}$ は固有値 $\lambda$ に対応する固有ベクトルとなる. このように, $2$ 次正方行列の固有ベクトルは (成分が文字で表される場合でも) 容易に見つけることができる.

固有値と固有ベクトルを求める計算の具体例をいくつか見てみよう. まず, $2$ つの実数の固有値が得られる例を挙げる.

\[ A = \begin{pmatrix} 1&1/2\cr 1/2&1 \end{pmatrix}. \]

  • 特性多項式は \[ \begin{array}{rl} \det(\lambda I-A) &= \lambda^2 - 2\lambda + 3/4 \cr &= (\lambda-1/2)(\lambda-3/2). \end{array} \]
  • 従って \[ \det(\lambda I-A)=0\iff \lambda = 1/2,\ 3/2 \] となり, \[ \lambda_1 = 1/2,\quad \lambda_2 = 3/2 \] が行列 $A$ の固有値となる.
  • ここで, \[ (\lambda_1I-A)\mathbf{v}_1 = \begin{pmatrix} -1/2 & -1/2\cr -1/2&-1/2 \end{pmatrix}\mathbf{v}_1= \mathbf{0} \] を考えると, 例えば $\mathbf{v}_1 = \begin{pmatrix} 1\cr -1 \end{pmatrix}$ はこれを満たすため, その任意の複素数倍が固有値 $\lambda_1=1/2$ に対応する固有ベクトルである: \[ \mathbf{v}_1 = c_1 \begin{pmatrix} 1\cr -1 \end{pmatrix},\quad c_1\neq0 \text{は任意}. \]
  • 同様に, \[ (\lambda_2I-A)\mathbf{v}_2 = \begin{pmatrix} 1/2 & -1/2\cr -1/2&1/2 \end{pmatrix}\mathbf{v}_2= \mathbf{0} \] を考えると, 例えば $\mathbf{v}_2 = \begin{pmatrix} 1\cr 1 \end{pmatrix}$ はこれを満たすため, その任意の複素数倍が固有値 $\lambda_2=3/2$ に対応する固有ベクトルである: \[ \mathbf{v}_2 = c_2\begin{pmatrix} 1\cr 1 \end{pmatrix},\quad c_2\neq0 \text{は任意.} \]

次に, 固有値が実数にならない例も見てみる:

\[ A = \begin{pmatrix} \cos\alpha & -\sin\alpha\cr \sin\alpha & \cos\alpha \end{pmatrix} \qquad (\alpha\neq n\pi). \]

  • 特性多項式は \[ \det(\lambda I-A) = \lambda^2 - 2\lambda\cos\alpha + 1. \]
  • 従って ($2$ 次方程式の解の公式を用いて) \[ \begin{array}{rl} \det(\lambda I-A)=0\iff \lambda &= \cos\alpha \pm \sqrt{\cos^2\alpha - 1} \cr &= \cos\alpha \pm i \sin\alpha \end{array} \] となり, \[ \lambda_1 = \cos\alpha+i\sin\alpha, \] \[ \lambda_2 = \cos\alpha-i\sin\alpha \] が行列 $A$ の固有値となる, ただし $i=\sqrt{-1}$ は虚数単位.
  • ここで, \[ (\lambda_1I-A)\mathbf{v}_1 = \begin{pmatrix} i\sin\alpha & \sin\alpha\cr -\sin\alpha & i\sin\alpha \end{pmatrix}\mathbf{v}_1= \mathbf{0} \] を考えると, 例えば $\mathbf{v}_1 = \begin{pmatrix} 1\cr -i \end{pmatrix}$ はこれを満たすため, その任意の複素数倍が対応する固有ベクトルである: \[ \mathbf{v}_1 = c_1\begin{pmatrix} 1\cr -i \end{pmatrix},\quad c_1\neq0 \text{は任意.} \]
  • 同様に, \[ (\lambda_2I-A)\mathbf{v}_2 = \begin{pmatrix} -i\sin\alpha & \sin\alpha\cr -\sin\alpha & -i\sin\alpha \end{pmatrix}\mathbf{v}_2= \mathbf{0} \] を考えると, 例えば $\mathbf{v}_2 = \begin{pmatrix} 1\cr i \end{pmatrix}$ はこれを満たすため, その任意の複素数倍が対応する固有ベクトルである: \[ \mathbf{v}_2 = c_2\begin{pmatrix} 1\cr i \end{pmatrix},\quad c_2\neq0 \text{は任意.} \]

最後に, 固有方程式 $\det(\lambda I-A) = 0$ が重解を持つ場合も見てみよう.

\[ A = \begin{pmatrix} 1&1\cr 0&1 \end{pmatrix}. \]

  • 特性多項式は \[ \det(\lambda I-A) = (\lambda-1)^2. \]
  • 従って \[ \det(\lambda I-A)=0\iff \lambda = 1 \] となり, 固有値は $\lambda_1= 1$ のみ.
  • ここで, \[ (\lambda_1I-A)\mathbf{v}_1 = \begin{pmatrix} 0& -1\cr 0 & 0 \end{pmatrix}\mathbf{v}_1= \mathbf{0} \] を考えると, 例えば $\mathbf{v}_1 = \begin{pmatrix} 1\cr 0 \end{pmatrix}$ はこれを満たすため, その任意の複素数倍が対応する固有ベクトルである: \[ \mathbf{v}_1 = c_1 \begin{pmatrix} 1\cr 0 \end{pmatrix},\quad c_1\neq0 \text{は任意.} \]

ここでは $A$ が $2$ 次正方行列である場合のみを扱うが, 固有方程式の解が固有値になるという性質は, 一般に $n$ 次正方行列 $A$ に対して成立する. いま, $n$ 次正方行列 $A$ の固有方程式は $\lambda$ についての $n$ 次方程式となり, (代数学の基本定理より) 複素数の解や重解を許せば必ず解が $n$ 個存在する. ただし, 方程式の解を厳密に求めることは, $n=2$ の場合を除き一般には容易ではない. $n=3, 4$ の場合は, $n$ 次方程式の解の公式が知られているが, 解の記述は非常に複雑なものになる. また, $n\ge 5$ の場合には, $n$ 次方程式の (代数的な) 解の公式は存在しない (解を各項の係数の, 有限回の四則演算と根号を取る操作の組み合わせで記述できない) ことが知られている.

固有方程式に関連し, 固有値の性質の一つとして行列式との関係を示す.

$n$ 次正方行列 $A$ の固有値を $\lambda_1$, $\lambda_2$, $\dots$, $\lambda_n\in\mathbb{C}$ とする (重複するものがあってもよい). このとき, \[ \det A = \lambda_1\lambda_2\dots \lambda_n \] が成立する.

固有値は固有方程式 $\det(\lambda I-A)=0$ の解であった. 行列式の定義より, これは $\lambda$ についての $n$ 次方程式であり, $\lambda^n$ の係数は $1$ である. これと, この方程式の解が $\lambda_1$, $\lambda_2$, $\dots$, $\lambda_n$ であることから, \[ \det(\lambda I-A) = (\lambda-\lambda_1)(\lambda-\lambda_2)\dots (\lambda-\lambda_n) \] が得られる. この式に $\lambda=0$ を代入すると, \[ \det(-A) = (-1)^n\lambda_1\lambda_2\dots\lambda_n \] が得られるが, 左辺は行列式の性質より $(-1)^n\det A$ に等しいので欲しい式が得られる.

5.4: 対角化

まず, 行列の相似性という概念を導入する:

$2$ つの $n$ 次正方行列 $A$, $B$ に対して, ある正則行列 $P$ が存在して, \[ B = P^{-1}AP \] となるとき, $A$ と $B$ は相似 (similar) であるという.

ここで, 相似な $2$ つの行列 $A$ と $P^{-1}AP$ の関係を調べてみる. 行列式の性質の $1$ つに, $2$ つの正方行列 $A$, $B$ に対して \[ \det (AB) = (\det A)(\det B) \] が成立する, というものがあった. この性質を用いると, \[ \begin{array}{rl} \det(\lambda I - P^{-1}AP) &= \det(\lambda P^{-1}IP - P^{-1}AP) \cr &= \det(P^{-1}(\lambda I-A)P) \cr & = (\det P^{-1})(\det(\lambda I-A))(\det P)\cr &= (\det P^{-1})(\det P)(\det(\lambda I-A))\cr &= \det(P^{-1}P)(\det(\lambda I-A))\cr &= (\det I)(\det(\lambda I-A))\cr &= \det(\lambda I-A) \end{array} \] という等式が得られる. つまり, 任意の正則行列 $P$ に対し, 正方行列 $A$ と $P^{-1}AP$ の特性多項式は等しいことがわかる. そして特性多項式が等しいので固有値も等しいということになる (ただし対応する固有ベクトルが等しいとは限らない).

さらに, 同様の計算により, \[ \det(P^{-1}AP) = (\det P^{-1})(\det P)(\det A) = \det A \] であることもわかる. つまり, 相似な $2$ つの行列は, 行列式も固有値も等しいということがわかる.


上の結果より, 行列 $A$ の固有値にのみ注目するのであれば, $A$ の代わりに $A$ と相似であって, かつ簡単な形をした行列を考えることができる. そのような行列として, しばしば対角行列が用いられる.

$n$ 次正方行列 $A$ が対角行列と相似であるならば, $A$ は対角化可能 (diagonalizable) という. 正方行列 $A$ が対角行列と相似である場合に, その対角行列を求める操作を行列の対角化 (diagonalization) という.

対角化の際には, $A$ と相似な行列を求めるために, ある正則行列 $P$ を用いて左から $P^{-1}$, 右から $P$ を掛けることで \[ P^{-1}AP \] を計算する. 一方で, 行列の階数を求める際には, 基本行列たちの積 $P$, $Q$ を用いて \[ F(r) = PAQ \] と表していたが, これらは異なる操作であることに注意.

行列の対角化について, ここでは行列 $A\in\mathbb{R}^{2\times 2}$ が異なる $2$ つの実数の固有値を持つ場合のみ考えることにする. このとき, 次が成立する:

行列 $A\in\mathbb{R}^{2\times 2}$ に $2$ つの異なる実数の固有値が存在するならば, 対応する固有ベクトルは線型独立である.

行列 $A\in\mathbb{R}^{2\times 2}$ の異なる $2$ つの固有値 $\lambda_1$, $\lambda_2\in\mathbb{R}$ に対応する固有ベクトルを $\mathbf{v}_1$, $\mathbf{v}_2\in\mathbb{R}^2$ とおく (どちらも $\mathbf{0}$ ではないことに注意).

(背理法) いま, $\mathbf{v}_1$ と $\mathbf{v}_2$ が線型独立でないと仮定すると, $\mathbf{v} _1 = c\mathbf{v}_2$ を満たす $c\neq0$ が存在する. 従って, \[ c\lambda_1\mathbf{v}_2 = \lambda_1\mathbf{v}_1 = A\mathbf{v}_1 = A(c\mathbf{v}_2) = c\lambda_2\mathbf{v}_2 \] が成立するが, $\mathbf{v}_2\neq\mathbf{0}$ および $c\neq0$ より $\lambda_1=\lambda_2$ となるため矛盾する. 従って, $\mathbf{v}_1$ と $\mathbf{v}_2$ は線型独立である.

数学的帰納法を用いることで, 以下を証明することもできる:

行列 $A\in\mathbb{R}^{n\times n}$ に $n$ 個の異なる実数の固有値が存在するならば, 対応する固有ベクトルは線型独立である.

このことを用いて, 対角化の具体的な計算手順を紹介する.

まず, 行列 $A\in\mathbb{R}^{2\times 2}$ の異なる $2$ つの固有値 $\lambda_1$, $\lambda_2\in\mathbb{R}$ に対し, 対応する固有ベクトルを $\mathbf{v}_1$, $\mathbf{v}_2\in\mathbb{R}^2$ とする (固有ベクトルの大きさは問わない). このとき, $\mathbf{v}_j$ を第 $j$ 列ベクトルとする行列 $P$ を考える: \[ P = \begin{pmatrix}\mathbf{v}_1, \mathbf{v}_2\end{pmatrix}\in\mathbb{R}^{2\times 2}. \] この行列 $P$ を, 行列 $A$ の右から掛けると, $P$ の各列が固有ベクトルであることから, \[ \begin{array}{rl} AP &= A\begin{pmatrix}\mathbf{v}_1, \mathbf{v}_2\end{pmatrix} \cr &= \begin{pmatrix}A\mathbf{v}_1, A\mathbf{v}_2\end{pmatrix} \cr &= \begin{pmatrix}\lambda_1\mathbf{v}_1, \lambda_2\mathbf{v}_2\end{pmatrix}\cr &= \begin{pmatrix}\mathbf{v}_1, \mathbf{v}_2\end{pmatrix}\begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix} \end{array} \] となる. 右辺に行列 $P$ が再び現れているため, \[ AP = P\begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix} \] が得られる. ここで, 先ほどの結果より $\mathbf{v}_1$, $\mathbf{v}_2$ は線型独立であり, 従って正方行列 $P$ は正則行列である. そこで, 両辺の左から $P^{-1}$ を掛けると, \[ P^{-1}AP = \begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix} \] となり, 対角成分に固有値を持つような対角行列に変形することができる. この操作が行列の対角化と呼ばれるものである.

この結果を, 定理としてまとめておく.

行列 $A\in\mathbb{R}^{2\times 2}$ が異なる $2$ つの実数の固有値 $\lambda_1$, $\lambda_2\in\mathbb{R}$ を持つとき, 行列 $A$ は実対角行列と相似である. 具体的には, 固有値 $\lambda_j$ に対応する固有ベクトル $\mathbf{v}_j$ を第 $j$ 列ベクトルに持つ行列 $P = \begin{pmatrix}\mathbf{v}_1, \mathbf {v}_2\end{pmatrix}$ を用いて \[ P^{-1}AP = P^{-1}P\begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix} = \begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix} \] と対角化できる.

このように, 行列の対角化により得られる対角行列は, その対角成分に行列固有値を持つ. また, 相似な $2$ つの行列の行列式は等しいので, 上の場合は $\det A = \lambda_1\lambda_2$ となることを確かめることができる.

どのような正方行列でも対角化可能であるとは限らない. 実際, 上の議論から次の成立がわかる: \[ A \text{ の固有値が全て実数で全て異なる} \implies A \text{ の固有ベクトルは実ベクトルで線型独立} \iff A\text{ は実対角行列と相似}. \] つまり, 固有方程式が重解を持つような行列の場合 (つまり行列 $A$ が重複する固有値を持つ場合), 対角化できないことがある. また, $A$ の固有値に実数でないものが含まれる場合には, $A$ に相似な実対角行列は存在しない ($A$ を対角化すると複素行列になる).

\[ A = \begin{pmatrix} 1&1/2\cr 1/2&1 \end{pmatrix}. \]

  • 固有値は $\lambda_1 = 1/2$ と $\lambda_2 = 3/2$ であり, 対応する固有ベクトルは, 例えば \[ \mathbf{v}_1 = \begin{pmatrix} 1\cr -1 \end{pmatrix},\quad \mathbf{v}_2 = \begin{pmatrix} 1\cr 1 \end{pmatrix} \] であった.
  • これを用いて, \[ P = \begin{pmatrix} \mathbf{v}_1, \mathbf{v}_2 \end{pmatrix} = \begin{pmatrix} 1&1\cr -1&1 \end{pmatrix} \] とすると, \[ P^{-1}AP = \begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix} = \begin{pmatrix} 1/2 & 0 \cr 0 & 3/2 \end{pmatrix} \] が得られる. 実際, \[ \begin{array}{rl} AP &= \begin{pmatrix} 1/2&3/2\cr -1/2&3/2 \end{pmatrix} \cr &= \begin{pmatrix} 1&1\cr -1&1 \end{pmatrix}\begin{pmatrix} 1/2&0\cr 0&3/2 \end{pmatrix} \cr &= P\begin{pmatrix} 1/2&0\cr 0&3/2 \end{pmatrix} \end{array} \] を確かめることができる.
  • 対角化が固有ベクトルの大きさに依存しない (固有ベクトルの向きにのみ依存する) ことを確かめてみる. 例えば, 対応する固有ベクトルを \[ \mathbf{v}_1 = \begin{pmatrix} 2\cr -2 \end{pmatrix},\quad \mathbf{v}_2 = \begin{pmatrix} 1/2\cr 1/2 \end{pmatrix} \] としたときには, \[ P = \begin{pmatrix} 2&1/2\cr -2&1/2 \end{pmatrix} \] となり, \[ \begin{array}{rl} AP &= \begin{pmatrix} 1&3/4\cr -1&3/4 \end{pmatrix} \cr &= \begin{pmatrix} 2&1/2\cr -2&1/2 \end{pmatrix}\begin{pmatrix} 1/2&0\cr 0&3/2 \end{pmatrix} \cr &= P\begin{pmatrix} 1/2 & 0\cr 0&3/2 \end{pmatrix} \end{array} \] より \[ P^{-1}AP = \begin{pmatrix} 1/2 & 0 \cr 0 & 3/2 \end{pmatrix} = \begin{pmatrix} \lambda_1 & 0 \cr 0 & \lambda_2 \end{pmatrix} \] と, 対角化の結果が先ほどと一致する.
  • 固有値 $\lambda_1$ と $\lambda_2$ (および対応する固有ベクトル $\mathbf{v}_1$ と $\mathbf{v}_2$) の順序は入れ替えても良い. 例えば $\lambda_1 = 3/2$, $\lambda_2 = 1/2$, 対応する固有ベクトルを \[ \mathbf{v}_1 = \begin{pmatrix} 1 \cr 1 \end{pmatrix},\quad \mathbf{v}_2 = \begin{pmatrix} 1 \cr -1 \end{pmatrix} \] としたときは, \[ P = \begin{pmatrix} \mathbf{v}_1, \mathbf{v}_2 \end{pmatrix} = \begin{pmatrix} 1 & 1 \cr 1 & -1 \end{pmatrix} \] について, \[ \begin{array}{rl} AP &= \begin{pmatrix} 3/2 & 1/2 \cr 3/2 & -1/2 \end{pmatrix} \cr &= \begin{pmatrix} 1 & 1 \cr 1 & -1 \end{pmatrix}\begin{pmatrix} 3/2 & 0 \cr 0 & 1/2 \end{pmatrix} \cr &= P\begin{pmatrix} 3/2 & 0 \cr 0 & 1/2 \end{pmatrix} \end{array} \] より \[ P^{-1}AP = \begin{pmatrix} 3/2 & 0 \cr 0 & 1/2 \end{pmatrix} \] が得られる. 上の結果と固有値の順序が異なっているものの, いずれにしても固有値を対角成分に持つ対角行列と相似であることが確認できる.

対角化の応用した計算例として, 対角化可能行列 $A$ に対して $A^k$ を計算してみる. まず, 対角行列 $\begin{pmatrix}\lambda_1&0\cr 0&\lambda_2\end{pmatrix}$ に対し, \[ \begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix}^k = \begin{pmatrix} \lambda_1^k&0\cr 0&\lambda_2^k \end{pmatrix} \] が成立する. 従って, $P^{-1}AP = \begin{pmatrix} \lambda_1&0\cr 0&\lambda_2 \end{pmatrix}$ と対角化が可能な行列 $A$ に対して, \[ \begin{array}{rl} A^k &= P\underbrace{(P^{-1}AP)(P^{-1}AP) \dots (P^{-1}AP)}_{k\text{個}}P^{-1}\cr &= P\begin{pmatrix}\lambda_1&0\cr 0&\lambda_2\end{pmatrix}^k P^{-1}\cr &= P\begin{pmatrix}\lambda_1^k&0\cr 0&\lambda_2^k\end{pmatrix}P^{-1} \end{array} \] と計算することができる.

\[ A = \begin{pmatrix} 1&1/2\cr 1/2&1 \end{pmatrix}. \] いま, $A^k$ を対角化を用いて計算してみよう. 行列 $A$ の固有値は $\lambda_1 = 1/2$ と $\lambda_2 = 3/2$ であり, 対応する固有ベクトルは, 例えば \[ \mathbf{v}_1 = \begin{pmatrix} 1\cr -1 \end{pmatrix},\quad \mathbf{v}_2 = \begin{pmatrix} 1\cr 1 \end{pmatrix} \] であった. そこで, \[ P = \begin{pmatrix} 1&1\cr -1&1 \end{pmatrix},\quad P^{-1} = \begin{pmatrix} 1/2 & -1/2\cr 1/2&1/2 \end{pmatrix} \] とおくと, \[ \begin{array}{rl} A^k &= P(P^{-1}AP)^kP^{-1} \cr &= P\begin{pmatrix} \lambda_1 & 0 \cr 0 & \lambda_2 \end{pmatrix}^k P^{-1} \cr &= P\begin{pmatrix} \lambda_1^k&0\cr 0&\lambda_2^k \end{pmatrix}P^{-1} \cr &= \dfrac{1}{2}\begin{pmatrix} \lambda_1^k+\lambda_2^k & -\lambda_1^k+\lambda_2^k\cr -\lambda_1^k+\lambda_2^k& \lambda_1^k+\lambda_2^k \end{pmatrix} \cr &= \dfrac{1}{2^{k+1}}\begin{pmatrix} 1+3^k & -1+3^k \cr -1+3^k & 1+3^k \end{pmatrix} \end{array} \] と計算することができる.


まとめ

固有値と固有ベクトルというアイデアを導入し, その応用例として行列の対角化を紹介した.

固有値および固有ベクトル (およびその一般化であるスペクトル) は, 行列や線形写像, 線形変換の特徴を表す重要な指標であり, 様々な応用を持つものである. いくつかの応用例を簡単に説明すると,

  • データ解析における主成分分析は, ベクトルで表されたデータのばらつきを表す分散共分散行列の固有値, 固有ベクトルを調べることで, データ構造を説明する際に主要な"方向"を特定する解析手法である.
  • ベクトル値関数 $X(t)$ と行列 $A$ を用いて表される線形微分方程式系 $X' = AX$ の解の振る舞いは, 行列 $A$ の固有値により分類することができる. また解 $X$ は行列 $A$ の固有ベクトルを用いて表すことができる.
このページでは簡単のために $2$ 次正方行列の場合に限り言及しているが, この具体例がより抽象的な議論を理解するための足掛かりとなれば幸いである.


練習問題

$2$ つの行列 $A\in\mathbb{R}^{m\times n}$, $B\in\mathbb{R}^{n\times m}$ に対して, $\lambda\neq0$ が行列 $AB\in\mathbb{R}^{m\times m}$ の固有値ならば, $\lambda$ は $BA\in\mathbb{R}^{n\times n}$ の固有値でもあることを証明せよ.

行列 \[ A = \begin{pmatrix} -6 & -4 \cr 8 & 6 \end{pmatrix} \] の固有値を求め, それぞれに対応する固有ベクトルの例を一つずつ挙げよ. また行列 $A$ を対角化せよ.

実数 $a$ に対して, 行列 \[ A = \begin{pmatrix} 2a & -1 \cr 4 & 2 \end{pmatrix} \] が異なる $2$ つの実数の固有値を持つような $a$ の条件を求めよ. また, この条件が満たされるときに行列 $A$ の固有値を求め, それぞれに対応する固有ベクトルの例を一つずつ挙げ, さらに行列 $A$ を対角化せよ.

行列 \[ A = \begin{pmatrix} 11 & -24 \cr 4 & -9 \end{pmatrix} \] に対して, $A^n$ を計算せよ.

解答例