線形代数II/行列の関数 のバックアップ差分(No.2)

更新


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[線形代数Ⅱ]]

* 行列の多項式 [#he025e6d]

対角行列の性質を確認する。
行列を対角化できるとき、行列の多項式の値を容易に計算できる。

** 対角行列の累乗 [#y3d82efa]

対角行列 &math(D); を

&math(D=\begin{pmatrix}a&0\\0&d\end{pmatrix});

とすれば、

&math(D^2=\begin{pmatrix}a&0\\0&d\end{pmatrix}\begin{pmatrix}a&0\\0&d\end{pmatrix}=\begin{pmatrix}a^2&0\\0&d^2\end{pmatrix});

である。
であり、同様に、

同様に、

&math(D^m=\begin{pmatrix}a^m&0\\0&d^m\end{pmatrix});

となる。

** 対角行列の多項式 [#v94b7d4f]

例えば、

&math(\alpha D^l+\beta D^m=\alpha \begin{pmatrix}a^l&0\\0&d^l\end{pmatrix}+\beta \begin{pmatrix}a^m&0\\0&d^m\end{pmatrix}
=\begin{pmatrix}\alpha a^l+\beta a^m&0\\0&\alpha d^l+\beta d^m\end{pmatrix});

元の式 &math(\alpha D^l+\beta D^m); と、~
結果の対角要素 &math(\alpha a^l+\beta a^m);、&math(\alpha d^l+\beta d^m); ~
の類似性に注目せよ。

** 一般の行列の累乗 [#l3589701]

&math(A); を &math(n); 次の行列として、&math(P); により対角化可能とする。

&math(P^{-1}AP=D=
\begin{pmatrix}
\lambda_1&0&\dots&0\\
0&\lambda_2&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&\lambda_n
\end{pmatrix}
);

すると、

&math((P^{-1}AP)^m=P^{-1}APP^{-1}AP\dots P^{-1}AP=
P^{-1}A^mP=
\begin{pmatrix}
\lambda_1^m&0&\dots&0\\
0&\lambda_2^m&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&\lambda_n^m
\end{pmatrix}
);
&math(A=PDP^{-1});

より、

&math(A^m =
P \begin{pmatrix}
&math(
A^m &= (PDP^{-1})^m =PD\underbrace{P^{-1}P}_{E}D\cdots D\underbrace{P^{-1}P}_{E}DP^{-1}\\
&= PD^mP^{-1}
=P \begin{pmatrix}
\lambda_1^m&0&\dots&0\\
0&\lambda_2^m&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&\lambda_n^m
\end{pmatrix} P^{-1}
);

と表せる。

左辺を普通に計算しようとすれば &math(m-1); 回の行列のかけ算が必要になるが、
右辺は数値の &math(m); 乗と、2回の行列のかけ算で済むため計算量が少なく、
左辺を普通に計算しようとすれば行列のかけ算が &math(m-1); 回必要になるが、
右辺は数値の &math(m); 乗が &math(n); 回と、行列のかけ算2回で済むため計算量が少なく、
また理論的にも見通しがよい。

** 一般の行列の多項式 [#s10b8802]

&math(g(x)); を任意の多項式として、

&math(g(x)=a_0+a_1x+a_2x^2+a_3x^3+\dots=\sum_{k=0}a_kx^k);

&math(g(A)); を次のように定義する。

&math(g(A)=a_0\red{I}+a_1A+a_2A^2+a_3A^3+\dots=\sum_{k=0}a_kA^k);
&math(g(A)=a_0\red{E}+a_1A+a_2A^2+a_3A^3+\dots=\sum_{k=0}a_kA^k);

(ゼロ次項に単位行列が掛かっていることに注意せよ)

すると、

&math(g(P^{-1}AP)&=a_0I+a_1(P^{-1}AP)+a_2(P^{-1}AP)^2+a_3(P^{-1}AP)^3+\dots\\
&=a_0P^{-1}P+a_1(P^{-1}AP)+a_2(P^{-1}AP)^2+a_3(P^{-1}AP)^3+\dots\\
&=a_0P^{-1}P+a_1P^{-1}AP+a_2P^{-1}A^2P+a_3P^{-1}A^3P+\dots\\
&=P^{-1}(a_0+a_1A+a_2A^2+a_3A^3+\dots)P\\
&=P^{-1}g(A)P\\
&= \begin{pmatrix}
&math(
g(A)&=\sum_{k=0}a_kPD^kP^{-1}\\
&=P\Big(\sum_{k=0}a_kD^k\Big)P^{-1}\\
&= P\begin{pmatrix}
g(\lambda_1)&0&\dots&0\\
0&g(\lambda_2)&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&g(\lambda_n)
\end{pmatrix} 
\end{pmatrix} P^{-1}
);

したがって、
のように、任意の行列の多項式を、対角化を用いて固有値の多項式に関連づけることができる。

** 行列の指数関数 [#u126bcdc]

指数関数をマクローリン展開すると、

&math(
g(A)=
&= P \begin{pmatrix}
e^x=1+x+\frac{1}{2!}x^2+\frac{1}{3!}x^3+\dots=\sum_{k=0} \frac{1}{k!}x^k
);

であるから、

&math(e^{A}=\sum_{k=0} \frac{1}{k!}A^k);

として、「行列の指数関数」を定義できる。

また、&math(A); が対角化可能な場合にはこの値を

&math(
e^{A}=\sum_{k=0} \frac{1}{k!}A^k=g(A)=
P \begin{pmatrix}
g(\lambda_1)&0&\dots&0\\
0&g(\lambda_2)&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&g(\lambda_n)
\end{pmatrix} P^{-1}=
P \begin{pmatrix}
e^{\lambda_1}&0&\dots&0\\
0&e^{\lambda_2}&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&e^{\lambda_n}
\end{pmatrix} P^{-1}
);

のように、任意の行列の多項式を、対角化を用いて固有値の多項式に関連づけることができる。
などとして、行列の指数関数の値を固有値の指数関数の値から求められる。

** 行列の超関数 [#u126bcdc]
** 一般の関数 [#k3d26fef]

指数関数のテイラー展開は、
一般の関数 &math(f(x)); が &math(x=0); でマクローリン展開可能であれば、
収束半径内において

&math(e^x=1+x+\frac{1}{2!}x^2+\frac{1}{3!}x^3+\dots=\sum_{k=0} \frac{1}{k!}x^k);
&math(f(x)=\sum_{k=0} \frac{1}{k!}\frac{d^kf(0)}{dx^k}x^k);

であるから、
と書けるから、上記と同様に &math(A); を定義できて、
対角化が可能な場合にはその値を固有値に &math(f); を適用することで求められる。

&math(ae^{bA}=a\sum_{k=0} \frac{1}{k!}(bA)^k=
aP \begin{pmatrix}
g(b\lambda_1)&0&\dots&0\\
0&g(b\lambda_2)&&\vdots\\
\vdots&&\ddots&0\\
0&\dots&0&g(b\lambda_n)
\end{pmatrix} P^{-1});
* 数値関数との類似性 [#g1d070a6]

などとして、「行列の指数関数」を定義できる。
&math(e^ae^{-a}=1);

このような関数が量子力学他で利用される。
&math(
e^Ae^{-A}
&=\Big(\sum_{k=0}^\infty \frac{A^k}{k!}\Big)\Big(\sum_{l=0}^\infty \frac{(-A)^{l}}{l!}\Big)\\
&=\sum_{k=0}^\infty \sum_{l=0}^\infty \frac{A^k}{k!}\frac{(-A)^{l}}{l!}\\
&=\sum_{m=0}^\infty \sum_{n=0}^m \frac{A^{m-n}(-A)^{n}}{(m-n)!n!}\hspace{2cm}(m=k+l\ の等しい項をまとめた)\\
&=\sum_{m=0}^\infty \frac{1}{m!} \sum_{n=0}^m \frac{m!}{(m-n)!n!}A^{m-n}(-A)^{n}\\
&=\sum_{m=0}^\infty \frac{1}{m!}  (A-A)^m\\
&=E+O+O+\cdots\\
&=E\\
);

&math(\frac{d}{dt}e^{at}=ae^{at});

&math(
\frac{d}{dt}e^{tA}&=\frac{d}{dt}\Big(E+tA+\frac{t^2}{2}A^2+\frac{t^3}{6}A^3+\cdots\Big)\\
&=\hspace{16.8mm}A+\ t\;A^2+\frac{t^2}{2}A^3+\cdots\\
&=\hspace{11mm}A\Big(E+\ t\;A\ +\frac{t^2}{2}A^2+\cdots\Big)\\
&=Ae^{tA}
);

一方で、

 &math(e^ae^b=e^{a+b}); 

であるが、一般の &math(A,B); に対しては、

 &math(e^Ae^B\ne e^{A+B});

である。これは、&math(ab=ba); であるが、一般に &math(AB\ne BA); であるため。

&math(AB=BA); あるいは同じことであるが &math(AB-BA=O); が成り立つ &math(A,B); 
(可換な &math(A,B);)に対しては上式も成り立つ。

* まとめ [#yf27007b]

このように、行列の関数は多くの点で数値の関数と似た性質を持つ。

そして、行列が対角化可能な場合にはその値を固有値に関数を適用することで
行列の関数の値を求められる。

* 質問・コメント [#qf4681b6]

#article_kcaptcha


Counter: 37045 (from 2010/06/03), today: 4, yesterday: 6