うさぎでもわかる微分方程式 Part11 対角化を用いた連立微分方程式の解き方と指数行列

スポンサードリンク

こんにちは、ももやまです。

今回は、前回に引き続き連立微分方程式について説明していきたいと思います。

今回は、4つの連立微分方程式の解き方

  1. 高階(2階以上)微分方程式に変換する方法
  2. 行列の対角化・指数行列を用いる方法
  3. 微分演算子を用いる方法
  4. ラプラス変換を用いる方法(初期値が与えられているとき限定)

の「行列の対角化を用いる方法」について説明していきたいと思います。

前回の微分方程式の記事はこちら!

www.momoyama-usagi.com

スポンサードリンク

1.行列を用いた連立方程式の表現

前回、2元(2つの式の)連立方程式を2階の微分方程式にしてから解く方法について説明しました。

しかし、式が3つ、4つ…と増えたらどうなるでしょう。

高階の微分方程式にするだけでも一苦労ですよね。

そこで、連立微分方程式を行列を用いて表してみましょう。

例えば、2元の連立方程式{dxdt=x+2ydydt=2x+yがあるとします。

この連立方程式は、ddt(xy)=(1221)(xy)とすることで行列を用いて表すことができます。

さらに、x=(xy),   A=(1221)とすることで、dxdt=Axとコンパクトにまとめることができます。

(このときの行列 A係数行列と呼びます。)

スポンサードリンク

2.対角化を用いた連立方程式の解き方

※ もし行列の対角化について忘れてしまった人は下の記事で必ず復習してからご覧ください。

www.momoyama-usagi.com

行列を用いて連立微分方程式dxdt=Axを解く際には対角化を行います。

例題1

連立微分方程式{dxdt=x+2ydydt=2x+yは、行列を用いてddt(xy)=(1221)(xy)dxdt=Axと表すことができる。(1), (2)の問いに答えなさい。

(1) 行列A=(1221)の固有値、固有ベクトルを求め、対角化しなさい。

(2) (1)を用いて連立微分方程式の一般解を求めなさい。

(3) 初期条件x(0)=(x(0)y(0))=(20)における解を求めなさい。

解説1

固有値を k とすると、固有値は|AkE|=0を満たす k が固有値となるのでしたね。

早速解いていくと、|AtE|=|1t221t|=(1k)24=k22k+14=k22k3=(k3)(k+1)=0と変形できるので、固有値は-1, 3となる。

(固有値の総和は対角成分の総和(今回は2)に等しいことを必ず確認すること!)

つぎに、対応する固有値ごとに固有ベクトルを求める。

対応する固有値 k の固有ベクトル p は、連立方程式(AkE)p=0を解くことで求められる。

(i) 固有値が-1のときの固有ベクトル p1

行列 AE の変形を行うと、AE=(2222)(1100)となる。方程式x+y=0の解は任意定数 k を用いて(xy)=k(11)となるので、固有ベクトル p1p1=(11)となる。

(ii) 固有値が3のときの固有ベクトル p3

行列 A3E の変形を行うと、AE=(1111)(1100)となる。方程式xy=0の解は任意定数 k を用いて(xy)=k(11)となるので、固有ベクトル p2p2=(11)となる。

よって、行列 PP=(p1p2)=(1111)とすることで、P1AP=(1003)=Dと対角化することができます。

(試験の際には AP=PD で対角化が正しいかどうかを必ず確認すること!)

(2)

対角化の式P1AP=Dに左辺から P、右辺から P1 を掛けるとPP1APP1=PDP1A=PDP1が成立する。

これを連立方程式dxdt=Axに代入すると、dxdt=PDP1xとなる。

さらに左辺から P1 を掛けてあげると、P1dxdt=P1PDP1x=DP1xとなる。

ここで、P1 は定数なので、P1dxdt=ddtP1xと微分演算子 ddt の中に入れることができる。

よって、ddt(P1x)=DP1xが成立する。

※ 対角化後の行列の変形手順をまとめると下のようになります

f:id:momoyama1192:20200420092300g:plain

ここで、P1x=y(つまり x=Py)とおくと、ddty=Dyと書き換えられる。

成分で表すと、ddt(XY)=(1003)(XY)とかけるので、分離するとdXdt=X    1XdXdt=1dYdt=3Y    1XdYdt=3となり、変数分離形に持ち込めます。

よって、X, Y の解は任意定数 C1, C2 を用いてX=C1et,   Y=C2e3tとなります。

ここで、x=Py なので、x=(xy)=(1111)(XY)=(X+YX+Y)=(C1et+C2e3tC1et+C2e3t)となり、一般解を{x=C1et+C2e3ty=C1et+C2e3tと求めることができます。

(ただ一般解を求めるだけであれば逆行列 P1 の計算は不要!)

(3)

(2)の一般解に x(0)=1, y(0)=0 を入れて解いてもいいのですが、せっかくなので行列を使って解いてみましょう。

t=0 を代入すると、y(0)P1x=y よりy(0)=(X(0)Y(0))=(C1C2)=P1x(0)=P1(x(0)y(0))で表せる。

また、 逆行列 P1 は、P1=12(1111)となるので、(C1C2)=12(1111)(20)=(11)となる。

よって、一般解は{x=et+e3ty=et+e3tとなる。

なお、対角化できない行列の場合は例題1のような解き方はできないので注意してください。

(係数行列が対角化できない場合は、下で紹介する指数行列とジョルダン標準形の変形を利用することで一般解を求めます。)

スポンサードリンク

3.指数行列

(1) 指数行列の仕組みと重要な法則

連立微分方程式を行列を用いてdxdt=Axと表すこができることを先程説明しましたね。

この式を1xdxdt=Aとすることで任意定数が入ったベクトル c を用いてx=eAtcと表現できないかなぁと思う人もいるかもしれません。

f:id:momoyama1192:20200420092256g:plain

そこで、とある人が e の行列 A 乗をeA=E+A+12!A2++1n!An+=n=01n!Anのようなマクローリン展開の形で定義しました。

この e の指数に行列 A を載せた eA のことを指数行列と呼びます。

指数行列の定義

行列 A の指数行列 eA は、
eA=E+A+12!A2++1n!An+=n=01n!Anで定義される。

マクローリン展開について忘れてしまった人は下の記事で復習しましょう。

www.momoyama-usagi.com

指数行列には様々な法則が成り立ちますが、その中でも特に重要な5つを紹介しましょう。

指数行列の重要な5つの法則

法則1:AB=BA ならば eA+B=eAeB
ABBA の場合は成立しないので要注意!!

法則2:ddtetA=AetA
eax を微分するときと同じ感覚でOK

法則3:ePAP1=PeAP1
※ 連立微分方程式を解く際や指数行列を求めるときに使う超重要公式!!

法則4:eO=EO はゼロ行列・E は単位行列)
e0=1 の感覚でOK

法則5:eA=(eA)1

法則2を用いることで、連立微分方程式ddtx=Axから、x=etAc,   c=(C1C2Cn)が成り立つことを示せます。(c は任意定数を縦に並べた行列)

(導出)

x=etAcが成り立つと仮定すると、ddtx=ddtetAc=AetAc=Axとなるので、ddtx=Ax    x=etAcとなることを示せます。

特に重要な法則3については導出を確認しておきましょう。

まず指数行列の定義式より、ePAP1=E+P1AP+12!(P1AP)2++1n!(P1AP)n+=n=01n!(P1AP)nとなりますね。

ここで、

f:id:momoyama1192:20190827182654g:plain

となるので、(P1AP)n=P1AnPが成り立ちますね。

よって、ePAP1=P1(E+A+12!A2++An+)P=P1eAPと導出することができます。

(2) 主要な行列から指数行列への変換公式

まずは、主要な5つの行列に対しての指数行列の変形公式を確認しておきましょう。

この公式は指数行列を計算する上で重要になるので、必ず頭にいれておきましょう。

指数行列計算の5つの公式

(公式1) 行列 AA=(a00b)のとき、eA, etA はそれぞれeA=(ea00eb),   etA=(eta00etb)で計算できる。

(公式2) 行列 AA=(a10a)のとき、eA, etA はそれぞれeA=ea(1101),   etA=eta(1t01)で計算できる。

(公式3) 行列 AA=(0aa0)のとき、eA, etA はそれぞれeA=(cosasinasinacosa),   etA=(cosatsinatsinatcosat)で計算できる。

(公式4) 行列 AA=(abba)のとき、eA, etA はそれぞれeA=ea(cosbsinbsinbcosb),   etA=eat(cosbtsinbtsinbtcosbt)で計算できる。

※ 行列 AA=(abba)として、eA, etAeA=ea(cosbsinbsinbcosb),   etA=eat(cosbtsinbtsinbtcosbt)と書かれている参考書・サイトもあり。

(※どちらかを頭にいれておけば bb, sin(bt)sinbt から導出できるので、片方を頭に入れましょう)

(公式5) 対角行列 AA=(c1000c2000ck)のとき、eA, etA はそれぞれeA=(ec1000ec2000ecn),   etA=(ec1t000ec2t000ecnt)で計算できる。

(公式1を3次以上の正方行列に拡張)

公式1~公式4については、下で導出しているので余裕がある人は確認してみてもいいかもしれません。

余裕ないぜっていう人は公式1だけでも頭にいれておくといいです。

指数行列の計算例1

行列A=(a00b)の指数行列 eAeA=(ea00eb)etA=(eat00ebt)になることを確認しましょう。

定義に沿って計算すると、eA=E+A+12!A2+13!A3+=(1001)+(a00b)+12!(a00b)2+13!(a00b)3+=(1001)+(a00b)+12!(a200b2)+13!(a300b3)+=(1+a+12a2+13a3+001+b+12b2+13b3+)=(ea00eb)と計算できます。

また、etA=E+tA+12!(tA)2+13!(tA)3+=(1001)+t(at00bt)+12!(at00bt)2+13!(at00bt)3+=(1001)+(at00bt)+12!((at)200(bt)2)+13!((at)300(bt)3)+=(1+at+12(at)2+13(at)3+001+bt+12(bt)2+13(bt)3+)=(eat00ebt)と計算できます。

指数行列の計算例2

行列A=(a10a)の指数行列 eAeA=(eaea0ea)=ea(1101)etA=(etateta0eta)=eta(1t01)になることを確認しましょう。

定義に沿って計算すると、eA=E+A+12!A2+13!A3+=(1001)+(a10a)+12!(a10a)2+13!(a10a)3+=(1001)+(a10a)+12!(a22a0a2)+13!(a33a20a3)+=(1+a+12a2+13a3+1+22!a+33!a2+44!a301+a+12a2+13a3+)=(1+a+12a2+13a3+1+a+12!a2+13!a301+a+12a2+13a3+)=(eaea0ea)=ea(1101)と計算できます。

また、etA=E+tA+12!(tA)2+13!(tA)3+=(1001)+(att0at)+12!(att0at)2+13!(att0at)3+=(1001)+(att0t)+12!((at)22at0(at)2)+13!((at)33(at)20(at)3)+=(1+at+12(at)2+13(at)3+t+22!at+33!(at)2+44!(at)301+at+12(at)2+13(at)3+)=(1+at+12(at)2+13(at)3+t(1+at+12!(at)2+13!(at)3)01+at+12(at)2+13(at)3+)=(etateta0eta)=eta(1t01)と計算できます。

指数行列の計算例3

行列A=(0aa0)の指数行列 eAeA=(cosasinasinacosa)etA=(cosatsinatsinatcosat)になることを確認しましょう。

定義に沿って計算すると、eA=E+A+12!A2+13!A3+=(1001)+(0aa0)+12!(0aa0)2+13!(0aa0)3+=(1001)+(0aa0)+12!(a200a2)+13!(0a3a30)+=(112!a2+14!a4+(a13a3+15a5+)a13a3+15a5+112!a2+14!a4+)=(cosasinasinacosa)と計算できます。

また、etA=E+tA+12!(tA)2+13!(tA)3+=(1001)+(0atat0)+12!(0atat0)2+13!(0atat0)3+=(1001)+(0atat0)+12!((at)200(at)2)+13!(0(at)3(at)30)+=(112!(at)2+14!(at)4+(at13(at)3+15(at)5+)t13(at)3+15(at)5+112!(at)2+14!(at)4+)=(cosatsinatsinatcosat)と計算できます。

行列版オイラーの公式?

行列A=(0aa0)=a(0110)に対し、eA=(cosasinasinacosa)=cosa(1001)+sina(0110)となることを確認しました。

ここで、K=(0110)eA=Ecosa+Jsinaのようなオイラーの公式っぽいものが出てきます。

さらに面白いことにJ2=(1001)=Eとなり、まるで虚数の定義(i2=1)にそっくりな式 J2=E が導出できちゃうのです!

指数行列の計算例4

行列A=(abba)の指数行列 eAeA=ea(cosbsinbsinbcosb)etA=eat(cosbtsinbtsinbtcosbt)になることを確認しましょう。

行列 B, CB=(a00a)C=(0bb0)とすると、A=B+CeB=(ea00ea)eC=(cosbsinbsinbcosb)となる。

また、BC=CB=(0abab0)となるので、 eA=eB+C=eBeCが成立する。

(指数関数の定理1:BC=CB の確認を忘れずに!)

よって、eA=eBeC=(ea00ea)(cosbsinbsinbcosb)=ea(cosbsinbsinbcosb)と変形できる。

また、etB=(eat00eat)etC=(cosbtsinbtsinbtcosbt)となり、BC=CB なので、etA=etBetC=(eat00eat)(cosbtsinbtsinbtcosbt)=eat(cosbtsinbtsinbtcosbt)と変形できる。

(3) 主要な公式以外の導出

先程は、定義式eA=E+A+12!A2++1n!An+=n=01n!AnもしくはetA=E+tA+12!(tA)2++1n!(tA)n+=n=01n!(tA)nから変形をすることで、指数行列を計算しました。

しかし、いちいち定義式を変形して計算するのは結構めんどくさいです。

そこで、行列の対角化などにより A=P1DP を算出し、eA=ePDP1=PeDP1etA=etPDP1=PetDP1を計算することで、定義式を変形することなく指数行列を求めることができます。

(ただし D を主要な行列の形に変える)

例題で1つ試してみましょう。

例題2

行列A=(1221)の指数行列 etA を求めなさい。

解説2

例題1より、行列 AP=(1111)を用いてP1AP=(1003)=Dと対角化できます。

また、(公式1)より etDetD=(et00e3t)と導出できます。

さらに、P の逆行列 P1P1=12(1111)となります。(例題1の(3)で計算済)

よって、etA=PetDP1=(1111)(et00e3t)12(1111)=12(ete3tete3t)(1111)=12(et+e3tet+e3tet+e3tet+e3t)と計算できる。

例題3~例題5でも、指数行列 etA を求める問題を用意しているので計算練習をしたい人はご覧ください。

4.指数行列を用いた連立微分方程式の解き方

指数行列を用いることで連立微分方程式ddtx=Axx=etAc,   c=(C1C2Cn)と変形できるので、etA を求めることで簡単に連立微分方程式の解が求まります

(初期値が与えられている場合は、c に初期値c=(x1(0)x2(0)xn(0))を入れることで初期条件を考慮した解を求めることができます。)

(1) 係数行列が対角化可能かつ固有値がすべて実数の場合

まずは、係数行列 A が対角化可能な場合を見ていきましょう。

なお、対角化可能の場合は、例題1のように解くことで指数行列 etA の形にしなくても解くことができます。

例題3

連立微分方程式{dxdt=4x+ydydt=8x5yは、行列を用いてddt(xy)=(4185)(xy)dxdt=Axと表される。これについて、(1)~(3)の問いに答えなさい。

(1) 行列A=(4185)の固有値、固有ベクトルを求め、対角化しなさい。

(2) (1)を用いて連立微分方程式の一般解を求めなさい。

(3) 行列 A の指数行列 etA を求めなさい。

解説3

(1)

固有値を k とすると、|AkE|=|4k185k|=(k4)(k+5)+8=k2+k20+8=k2+k12=(k3)(k+4)=0と変形できるので、固有値は 3, -4 となる。

(検算:固有値の総和 = 対角成分の総和 = -1)

つぎに、対応する固有値ごとに固有ベクトルを求める。

(i) 固有値が3のときの固有ベクトル p1

行列 A3E の変形を行うと、A3E=(1188)(1100)となる。方程式x+y=0の解は任意定数 k を用いて(xy)=k(11)となるので、固有ベクトル p1p1=(11)となる。

(ii) 固有値が-4のときの固有ベクトル p2

行列 A+4E の変形を行うと、A+4E=(8181)(8100)となる。方程式8x+y=0の解は任意定数 k を用いて(xy)=k(18)となるので、固有ベクトル p2p2=(18)となる。

よって、行列 PP=(p1p2)=(1118)とすることで、P1AP=(3004)=Dと対角化することができます。

[検算]AP=PD=(34332)

(2)

連立方程式dxdt=Axの一般解は、任意定数を縦に並べたベクトル c を用いてx=etAcで求めることができる。

また、対角化の式P1AP=Dに左辺から P、右辺から P1 を掛けるとPP1APP1=PDP1A=PDP1が成立することがわかるので、x=etAc=etPDP1c=PetDP1cが成立する。(法則3の変形)

また、公式1よりetD=(e3t00e4t)となる。

ここで、改めて任意定数をc=P1c=(C1C2)とすることで、x=PetDP1c=PetDc=(1118)(e3t00e4t)(C1C2)=(e3te4te3t8e4t)(C1C2)=(C1e3t+C2e4tC1e3t8C2e4t)となるので、一般解を{x=C1e3t+C2e4ty=C1e3t8C2e4tと求めることができる。

(3)

P の逆行列 P1P1=17(8111)となる。

よって、etA=PetDP1=(1111)(et00e3t)17(8111)=17(e3te4te3t8e4t)(8111)=17(8e3te4te3te4t8e3t+8e4te3t+8e4t)と計算できる。

(2) 係数行列が対角化できない場合

残念ながら、すべての行列が対角化できるとは限りません。

ですが、正則な行列 P を用いて、できる限り対角行列の近い形P1AP=J=(a10a)つまりジョルダン標準形に変形することはできますね。

そこで、対角化ができない場合はジョルダン標準形を求め、A=PJP1 の形にすることで指数行列を用いて連立微分方程式の一般解を求めることができます。

(ジョルダン標準形ってなんだっけ?もしくは忘れてしまったという人は下の記事で復習することをおすすめします。)

www.momoyama-usagi.com

例題4

連立微分方程式{dxdt=2x+ydydt=4x+6yは、行列を用いてddt(xy)=(2146)(xy)dxdt=Axと表される。これについて、(1)~(3)の問いに答えなさい。

(1) 行列A=(2146)を正則行列 P を用いて、P1AP をジョルダン標準形にしなさい。

(2) (1)を用いて連立微分方程式の一般解を求めなさい。

(3) 行列 A の指数行列 etA を求めなさい。

解説4

(1)

固有値を k とすると、|AkE|=|2t146t|=(k2)(k6)+4=k2kt+12+4=k28k+16=(k4)2=0と変形できるので、固有値は4(2重解)となる。

(検算:固有値の総和 = 対角成分の総和 = 4)

つぎに、対応する固有値ごとに固有ベクトルを求める。

(i) 固有値が4のときの固有ベクトル p1

行列 A3E の変形を行うと、A4E=(2142)(1100)となる。方程式2xy=0の解は任意定数 k を用いて(xy)=k(12)となるので、固有ベクトル p1p1=(12)となる。

固有ベクトルが1本ないので対角化ができない。

そこで、(A4E)p2=p1を満たすような行列を考える。A4E=(211422)(211000)となる。方程式2xy=1の解の1つに(xy)=(01)があるので、ベクトル p2p2=(01)と求まる。

よって、{(A4E)p1=0Ap1=4p1   {(A4E)p2=p1Ap2=p1+4p2が成立するので、P=(p1,p2)=(1021)とすると、AP=A(p1,p2)=(4p1,p1+4p2)=(p1,p2)(4104)=P(4104)となるので、P1AP=(4104)=Jとジョルダン標準形にすることができます。

[検算]AP=PJ=(4186)

(2)

連立方程式dxdt=Axの一般解は、任意定数を縦に並べたベクトル c を用いてx=etAcで求めることができる。

また、ジョルダン標準形の式P1AP=Jに左辺から P、右辺から P1 を掛けるとPP1APP1=PDP1A=PJP1が成立することがわかるので、x=etAc=etPJP1c=PetJP1cが成立する。(法則3の変形)

また、公式1よりetJ=e4t(1t01)となる。

ここで、改めて任意定数をc=P1c=(C1C2)とすることで、x=PetDP1c=PetDc=(1021)e4t(1t01)(C1C2)=e4t(1t22t+1)(C1C2)=e4t(C1+C2t2C1+(2t+1)C2)となるので、一般解を{x=C1e4t+C2te4ty=2C1e4t+C2e4t(2t+1) と求めることができる。

(3)

P の逆行列 P1P1=(1021)となる。

よって、etA=PetDP1=(1021)e4t(1t01)(1021)=e4t(1t22t+1)(1021)=e4t(2t+1t4t2t+1)と計算できる。

(3) 固有値が共役な複素数になる場合

※ 複素数計算に慣れていない人は、こちらの記事で練習をおすすめします。

行列 A の固有値が共役な複素数 a±bi となる場合も、(1)と同じように対角化を用いることで連立微分方程式を解いたり、etA を求めることができます。

しかし、ここでは対角化ができる場合でもあえて対角化を行わないことを考えます。

ある固有値 a+bi の固有ベクトルが p で表せるとします。

すると、数式Ap=(a+bi)pが成立しますね。(固有ベクトルの定義)

ここで、固有ベクトル pp=u+ivとすることで実部 u と虚部 v に分離します。

すると、左辺はAp=A(u+iv)=Au+iAvと分離でき、右辺は(a+bi)p=(a+bi)(u+iv)=au+aiv+biubv=(aubv)+i(av+bu)となるので、Ap=(a+bi)pAu+iAv=(aubv)+i(av+bu)が成り立ちます。

よって、{Au=aubvAv=bu+avの形に変形できるので、行列を用いてA(uv)=(uv)(abba)と表すことができます。

ここで、P=(uv),   X=(abba)とおくことでAP=PXAPP1=PXP1A=PXP1の形に変形することができます。

ここで、etX=eat(cosbtsinbtsinbtcosbt)と計算できるので、eA=etPXP1=PetXP1とすることで、対角化をすることなく指数行列 etA を求めることができますね。

というわけで、例題で確認してみましょう。

例題5

連立微分方程式{dxdt=x5ydydt=x+3yは、行列を用いてddt(xy)=(1513)(xy)dxdt=Axと表される。これについて、(1)~(3)の問いに答えなさい。

(1) 行列A=(1513)の固有値、固有ベクトルを求めなさい。

(2) (1)を用いて連立微分方程式の一般解を求めなさい。

(3) 行列 A の指数行列 etA を求めなさい。

解説5

(1)

固有値を t とすると、|AtE|=|1t513t|=(t+1)(t3)+5=t22t+2=0となる。ここで、1±482=1±i変形できるので、固有値は 1+i, 1-i となる。

(検算:固有値の総和 = 対角成分の総和 = 2)

つぎに、対応する固有値ごとに固有ベクトルを求める。

ここで、計算のコツなのですが、固有値が複素数のときはすぐ行基本変形をせずAp=tpA(xy)=t(xy)の連立方程式を一旦組み立ててから解くのがおすすめです。

(i) 固有値が 1+i のときの固有ベクトル p1

固有値が 1+i のとき、{x5y=(1+i)xx+3y=(1+i)3yとなるので、1式目を変形して(2+i)x=5yy=15(2+i)とする。ここで、x=2i とすると、y=15(2+i)(2i)=1となるので、解の1つがy=(2i1)となる。

よって固有ベクトル p1p1=(2i1)と求まる。

(ii) 固有値が1-iのときの固有ベクトル p2

固有値が 1i のとき、{x5y=(1i)xx+3y=(1i)3yとなるので、1式目を変形して(2i)x=5yy=15(2i)とする。ここで、x=2+i とすると、y=15(2i)(2+i)=1となるので、解の1つがy=(2+i1)となる。

よって固有ベクトル p2p2=(2+i1)と求まる。

(2)

ここで、固有値 t=1+i に対する固有ベクトルp=(2i1)を考える。

ここで、固有ベクトル pp=u+iv=(21)+i(10)とする。

すると、左辺はAp=A(u+iv)=Au+iAvと分離でき、右辺は(1+i)p=(1+i)(u+iv)=u+iv+iuv=(uv)+i(v+u)となるので、Ap=(1+i)pAu+iAv=(uv)+i(v+u)が成り立ちます。

よって、{Au=uvAv=u+vの形に変形できるので、行列を用いてA(uv)=(uv)(1111)と表すことができます。

ここで、P=(uv)=(2110) X=(1111)とおくことでAP=PXAPP1=PXP1A=PXP1の形に変形することができます。

[検算]AP=PX=(3111)

ここで、連立方程式dxdt=Axの一般解は、任意定数を縦に並べたベクトル c を用いてx=etAcで求めることができる。

また、A=PXP1なので、x=etAc=etPXP1c=PetXP1cが成立する。(法則3の変形)

また、公式1よりetX=et(costsintsintcost)となる。

ここで、改めて任意定数をc=P1c=(C1C2)とすることで、x=PetXP1c=PetXc=(2110)et(costsintsintcost)(C1C2)=et(2cost+sint2sintcostcostsint)(C1C2)=et(C1(2cost+sint)+C2(2sintcost)C1costC2sint)となるので、一般解を{x=C1et(2cost+sint)+C2et(2sintcost)y=C1etcostC2etsintと求めることができる。

(3)

P の逆行列 P1P1=(0112)となる。

よって、etA=PetDP1=(2110)et(costsintsintcost)(0112)=et(2cost+sint2sintcostcostsint)(0112)=et(2sint+cost5sintsintcost+2sint)と計算できる。

5.非同次の連立微分方程式の解き方(おまけ)

{dxdt=x+2y+e2tdydt=2x+y+2e2tのような非同次の連立微分方程式も、b=(e2te2t)とすることで、(1)dxdt=Ax+b(t)のように行列を用いてとくことができます。

ここで、同次形dxdt=Axの一般解は任意定数ベクトル c を用いてx=etAcと表せるのでしたね。

ここで、任意定数ベクトル c が何かしらの t の関数 c(t) ではないかと考えます。おなじみの定数変化法ですね。

(以下、c(t)c と表記します。)

ここで、x=etAct で微分すると、dxdt=AetAc+etAdcdtとなりますね。

これを与えられた式(1)に代入すると、AetAc+etAdcdt=Ax+b=AetAc+b(t)となるので、etAdcdt=b(t)dcdt=etAb(t)と変形することで、ベクトル c(t) を任意定数が新たな入ったベクトル C を用いてc=etAb(t) dt+Cで計算することができます。

よって非同次形の連立微分方程式dxdt=Ax+b(t)の一般解はx=etAc=etA(etAb(t) dt+C)で求めることができます。

軽く例題で計算過程の確認をしておきましょう。

例題6

連立微分方程式{dxdt=x+2y+e2tdydt=2x+y+e2tは、行列を用いてddt(xy)=(1221)(xy)+(e2t2e2t)dxdt=Ax+bと表される。

このときの与えられた連立微分方程式の特殊解を1つ求めなさい。

ただし、必要であればetA=12(et+e3tet+e3tet+e3tet+e3t)を用いてもよい。

解説6

特殊解の1つはetAetAb(t) dtと求めることができる。(導出仮定省略)

etA=12(et+e3tet+e3tet+e3tet+e3t)となる。

また、etAb=12(et+e3tet+e3tet+e3tet+e3t)(e2te2t)=(etet)となるので、etAb dt=(etet) dt=(et dtet dt)=(etet)と計算できます。

(特殊解の1つを出すので任意定数を省略しています。)

よって、特殊解の1つは、x=etAetAb(t) dt=12etA(et+e3tet+e3tet+e3tet+e3t)(etet)=(e2te2t)=(xy)となるので、{x=e2ty=e2tとなります。

なお、非同次の2元連立微分方程式を行列を用いて解くのは計算量がかなり多くなってしまうため、あまりおすすめできません。

(非同次の2元連立微分方程式であれば、2次の微分方程式にしてから解くのがおすすめです。)

6.練習問題

では、実際に

  • 対角化を用いて連立微分方程式を解く
  • 指数行列の仕組みと導出
  • 指数行列を用いて連立微分方程式を解く

練習をしてみましょう。

今回は、記事の分量の都合上、練習問題は別の記事にしております。

練習問題にチャレンジしたい人は下の記事をぜひご覧ください。

www.momoyama-usagi.com

7.さいごに

かなり長い記事になってしまいましたが今回は、

  • 対角化を用いて連立微分方程式を解く方法
  • 指数行列の仕組みと導出方法
  • 指数行列を用いて連立微分方程式を解く方法

について紹介しました。

対角化を用いて連立微分方程式を解く方法については期末試験でもよく出てくるので確実に復習しておきましょう。

指数行列については、仕組みをなんとなくで理解していただけたらOKです。

(おそらく期末試験には出ないと思うので… 院試なら必要かも。)

次回は、実際に対角化や指数行列を用いた連立微分方程式を解いたり、指数行列を求める計算演習問題を用意する予定です。

関連広告・スポンサードリンク

おすすめの記事