スペクトル分解を使うと行列の指数関数や対数関数がすっきりと計算できることを示したつもりのメモを残す。
対称行列に関して以下の定理が成り立つ。
$n$次対称行列$A$に対して次の性質を持つ直交射影行列$P_1, \cdots, P_k$と相異なる実数$\lambda_1, \cdots, \lambda_k$で次を満たすものが存在する($E$は単位行列で$O$は零行列).
$$ \begin{eqnarray} E &=& P_1 + P_2 + \cdots + P_k\\ P_i P_j &=& O \; (i \neq j) \\ A &=& \lambda_1 P_1 + \lambda_2 P_2 + \cdots + \lambda_k P_k \end{eqnarray} $$
このスペクトル分解を認めると、例えば$A^2$は
$$ \begin{eqnarray} A^2 &=&( \lambda_1 P_1 + \lambda_2 P_2 + \cdots + \lambda_k P_k)^2 \\ &=& \lambda_1^2 P_1^2 + \lambda_2^2 P_2^2 + \cdots + \lambda_k^2 P_k^2\\ &=& \lambda_1^2 P_1 + \lambda_2^2 P_2 + \cdots + \lambda_k^2 P_k \end{eqnarray} $$
と計算できる。一般に$A^m$は
$$
A^m = \lambda_1^m P_1 + \lambda_2^m P_2 + \cdots + \lambda_k^m P_k
$$
と計算できる。
行列の多項式を定義しておこう。
多項式$f(x)$が
$$
f(x) = a_0 + a_1 x + a_2 x^2 + \cdots +a_m x^m
$$
のように与えられたとき、正方行列$A$に対する多項式$f(A)$を
$$
f(A) = a_0E + a_1 A + a_2 A^2 + \cdots +a_m A^m
$$
によって定義する($E$は単位行列)。
スペクトル分解により、$f(A)$はまた
$$
\begin{eqnarray}
f(A) &=& a_0 (P_1 + P_2 + \cdots + P_k)+ a_1 (\lambda_1 P_1 + \lambda_2 P_2 + \cdots + \lambda_k P_k) \\
&& + a_2 (\lambda_1^2 P_1 + \lambda_2^2 P_2 + \cdots + \lambda_k^2 P_k)
+ \cdots + a_m (\lambda_1^m P_1 + \lambda_2^m P_2 + \cdots + \lambda_k^m P_k) \\
&=& (a_0 + a_1\lambda_1 + a_2 \lambda_1^2 + \cdots + a_m \lambda_1^m)P_1 + (a_0 + a_1\lambda_2 + a_2 \lambda_2^2 + \cdots + a_m \lambda_2^m)P_2\\
&& \cdots + (a_0 + a_1\lambda_k + a_2 \lambda_k^2 + \cdots + a_m \lambda_k^m)P_k\\
&=& f(\lambda_1) P_1 + f(\lambda_2) P_2 + \cdots f(\lambda_k) P_k
\end{eqnarray}
$$
となり、効率的に行列の多項式が計算できる。ちなみに行列多項式$f(A)$の固有値が$f(\lambda_i) \;(i=1,2,\ldots, k)$となることを述べているのがフロベニウスの定理である。
さてここで、正方行列$A$の指数関数を定義する。
$$ e^{tA} = \sum_{n=0}^{\infty} \frac{1}{n!} (tA)^n = E + tA + \frac{t^2}{2!}A^2 + \frac{t^3}{3!}A^3 + \cdots $$
もはや行列の多項式ではないが、この行列の指数関数の計算にもスペクトル分解が役に立つ。形式的に「代入」すれば
$$
\begin{eqnarray}
e^{tA}
&=&
(P_1 + P_2 + \cdots + P_k)
+ t (\lambda_1 P_1 + \lambda_2 P_2 + \cdots + \lambda_k P_k)
\\
&&
+\frac{t^2}{2!}
(\lambda_1^2 P_1 + \lambda_2^2 P_2 + \cdots + \lambda_k^2 P_k)
+
\frac{t^3}{3!}
(\lambda_1^3 P_1 + \lambda_2^3 P_2 + \cdots + \lambda_k^3 P_k) \\
&&
+ \cdots + \frac{t^m}{m!}
(\lambda_1^m P_1 + \lambda_2^m P_2 + \cdots + \lambda_k^m P_k)
+ \cdots \\
&=& e^{t\lambda_1}P_1 + e^{t\lambda_2}P_2 + \cdots + e^{t\lambda_k}P_k
\end{eqnarray}
$$
特に$t=1$とおくと
$$
e^A = e^{\lambda_1}P_1 + e^{\lambda_2}P_2 + \cdots + e^{\lambda_k}P_k
$$
が得られる。
正方行列$A$に対して
$$
e^{B} = A
$$
を満たす正方行列$B$を$A$の指数関数と呼ぶことにし、$B=\log(A)$と書く。
もし、$A$の固有値がことごとく正の値だとして、直交射影行列を用いて
$$
B = \log(\lambda_1) P_1 + \log(\lambda_2) P_2 + \cdots + \log(\lambda_k) P_k
$$
により行列$B$を定義してみる。そして$e^B$を計算してみれば、
$$
\begin{eqnarray}
e^B &=& e^{\log \lambda_1} P_1 + e^{\log \lambda_2} P_2 + \cdots + e^{\log \lambda_k} P_k \\
&=& \lambda_1 P_1 + \lambda_2 P_2 + \cdots + \lambda_k P_k\\
&=& A
\end{eqnarray}
$$
となるから、まさに$B=\log (A)$が計算できたわけである。
スペクトル分解たのしい(雑)