真空の期待値

微積分を用いた高校物理教程

行列の対角化

物理の計算をしていると、しばしば行列の  n 乗を一般的に計算する必要に駆られることがある。しかし2乗や3乗ならまだしも、一般の  n について行列を掛け算し続けるのは現実的ではない。そのようなとき、次の事実に助けられる:対角行列  D = \begin{bmatrix} \lambda_1 \quad 0 \\ 0 \quad \lambda_2 \end{bmatrix} であれば、簡単に  n 乗の計算ができるのだ。

\begin{equation} D ^n = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} ^n = \begin{bmatrix} \lambda_1 ^n & 0 \\ 0 & \lambda_2 ^n \end{bmatrix} \end{equation}

そこで行列 が  D のような対角行列であればいいのだが、実はたいていの場合対角化という手法によってこの形に変換することができる。

(厳密にいえばすべての行列を対角化することができるとは限らないのだが(その場合でもジョルダン標準形というそこそこマシな形にすることは可能である)、今回は性質のいい行列のみを扱うことにする。)

対角化というのは行列  A に対して次の等式を満たす行列  P をみつけることに他ならない。

\begin{equation} A = P D P ^{-1} \end{equation}

このような  P が見つかったとしたら、次の操作によって  A n 乗を計算することができる。

\begin{equation} A ^n = (P D P ^{-1}) ^n = (P D P ^{-1})(P D P ^{-1}) \cdots (P D P ^{-1}) = P D D\cdots D P ^{-1} = P D ^n P ^{-1} \end{equation}

これなら計算できる。そこで対角行列に変換するような行列  P を見つけることにしよう。

対角化と固有値問題

例として次の行列  Aの対角化について考える。

\begin{eqnarray} A = \begin{bmatrix} 3 & 1 \\ 2 & 2 \end{bmatrix} \end{eqnarray}

ところで行列とは、ベクトルを何かしら別のベクトルに変換する作用だと言っていい。例えばベクトル  \begin{eqnarray}\begin{bmatrix} 2
 \quad 3\end{bmatrix}\end{eqnarray}  ^t に先ほどの行列  A を作用させてみると、

\begin{eqnarray} \begin{bmatrix} 3 & 1 \\ 2 & 2 \end{bmatrix} \begin{bmatrix} 2 \\ 3 \end{bmatrix} = \begin{bmatrix} 9 \\ 10 \end{bmatrix} \end{eqnarray}

となる。ここで単位行列(の定数倍)について考えてみると、これは元のベクトルを定数倍する変換しかしないことがわかる。

\begin{eqnarray} \begin{bmatrix} \lambda & 0 \\ 0 & \lambda \end{bmatrix} \begin{bmatrix} 2 \\ 3 \end{bmatrix} = \begin{bmatrix} 2 \lambda \\ 3 \lambda \end{bmatrix} \end{eqnarray}

では行列  A はそのような定数倍の作用がないかというと、ある特定のベクトルに対しては定数倍しかしていないように見えるものがある。例えば

\begin{eqnarray} \begin{bmatrix} 3 & 1 \\ 2 & 2 \end{bmatrix} \begin{bmatrix} 1 \\ 1 \end{bmatrix} = \begin{bmatrix} 4 \\ 4 \end{bmatrix} \end{eqnarray}

は元のベクトルを 4 倍しただけだといえるであろう。

そこで、もし行列  A の作用が定数倍になるような特別なベクトル  \mathbf{x} があるとすれば、このベクトルを特別扱いして、行列  A をこのベクトルに合うように回転させてやろうではないか。そうすることで対角行列が見えてくるはずだ。

この特別なベクトルを固有ベクトル、定数倍を固有値という。固有値 \lambda, 固有ベクトル x としたとき、次の関係が成り立つはずだ。

\begin{equation} A\mathbf{x} = \lambda \mathbf{x} \end{equation}

固有ベクトルに限っては行列  A に対して固有値  \lambda 倍しかされないのだからこの方程式がなりたつ。この方程式を解けば、固有値固有ベクトルが求まるはずだ。このように、ある行列の固有値固有ベクトルを求める問題を固有値問題という。

固有値問題の解き方については以下の記事で触れた。

bisebu.jp

行列の固有方程式

\begin{equation} |A - \lambda I| = 0 \end{equation}

を具体的に解いていくと、

\begin{equation} A - \lambda I = \begin{vmatrix} 3 - \lambda & 1 \\ 2 & 2 -\lambda \end{vmatrix} =(\lambda -1)(\lambda -4) =0 \end{equation}

よって  \lambda = 1,4 が得られた。この固有値を用いて固有ベクトルを探すと、

 \lambda = 1 のとき、

\begin{eqnarray} \begin{bmatrix} 2 & 1 \\ 2 & 1 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} \end{eqnarray}

これを満たす固有ベクトルとして  -1, 2 を選ぶことにする。

次に  \lambda = 4 の場合も同様にすればいいのだが、行列の計算を知っている人は解いてみてほしい。結果は  1,1 である。

固有値  \lambda_1 = 1 に対応する固有ベクトル  \mathbf{p_1} = (-1,2) と、固有値  \lambda_2 = 4 に対応する固有ベクトル  \mathbf{p_2} = (1,1) がわかった。

対角化行列

固有値固有ベクトルがわかったので、いよいよ行列を対角化していく。

行列  A 固有値固有ベクトルの関係はつぎのようになっている。

\begin{equation} A \mathbf{p_1} = \lambda_1 \mathbf{p_1}, \quad A \mathbf{p_2} = \lambda_2 \mathbf{p_2}, \end{equation}

固有値  \lambda_i固有ベクトル  \mathbf{p_i}  (i = 1,2) とが対応していることに注意してほしい。

この固有ベクトルたち  \mathbf{p_i}  (i = 1,2) がいずれも縦ベクトルだとすると、これらを横に並べたものは正方行列になるはずだ。ではこの正方行列を  P と名付けよう

\begin{equation} P = \begin{bmatrix} \mathbf{p_1} \mathbf{p_2} \end{bmatrix} = \begin{bmatrix} -1 & 1 \\ 2 & 1 \end{bmatrix} \end{equation}

ここでもし  P が正則、すなわち行列式が0でない行列だとしたら、逆行列  P ^{-1}を持っているから、次の式が成り立つ。

\begin{eqnarray} P ^{-1} A P \\ = P ^{-1} (A P) \\ = P ^{-1} \begin{bmatrix} A \mathbf{p_1} A \mathbf{p_2} \end{bmatrix} \\ = P ^{-1} \begin{bmatrix} \lambda_1 \mathbf{p_1} \lambda_2 \mathbf{p_2} \end{bmatrix} \\ = P ^{-1} \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} P \\ = P ^{-1} P \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} \\ = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} \end{eqnarray}

このようにして対角行列を得ることができる。これが対角化のあらましである。

今回の場合について考えてみよう。対角化行列の逆行列を計算すると

\begin{equation} P ^{-1} = -\frac{1}{3} \begin{bmatrix} 1 & 2 \\ 1 & 1 \end{bmatrix} \end{equation}

これを用いて対角化しよう。

\begin{equation} P ^{-1} A P = -\frac{1}{3} \begin{bmatrix} 1 & 2 \\ 1 & 1 \end{bmatrix}\begin{bmatrix} 3 & 1 \\ 2 & 2 \end{bmatrix} \begin{bmatrix} -1 & 1 \\ 2 & 1 \end{bmatrix} \end{equation}

計算すると対角行列になる。しかし答えだけ知りたい場合にはまじめに計算する必要はない。対角化された行列は対角線に固有値が並んだものになるからだ。

\begin{equation} P ^{-1} A P = D = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 4 \end{bmatrix} \end{equation}

気を付けてほしいのは、対角化行列を作る際に並べた  \mathbf{p_i}の順番と、対角線に並ぶ固有値  \lambda_i の順番は必ず一致するということだ。この順番さえ気を付けていれば、上の計算はやらなくてもよい。