線形代数II/行列の関数 のバックアップソース(No.10)
更新[[前の単元 <<<>線形代数II/固有値問題・固有空間・スペクトル分解]] [[線形代数II]] [[>>> 次の単元>線形代数II/連立線形微分方程式]] #contents &katex(); * 行列の多項式 [#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(A=PDP^{-1}); より、 &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); 乗が &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 E}+a_1A+a_2A^2+a_3A^3+\dots=\sum_{k=0}a_kA^k); (ゼロ次項に単位行列が掛かっていることに注意せよ) すると、 &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} P^{-1} ); のように、任意の行列の多項式を、対角化を用いて固有値の多項式に関連づけることができる。 ** 行列の指数関数 [#u126bcdc] 指数関数をマクローリン展開すると、 &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(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} ); などとして、行列の指数関数の値を固有値の指数関数の値から求められる。 ** 一般の関数 [#k3d26fef] 一般の関数 &math(f(x)); が &math(x=0); でマクローリン展開可能であれば、 収束半径内において &math(f(x)=\sum_{k=0} \frac{1}{k!}\frac{d^kf(0)}{dx^k}x^k); と書けるから、上記と同様に &math(f(A)); を定義できて、 対角化が可能な場合には固有値に &math(f); を適用することでその値を求められる。 * 数値関数との類似性 [#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] このように、行列の関数は多くの点で数値の関数と似た性質を持つ。 そして、行列が対角化可能な場合にはその値を固有値に関数を適用することで 行列の関数の値を求められる。 [[前の単元 <<<>線形代数II/固有値問題・固有空間・スペクトル分解]] [[線形代数II]] [[>>> 次の単元>線形代数II/連立線形微分方程式]] * 質問・コメント [#qf4681b6] #article_kcaptcha **常微分方程式の範囲における問題がわかりません [#qb5d3dab] >[[山本]] (&timetag(2020-06-29T06:26:01+09:00, 2020-06-29 (月) 15:26:01);)~ ~ (2)$n$次正方行列$A$が$n$個の相異なる固有値$\lambda_1,\lambda_2,\dots,\lambda_n$を持つ(すなわち重複固有値を持たない)とする.対応する固有ベクトルを$\bm v_1,\bm v_2,\dots,\bm v_n$とする。このとき、$e^{xA}\bm v_k=e^{\lambda_kx}\bm v_k$ $(k=1,2,\dots,n)$を示せという問題です。よろしくお願いします。($e^{xA}$ は行列指数関数です)~ // - 落ち着いて行列の指数関数の $A$ によるべき展開と、固有値・固有ベクトルの定義を考えれば難しくないはずですので頑張ってください。 -- [[武内(管理人)]] &new{2020-06-29 (月) 17:43:27}; #comment_kcaptcha
Counter: 34995 (from 2010/06/03),
today: 2,
yesterday: 0