線形代数・展開(2)

≪線型常微分方程式≫

いま、R 上の何度でも微分できる関数全体の集合を
V= {f:RR  | f は何度でも微分できる関数}
と表わすことにする。
 そこで、「微分する」という操作を考えてみると、fV に対して
Df= dfdx  という式によって定まる写像 D= ddx :  VV
は、普段、無意識のうちに行なっている微分の計算規則を思い出してみると、f,gV,aR として、
Df+g= ddx f+g = dfdx+ dgdx = Df+ Dg Daf= ddx af = a· dfdx = a·Df
となることが分かるから、D : VV は線型写像である、ということが分かる。

 ところで、線型空間は「足し算」や「スカラー倍」ができるという代数的な構造を持った集合として定義され、線型写像はこうした線型空間の構造を保つような写像として定義される。数学では, 線型写像の例のように、集合上に入っている何らかの構造を保つような写像のことを、一般に、準同型写像と呼ぶ。ここで,「準」という言葉がついているのは、
f : VW
という写像が線型写像であるというだけでは、写像 f によって, 必ずしも, V の元と W の元がピッタリ一対一に対応しているとは限らないからである。英語で、準同型写像のことを homomorphism と言うので、線型空間 V, W に対して, V から W への線型写像全体の集合を
HomV,W= {f : VW  | f は線型写像}
という記号を用いて表わす。

前に見たように、「微分写像」 D= ddx :  VV は線型写像であることを確認した。すなわち、DHomV,V である。すると、「微分の微分」は合成写像であるから、
D2= DDHom V,V  同様の議論を繰り返すと D3= D2DHom V,V
勝手な自然数 nN に対して、
Dn= dndxn Hom V,V  また、スカラー anR とすると anDn= an dndxn Hom V,V
となることが分かる。
そして、その和も線型写像となるから、nN,a0a0a0anR として、
L=anDn+ an-1Dn-1+⋯+ a1D+a0D0 ∈Hom V,V  こうして、 L=an dn dxn+ an-1 dn-1 dxn-1 +⋯+ a1 ddx + a0  : VV (1)
という写像が線型写像になることが分かる。
一般に、(1)式のような写像を定数係数の線型微分作用素と呼ぶ。

いま、実数列 a={an}n=0,1,2, に対して、関数 fa(x)
fa⁡(x)= n=0 ann! xn = a0+ a1x+ a22! x2+ a33! x3+⋯ (2)
というように、Taylor 展開に合わせたベキ級数の表示を用いて定める。
そこで、(2)式の両辺を微分してみると、
fa'⁡(x)= a1+ a2x+ a32! x2+ a43! x3+⋯ = n=0 an+1n! xn (3) さらに、(3)式の両辺を微分してみると、 fa''⁡(x)= a2+ a3x+ a42! x2+ a53! x3+⋯ = n=0 an+2n! xn (4)
となることが分かる。
そこで、今度は、「数列の番号をひとつずらす」写像を考えてみる。すなわち、
a={an}n=0,1,2,VN に対して、 T(a)= {an+1}n=0,1,2, (5)
という式によって定義される写像 T : VNVN を考えてみる。このとき、
T(a)= {bn}n=0,1,2, とすると、(5)式より T(a)= {bn}n=0,1,2,= {an+1}n=0,1,2, (6) となることが分かる。
そこで、(6)式の両辺に、さらに、T を施してみると、
T2(a)= T(T(a)) = {bn+1}n=0,1,2,= {an+2}n=0,1,2, となることが分かるから、 T2(a)= {an+2}n=0,1,2, (7)
いま、(3),(4)式と、 (6),(7)式を見比べてみると、「微分する」という操作は、「数列の番号をひとつずらす」写像になっている、ということが分かる。

次に、関数に対する定数係数の線型常微分方程式について考えてみよう。話を具体的に進めるために、次のような条件を満たす一変数実数値関数の集合 W を考えてみる。
W={ f: RR  | f''x- 3f'x+ 2fx=0 } (8)
いま、fx を(2)式のように定めると、(2),(3),(4)式より
f''x- 3f'x+ 2fx (9) = n=0 an+2n! xn- 3 n=0 an+1n! xn+ 2 n=0 ann! xn = n=0 an+2- 3an+1+ 2an n! xn (10)
ここで、(9)式の関数が 0 という定数関数となるためには、(10)式に現われるベキ級数の係数が 0 とならなければいけないので
f''x- 3f'x+ 2fx =0 (11) ⇒  an+2- 3an+1+ 2an =0 n=012 (12)
こうして、微分方程式を解く問題が、漸化式を解く問題に帰着することが分かる。

(11)式のような形の微分方程式を定数係数の線型常微分方程式と呼ぶ。

そこで、(11)式のような微分方程式が、どのような考えで、どのように解けるのか、ということについて、考察してみよう。 ところで、(11)式は
f''x- 3f'x+ 2fx =0 ⇒  f''x= 3f'x- 2fx (13)
と書き直すことができる。すると、式の表わすところは、「f'x の3倍から fx の2倍を引いたものが、f''x になる」と読める。しかし、それが一体何を意味しているのか、ということがよくわからない気がする。そこで、(13)式に当たり前の f'x=f'x を付け加えて、2本の式として考えてみる。
f''x= 3f'x- 2fx f'x=f 'x  ……(14)
すなわち、(11)式の微分方程式を「関数 (f'x,fx) から f''x が決まる」と読まないで、「関数 (f'x,fx) から f''x,f'x が決まる」と、読み替えてみる。
すると、(14)式は、行列の記法を用いて、
f''x f'x = 3 2 1 0 f'x fx  と書き表わすことができる。そこで、 A= 3 2 1 0  として、 ddx f'x fx = f''x f'x  となることに注意すると、 ddx f'x fx = A f'x fx  さらに、 Fx= f'x fx  とすると、 ddx Fx = AFx (15)
というように表わすことができる。
すると、(15)式から、「定数係数の線型常微分方程式の解を求める問題」が「微分すると A 倍される関数を求める問題」に帰着する、ことが分かる。

そこで、微分方程式が一階の常微分方程式の場合にどうなっているか、を反省してみよう。
まず、一階の定数係数の線型常微分方程式とは、a0,a1R として、
a1fx' +a0fx =0 という形の微分方程式となるが、a10 より a=- a0a1  とすると、aR として、 fx' -afx =0 (16) という形の微分方程式が、最も一般的な定数係数の一階線型常微分方程式である、ということになる。
すると、(16)式は
dfdx x = afx  ……(17)
というように、書き直すことができるから、結局、一階の常微分方程式の場合、定数係数の線型常微分方程式の解 fx とは、「微分すると a 倍される関数に他ならない」ということが分かる。

そこで、(17)式を直接解いてみる。
まず、(17)式の両辺を fx で割って
f'xfx =a  ……(18)
という形にしてから、(18)式の両辺を、それぞれ別個に積分してみる。
このとき、
f'xfx = logfx'
になることに注意して、xR として、(18)式の左辺を 0 から x まで積分してみる。すると
0x f'xfxdx = 0x logfx' dx = logfx 0x = logfx- logf0 = log fx f0 (19) となる。
一方、(18)式の右辺を 0 から x まで積分すると
0x adx = ax 0x = ax (20) となることが分かる。
そこで、(18)式の両辺を 0 から x まで積分すると
0x f'xfxdx = 0x adx  →  log fx f0 =ax  よって fx= f0 eax
となることが分かる。
すなわち,「微分すると a 倍される関数」は「指数関数 eax の定数倍」になるということが分かった、と言いたいところだが、上の議論をよくよく考えると、fx0 を暗黙の裡に仮定し、fx=0 という定数関数解は検討されていない、ということに気づく。(しかも、問題提起の発端となった(15)式においては、Fx はベクトル値関数になり、Fx で割る、という操作は意味をなさなくなる)

そこで、
dfdx x = afx    fx= f0 eax  ……(21)

を再検討してみよう。
まず、「」について
fx= f0 eax  両辺を微分すると dfdx x= ddx f0 eax = f0 ddx eax = f0 aeax = af0 eax = afx  よって fx= f0 eax  ⇒  dfdx x= afx
となることが分かる。
さらに、(21)式の「」 すなわち、
dfdx x= afx (22)  ⇒  fx= f0 eax (23)
を確認する。
いま、(23)式の両辺に e-ax を掛けて
e-ax fx= f0 (24)
と書き換えてみる。このとき、(24)式の右辺 f0 が、定数である、ということに注意する。そこで、(24)式の左辺を微分すると
ddx e-ax fx = ddx e-ax ·fx +e-ax ·dfdx x = -ae-ax ·fx+ e-ax ·dfdx x = e-ax -afx+ dfdx x  (いま(22)式を満たすから) = e-ax -afx+ afx = e-ax ·0 =0
 すなわち、e-ax fx は定数関数である、ということが分かる。すると、適当な実数 CR を用いて、
e-ax fx=C (25)
と表わすことができる。そこで、e0=1 となることに注意して、(25)式の両辺で x=0  とすると、C=f0 となる。
したがって
e-ax fx= f0 (26)
よって、(26)式の両辺に eax を掛け算することで、
fx= f0 eax
となることが分かる。
こうして、(21)式の主張を「 ⇔ 」 両方確認することができた。
とくに、(22)式の微分方程式の解 すなわち「微分すると a 倍される関数」は「指数関数 eax の定数倍」しか存在しない、ということが分かる。


ところで、話を
f''x- 3f'x+ 2fx =0
という微分方程式の考察に戻ると、この場合も (15)式より「微分すると A 倍される関数を求める問題」となることをみた。
すると、「微分すると A 倍される関数 F(x) とは何か」ということを考えてみる必要が出てくるが、一階の常微分方程式の場合との類推で考えると、「微分すると A 倍される関数」はやはり「指数関数 eAx の定数倍」になるのではないか、と推論される。
それでは、「指数関数」 eAx とは何か?

「指数関数」 ex はTaylor展開の考え方を導入して多項式の姿に化かすと、
ex= 1+x+x22! +x33!+⋯ (27)
のように、書き表わすことができる。
すると、(27)式の右辺には、「足し算」や「掛け算」しか登場していないから、この「多項式の姿」を用いることで、実数だけでなく、「足し算」や「掛け算」のできる「数」を変数 x のところに代入して計算できそうな気がする。実際、純虚数である iθ を代入することで、オイラーの公式を導くことができる。
そこで、(27)式の変数 x のところに、xA という行列(連立一次方程式の記法と混同しないように行列 A  の x 倍を Ax でなく xA と表わす) を代入することで
exA= I+xA+ xA22!  + xA33!  +⋯ = I+xA+ x22!A2  + x33!A3  +⋯ = n=0 xnn! An  を得る。そこで exA= n=0 xnn! An (28)  と定める。
すると、
eO= I+O+O+O+⋯ =I (29)
まず、指数関数 exA は「微分すると A 倍される関数である」ということを確認する。
(注) 以下の文章では、行列値関数自体の微分については あまり厳密なことは問わない。行列値関数の微分については別稿で考察する(補論 行列値関数の微分
例えば、0nN として、
ddx xnn! An= xnn!' An = xn' n! An = n·xn-1   n!   An = xn-1 n-1! An
というような計算ができる、とする。
いま、(注)より、勝手な自然数 nN に対して
ddx xnn! An= xn-1 n-1 ! An n1 のとき O n=0 のとき
となることに注意すると、
ddx exA= ddx I+xA+ x22!A2  + x33!A3  +⋯ = A+xA2+ x22!A3 + x33!A4  +⋯ =A I+xA+ x22!A2  + x33!A3  +⋯ = I+xA+ x22!A2  + x33!A3  +⋯A = AexA = exAA
次に、「行列 exA は正則行列であり、その逆行列は e-xA で与えられる」ことを確認する。
exA·e-xA という行列を微分すると、 ddx exA· e-xA = ddx exA·e-xA+ exA· ddx e-xA = exAAe-xA + exA-Ae-xA = exAAe-xA - exAAe-xA =O
よって、exA·e-xA は定数関数である、ことが分かる。
そこで、
exA·e-xA=C C: 定数行列
いま、eO=I となることに注意して、両辺で x=0 としてみると、
C= eO·eO =I·I=I  となることが分かるから exA·e-xA=I  全く同様に、 e-xA·exA=I  となることも分かる。したがって、 exA·e-xA= e-xA·exA=I よって、「行列 exA は正則行列であり、その逆行列は e-xA で与えられる」ことが分かる。
すなわち、指数関数 exA
ddx exA = AexA = exAA exA· e-xA = e-xA· exA =I eO=I
という基本的性質をもつ。

以上の議論を踏まえると、行列で読み替えた定数係数の線型常微分方程式とその一般解は
dFdx x = AFx Fx= exA F0
で与えられることを、実数値関数の場合と全く同じ議論で確認することができる。[*(21)式の検討参照 その場合、「掛け算する順番」をきちんと考えながら議論する必要があることに注意 ]

すると、定数係数の線型常微分方程式とその一般解が、行列で読み替えた定数係数の線型常微分方程式とその一般解(2階の方程式の場合)として、
f'x fx = exA f'0 f0 (30)
というように、与えられることが分かる。
よって、「定数係数の線型常微分方程式の解を求める問題」が、「行列 A の指数関数 exA を求める問題」に帰着する。いま
exA= n=0 xnn! An = I+xA+ x22!A2 + x33!A3 +⋯
であるから、「行列 A の指数関数 exA を求める問題」は本質的には「行列 A の n 乗 An を求める問題」と同じである、ということに注意する。

さて、An を一般的に解決するためには、「与えられた正方行列 A に対して、P-1AP=Λ となるような”見やすい形の行列 Λ と正方行列 P を見つけよ” という行列の標準形の問題」に帰着して考える、のが普通である。そこで、「行列の標準形の問題」が解決されたと、仮定すると An=PΛnP-1 となるから、exA
exA= I+xA+ x22!A2 + x33!A3 +⋯ = I+xPΛP-1 + x22!PΛ2P-1 + x33!PΛ3P-1 +⋯ = P I+xΛ+ x22!Λ2 + x33!Λ3 +⋯P-1 = PexΛP-1 (31)
となることが分かる。よって後は「見やすい形」の行列 Λ に対して、直接指数関数 exΛ を計算することで、(31)式を用いて指数関数 exA を求めることができる。

ところで、A が2行2列の場合には、Cayley-Hamilton の定理を用いることで直接 An を求めることができるから、その結果を用いて直接指数関数 exA を求めることもできる。
例えば、A= 3 -2 1 0 の場合、
An= 2n+1-1 2-2n+1 2n-1 2-2n
となるから(導出過程は Cayley-Hamilton の定理 参照)
xnn! An = xnn! 2n+1-1 xnn! 2-2n+1 xnn! 2n-1 xnn! 2-2n = 22xn n! -xnn! 2xnn! - 22xn n! 2xn n!- xnn! 2xnn! -2xn n!  したがって、 exA= n=0 xnn! An = 2n=02xn n! -n=0xnn! 2n=0xnn! - 2n=02xn n! n=02xn n!- n=0xnn! 2n=0xnn! -n=02xn n! = 2e2x -ex 2ex -2e2x e2x -ex 2ex -e2x
すると、(30)式は
f'x fx = exA f'0 f0 = 2e2x -ex 2ex -2e2x e2x -ex 2ex -e2x f'0 f0
となることがわかる。よって、
f''x- 3f'x+ 2fx =0 という微分方程式の一般解が fx= f'0 e2x -ex + f0 2ex -e2x
というように与えられることが分かる。

確かめてみよう fx= f'0 e2x -ex + f0 2ex -e2x f'x= f'0 2e2x -ex + f0 2ex -2e2x f''x= f'0 4e2x -ex + f0 2ex -4e2x 確かに(13)式を満たす


より一般に、行列 A の特性多項式 φAt
φAt= t-λ t-μ λμ
というように、異なる2つの複素数 λ,μC を用いて因数分解される場合には、Cayley-Hamilton の定理の帰結として、
An= λnA-μI- μnA-λI λ-μ で与えられるから xnn! An= 1λ-μ λxn n! A-μI - μxn n! A-λI
よって、2行2列の行列 A に対する exA の具体形(異なる固有値 λ,μ をもつ場合)
exA= eλA A-μI - eμA A-λI λ-μ (32)
となることが分かる。
したがって、後は (32)式の右辺に A や λ,μ などの具体的な数値を代入することで exA が求まる、ことになる。

また、一方重複する固有値をもつ場合、 例えば
f''x- 2f'x+ fx =0 A= 2 -1 1 0 φAt= t-2 1 -1 t = t-2t+1 = t-12  そこで、An は、 An= λI+ A-λI n A-λI 2=O より = λnI+ nλn-1 A-λI = 1 0 0 1 + n 1 -1 1 -1 = n+1 -n n 1-n xnn! An= xn n! n+1 -n xnn! nxnn! xnn! 1-n = nxn n!+ xn n! -n xnn! nxnn! xnn! -nxnn! (33)  ところで、 n=0 nxn n! = n=1 xn n-1! = n=1 x·xn-1 n-1! = x+x2+ x32!+ x43!+⋯ = x 1+x+ x22!+ x33!+⋯ = xex  となることに注意すると、(33)式より exA= n=0 xnn! An = n=0 nxn n!+ n=0 xn n! - n=0 n xnn! n=0 nxnn! n=0 xnn! -n=0 nxnn! = xex+ ex -xex xex ex-xex

すると、

f'x fx = exA f'0 f0 = xex+ ex -xex xex ex-xex f'0 f0  となることが分かるから f''x -2f'x +fx=0  という微分方程式の一般解が fx= f'0 xex +f0 ex-xex
というように与えられることが分かる。

より一般に、行列 A の特性多項式 φAt
φAt= t-λ 2
というように、ただひとつの複素数 λC を用いて因数分解される場合には、
An= λnI+ nλn-1 A-λI  となるから、 xnn! An= λxnn!I + n·x· λxn-1n! A-λI  ところで、 n=0 n· λxn-1n! = n=1 λxn-1n-1!   = eλx
であることに注意する。
すると、重複する固有値をもつ場合の2行2列の行列 A に対する exA の具体形は
exA= eλxI+ xeλx A-λI (34)
となることが分かる。したがって、後は(34)式の右辺に A やλ を代入することで、exA が求まることになる。


さて、これまでの考察を反省すると、一般に定数係数の線型常微分方程式の解は、次のような形をしていることが分かる。
まず、指数関数 exA が(32)式のような形で求まる場合(特性多項式が異なる解をもつ場合)
exA= eλA A-μI - eμA A-λI λ-μ  すると、 f'x fx = exA f'0 f0 = eλx λ-μ A-μI f'0 f0 + eμx μ-λ A-λI f'0 f0  そこで、 1λ-μ A-μI f'0 f0 = C1 1μ-λ A-λI f'0 f0 = C2  と表わすことにすれば、微分方程式の解 fx は fx= C1 eλx + C2 eμx  という形に表わすことができる。
また、指数関数 exA が(34)式のような形で求まる場合(特性多項式が重複の解をもつ場合)
exA= eλxI+ xeλx A-λI  すると、 f'x fx = exA f'0 f0 = eλx f'0 f0 + xeλx A-λI f'0 f0  よって、 f'0 f0 = C1  ,  A-λI f'0 f0 = C2  とすると、微分方程式の解 fx は fx= C1 eλx + C2x eλx  という形に表わすことができる。

このように、一旦、定数係数の線型常微分方程式の解がどのような形をしているのか、ということが分かってしまうと、次のような戦略で微分方程式の解を求めることができる。
(1) 与えられた微分方程式に fx=eλx を代入して、指数関数 eλx を求める。
  (1_1) 異なる 2つの指数関数解 eλx,eμx が見つかる場合には、C1,C2R として、2つの指数関数解の「重ね合わせ」

fx= C1 eλx + C2 eμx

  (1_2) ただひとつの指数関数解 eλx しか見つからない場合には、C1,C2R として、指数関数解 eλx と xeλx の「重ね合わせ」

fx= C1 eλx + C2 xeλx
を考える。
(2) 初期値 f0,f'0 を用いることで、C1,C2 を決定する。

このような戦略で微分方程式の解を求めることにすれば、直接、行列の指数関数を考察する必要もなくなるので、このような解法が説明されることが多い。