連立微分方程式 x˙=Ax の解は x(t)=etAx0 と書けます。スカラーの x′=ax が x=eatx0 だったのと、まったく同じ形。
肩に乗っているのは行列です。e を行列回だけ掛ける、という意味には読めません。ではどう定義するのか、そして計算はどうするのか[1]。
べき級数で定義する
指数関数のテイラー展開に、数の代わりに行列を入れます。積は行列の積、A0 は単位行列 I です。
eA=k=0∑∞k!Ak=I+A+2!A2+3!A3+⋯
パラメータ t を付けた形もよく使います。
etA=k=0∑∞k!tkAk
A=O なら eO=I。第 1 項しか残りません。
どんな行列でも収束する
級数なので、まず収束を確かめます。行列のノルムを、積について ∥XY∥≤∥X∥∥Y∥ を満たすものにとります[2]。
このとき ∥Ak∥≤∥A∥k なので、各項の大きさは次のように押さえられます。
k=0∑∞k!Ak≤k=0∑∞k!∥A∥k=e∥A∥<∞
右辺はただの実数の指数関数で、必ず有限。絶対収束するので、もとの級数も収束します。
条件は何もありません。正則でなくても、対角化できなくても、eA は定まる[1]。
対角行列は成分ごとに計算する
A=diag(λ1,…,λn) なら、Ak も対角行列で、成分は λik です。級数を成分ごとに足すだけで済みます。
eA=diag(eλ1,…,eλn)
対角化できる行列は、この場合に持ち込めます。A=PDP−1 なら Ak=PDkP−1 なので、級数の P と P−1 が外へ出ます。
eA=k∑k!PDkP−1=P(k∑k!Dk)P−1=PeDP−1
例:2 次の行列で計算する
A=(1023)
固有値は 1 と 3。固有ベクトルは (1,0) と (1,1) です。
P=(1011),P−1=(10−11)
etD=diag(et,e3t) をはさんで掛けます。
etA=(et0e3t−ete3t)
t=0 を入れると単位行列。t で微分して t=0 とすると、(1,2;0,3) が出て A に戻ります。
掛け算の法則は崩れる
スカラーなら ea+b=eaeb でした。行列では一般に成り立ちません[1]。
A=(0010),B=(0100)
どちらも 2 乗すると零行列なので、級数は 2 項で切れます。eA=I+A、eB=I+B。
eAeB=(1011)(1101)=(2111)
一方 A+B は 2 乗すると I になるので、級数が双曲線関数に分かれます。
eA+B=(cosh1sinh1sinh1cosh1)≈(1.5431.1751.1751.543)
まるで違う行列。ついでに eBeA を計算すると (1,1;1,2) で、eAeB とも違います。
可換なら成り立つ
AB=BA のときは、スカラーと同じ式が復活します[3]。
eA+B=eAeB(AB=BA)
証明は二項定理です。可換なら (A+B)k=∑j(jk)AjBk−j と展開でき、級数を掛け合わせた形と項が一致します。
可換でないと二項定理そのものが崩れる。(A+B)2=A2+AB+BA+B2 で、真ん中が 2AB にまとまりません。
この系として、A と −A はいつでも可換なので次が出ます。
eAe−A=eO=I⟹(eA)−1=e−A
eA はどんな A に対しても正則。A が正則でなくても、指数をとると正則になります。
スカラーの指数関数
ea+b=eaeb がいつでも成り立つ。掛ける順番も関係ない
行列の指数関数
AB=BA のときだけ成り立つ。順番を変えると別の行列になる
微分方程式へ
級数を項ごとに微分します。dtdk!tkAk=(k−1)!tk−1Ak なので、A が 1 つ外へ出た形になります。
dtdetA=AetA=etAA
x(t)=etAx0 とおくと x˙=AetAx0=Ax。t=0 で x(0)=x0 なので、初期値も合います[4]。
解が 1 つに決まることも言えます。y を別の解とし、z(t)=e−tAy(t) を微分すると z˙=−Ae−tAy+e−tAAy=0。
z が定数なので y(t)=etAz(0) となり、初期値が同じなら x と一致します。
例:初期値から解を書く
上の A=(1,2;0,3) で x(0)=(0,1) とします。etA を掛けるだけ。
x(t)=(et0e3t−ete3t)(01)=(e3t−ete3t)
微分すると (3e3t−et, 3e3t)。Ax を計算しても同じ値になります。
例:回転を作る行列
A=(01−10)
2 乗すると −I、3 乗すると −A、4 乗で I に戻ります。級数を I の項と A の項に分けると、そのまま三角関数の展開になる。
etA=(costsint−sintcost)
オイラーの公式 eiθ=cosθ+isinθ の行列版です。A が虚数単位の役目をしています。
対角化できないとき
A を対角化できないなら、ジョルダン標準形に持ち込みます[5]。細胞は J=λI+N の形で、N は右上に 1 が並ぶ行列。
λI と N は可換なので、指数法則が使えます。N はべき零なので、級数は有限項で切れます。
etJ=eλt(I+tN+2!t2N2+⋯+(k−1)!tk−1Nk−1)
2 次の細胞なら N2=O なので、2 項で終わります。
etJ=eλt(10t1)
t が外に出てきました。解に teλt の形が現れるのは、この N が原因です。
対角化できる行列の解は、eλt を並べただけの形になります。細胞が 2 次以上だと、そこに t の多項式 が掛かります。
細胞の大きさが k なら tk−1 まで出る。重解のときに現れる teλt の正体。
行列式とトレース
eA の行列式は、トレースから出ます[3]。
det(eA)=etrA
対角化できる場合は簡単です。det は固有値の積、eA の固有値は eλi なので、積は eλ1+⋯+λn。指数の中身が固有値の和、つまりトレースになります。
右辺は 0 になりません。eA がいつも正則だという事実が、ここからも読めます。
数値で計算するときの注意
定義どおり級数を足す方法は、実は精度が出ません。∥A∥ が大きいと、途中の項が答えより桁違いに大きくなり、引き算で桁が落ちます[6]。
実際に使われるのは、A を 2s で割って小さくし、パデ近似で eA/2s を作り、s 回 2 乗して戻す手順です。
eA/2s を 2s 乗すれば eA に戻る、という指数法則がこの手順を支えています。同じ行列どうしなので可換で、法則が使えます。
A2=O を満たす行列 A について、eA はどれになりますか。
__RESULT__
級数 I+A+2!A2+⋯ で、A2 以降の項がすべて消えます。残るのは I+A の 2 項だけ。べき零行列では級数が有限で切れるので、eA を手で書き下せます。
指数法則がいつ使えるかも確かめます。
eA+B=eAeB が保証されるのはどんなときですか。
- A と B がどちらも正則なとき
- AB=BA のとき
- つねに成り立つ
__RESULT__
可換なときに限ります。証明で二項定理を使うためで、AB=BA だと (A+B)2 の展開が A2+2AB+B2 になりません。正則かどうかは関係しません。
よくある誤り
eA を、成分ごとに eaij を計算したものと思う。対角行列でない限り一致しません。
eA+B=eAeB をいつでも使う。可換のときだけです。
A が正則でないと eA が作れないと思う。級数はどんな行列でも収束します。
eA が正則でない場合があると思う。逆行列は e−A で、つねに存在します。
対角化できない行列で PeDP−1 を使う。D が作れないので、ジョルダン標準形に持ち込みます。
det(eA)=edetA と覚える。指数の中身はトレースです。
級数で定義し、可換かどうかで法則の使える範囲が決まる。対角化できれば対角成分ごと、できなければ細胞ごと。この 3 段で eA はたいてい書き下せます。
出典
Bruce Ikenaga. *The Exponential of a Matrix*. Millersville University. Pete Karageorgis. *Linear systems*. MA2327 Lecture Notes, Trinity College Dublin. Joseph Mahaffy. *Linear Systems of ODEs: Fundamental Solution*. Math 537, San Diego State University. David Dummit. *Applications of the Jordan Canonical Form*. Math 4571, Northeastern University.
$\dot{x} = Ax$ の解が $x(t) = e^{tA}x_0$ になる、その $e^{tA}$ の中身です。テイラー展開に行列を入れるだけで、$\|A^k\| \leq \|A\|^k$ から級数はどんな行列でも収束する。対角化できれば $Pe^{D}P^{-1}$、できなければジョルダン細胞ごとに $e^{\lambda t}(I + tN)$ と書けます。$e^{A+B} = e^{A}e^{B}$ が崩れる 2 次の反例、$(e^{A})^{-1} = e^{-A}$ がいつでも成り立つ理由、$\det(e^{A}) = e^{\operatorname{tr} A}$、定義どおり足すと精度が落ちる話まで。
級数 I+A+2!A2+⋯ で、A2 以降の項がすべて消えます。残るのは I+A の 2 項だけ。べき零行列では級数が有限で切れるので、eA を手で書き下せます。