Lektion 3

変数係数 線形 常微分方程式 の解き方


3.0 変数係数 線形 常微分方程式 とは

続いて、
y'' + p (x)y' + q (x)y = 0
という方程式を扱います。前の §2.1〜§2.2 のケースと違って、ここでは p (x)、q (x) は x の関数です。

この形の方程式の場合、§2.1 のように左辺を (d/dx - λ1)(d/dx - λ2)y と因数分解するのは非常に困難です。 というのは、p (x) と q (x) が変数係数ですから、当然ながら λ1λ2x の関数になるわけですが、 次のふたつの式は一般には同じものにはならないからです。

(d/dx - λ1)(d/dx - λ2) = (d/dx)2 - λ1(d/dx) - (d/dx)λ2 + λ1λ2
(d/dx - λ2)(d/dx - λ1) = (d/dx)2 - λ2(d/dx) - (d/dx)λ1 + λ1λ2

実は、§2.1 でこの因数分解が簡単にできたのは、λ が定数だったために (d/dx)λ = λ(d/dx) という条件が成り立っていたからなのです。


3.1 テーラー展開できる場合

3.1.1 基本的な考え方

変数係数の方程式では、テーラー展開
y (x) = [y(0)/0!] + [y'(0)/1!]x + [y''(0)/2!]x2 + [y'''(0)/3!]x3 + …
を利用して解きます。(ここで、y(0), y'(0), ... は、 x = 0 のときの y, y' ... の値を表します; 以下同じ。) つまり、元の方程式から y (0), y'(0), y''(0), ... の値がわかれば、それを使って上のような級数として y(x) を書き表すことができます。

それでは、具体的に例題を見ていきましょう。

【例題】y'' - 2y = 0
これは §1.1 でやった変数分離形の方程式ですが、 ここではテーラー展開を利用した方法で解いてみます。

この式だけでは、y(0) の値を知ることはできません。 しかし、y'(0), y''(0), ... は、y(0) を使って表記することができます。具体的にいうと、

y'(0) = 2y(0)
y''(0) = 2y'(0) = 4y(0)
y'''(0) = 2y''(0) = 8y(0)
    :
ですから、y (x) は次のように書けます。
y(x) = y(0) + 2y(0)x + 4y(0)x2/2! + …
  = y(0)Σn=0〜 2nxn/n!
  = y(0)Σn=0〜 (2x)n/n!
そして最後に、公式 et = Σn=0〜∞ tn/n! を使って、
y(x) = y(0)e2x
とわかります。

もちろんこの結果は、§1.1 の方法で解いた結果と同じになります。

3.1.2 係数がテーラー展開できれば…

上の例題は、簡単のために定数係数の(しかも、一階の) 方程式を扱いましたが、話を変数係数の場合に戻しましょう。
y'' = -p(x)y' - q(x)y
この式から、y(0) と y'(0) がわかれば y''(0) がわかり、さらにそこから y'''(0) がわかり… というふうになることがわかります。

さて、ここで問題が生じます。上の計算では、y''' を求めるために両辺を微分すると、y だけでなく p(x) や q(x) も微分します。従って、p(x) と q(x) が x = 0 において何度でも微分可能な場合でないと、この方式は使えないということになります。

実は、p(x) と q(x) がともにテーラー展開可能ならば、y は必ず

y(x) = Σn=0〜∞cnxn
という形で表せます。このことを確認しておきましょう。

まず、

p(x) = p0 + p1x + p2x2 + p3x3 + …
q(x) = q0 + q1x + q2x2 + q3x3 + …
とおきましょう。

続いて、y の微分を計算しておきましょう。もし y = Σn=0〜∞ cnxn が収束するとすると、 級数の各項を別々に微分することができます。

y = c0 + c1x + c2x2 + c3x3 + …
y' = c1 + 2c2x + 3c3x2 + …
y'' = 2c2 + 6c3x + …

これらを元の方程式に代入し、定数項、x の項、 x2の項、… ごとにまとめると(各自で計算せよ)、

定数項: 2c2 + p0c1 + q0c0 = 0 … (*)
x の項: (6c3 + 2p0c2 + (p1+q0)c1 + q1c0)x = 0 … (**)
      :
となります。ここで (*) を見ると、c0c1 はわかりませんが、c2c0c1 で表せることがわかります。 さらに、c2 がわかれば、(**) から c3 が決まります。以下、x2, x3, ... の係数を見ることによって、c4, c5, ... が、すべて c0c1 の式として決まります。

ここでいくつか注意点を挙げておきます。

  1. c2, c3, ... はすべて (なんとか)×c0 + (なんとか)×c1 という形をしていますので、 y = Σn=0〜∞cnxn の各項を、c0 のかかっている部分と c1 のかかっている部分とに分けてまとめると、
    y = c0×(x の式) + c1×(x の式)
    と書くことができます。この式は、
    一般解 = c0×(c0=1, c1=0 の特解) + c1×(c0=0, c1=1 の特解)
    と考えることができます。

  2. 以上の議論では、そもそも y = Σn=0〜∞cnxn という級数が収束するものと仮定して c2, c3, ... を決定しました。従って、実際の問題を解いたあとには、 その級数が収束するかどうかを確認しなければなりません。 これについては §3.1.4 で説明します。

3.1.3 例題

【例題】(1-x2)y'' + 2y = 0 の、 x = 0 のまわりでの解を求めよ。

まず、y'' + p(x)y' + q(x)y = 0 という形にするために、両辺を (1-x2) で割ります。

y'' + 2y/(1-x2) = 0
そうすると、p(x) = 0、q(x) = 1/(1-x2) となります。ここで q(x) は
q(x) = 2 + 2x2 + 2x4 + 2x6 + …
とテーラー展開できます。したがって、x = 0 のまわりでは、解は
y = Σn=0〜∞ cnxn
という形に書けることがわかります。

では具体的に計算しましょう。まずは y の微分を計算すると、

y = Σn=0〜∞ cnxn
y' = Σn=0〜∞ ncnxn-1
y'' = Σn=0〜∞ n(n-1)cnxn-2
となります。これを (1-x2)y'' + 2y = 0 に代入すると、
左辺 = (1-x2n=0〜∞ n(n-1)cnxn-2 + 2Σn=0〜∞ cnxn
   = Σn=0〜∞ n(n-1)cnxn-2 + Σn=0〜∞ [2-n(n-1)]xn
となります。ここで第 1 項は、 k = n-2 とおくと、
Σk=-2〜∞ (k+2)(k+1)ck+2xk
となりますが、これの k = -2 や k = -1 の項はゼロですから、k = -2〜∞ を k = 0〜∞ としてもかまいません。そこで、
左辺 = Σk=0〜∞ (k+2)(k+1)ck+2xk + Σn=0〜∞ [2-n(n-1)]xn
   = Σk=0〜∞ [(k+2)(k+1)ck+2 + 2 - k(k-1)ck]xk
   = Σk=0〜∞(k+1) [(k+2)ck+2 - (k-2)ck]xk
となります。これがすべての x についてゼロになるためには、
ck+2 = [(k+2)/(k-2)]ck
であればよいということになります。

具体的に計算しましょう。この式だけでは c0c1 は決まりませんが、c2, c3, ... は c0, c1 で表すことができます。数値を代入してみると、

したがって、
y = c0(1-x2) - c1Σk=0〜∞x2k+1/(2k-1)(2k+1)
となります。

実はこの級数は初等関数として表せるのですが、 もし初等関数で表せない場合(そういうケースもよくあります; たとえば、授業で扱ったベッセルの方程式など)は、 この級数表示を解であると称してかまわないわけです。

3.1.4 収束判定

さて、上のように解は求められたわけですが、それだけでは不十分です。 かならず、この級数が収束するかどうかを確認しなければなりません。 もし、収束しないにも関わらずその結果を信用してしまうと、 変な結果を引き起こすことになります。 (たとえば、Σn=1〜∞(1/n) という級数は発散しますが、有効数字 4 桁(10進法)で先頭の項から順に足していくと、9.360 に収束するという結果をはじき出します。)

さて、肝腎の収束判定法ですが、 もう忘れている方もいらっしゃると思いますので、ここにまとめておきます。 以下で、数列 {an } の各項は正の値ということにします。

  1. (ダランベールの比判定法)limn→∞ an+1/an < 1 ならば Σan は収束、 limn→∞ an+1/an > 1 ならば発散。極限が 1 ならば、収束するかどうかはわからない。

    [根拠]たとえば、「n ≧ 10 のとき an+1/an < 0.9」 ならば、a11 < 0.9a10a12 < 0.92a10、…、となるので、a10 + a11 + a12 + … < a10(1 + 0.9 + 0.92 + …) である。右辺は収束するので左辺も収束する。

  2. (コーシーの根判定法)limn→∞ nan < 1 ならば収束、 limn→∞ nan > 1 ならば発散。 やはり、極限が 1 になるときはわからない。

    [根拠]たとえば、「n ≧ 10 のとき nan < 0.9」 ならば、a10 < 0.910a11 < 0.911a12 < 0.912、…、なので、 a10 + a11 + a12+ … < 0.910 + 0.911 + 0.912 + … は収束する。

  3. 収束するかどうかわかっている級数(たとえば、c を定数として、1c + 2c + 3c + … は c < -1 で収束、 c ≧ -1 で発散する)と比較する。

さて、実際に上の例で計算してみましょう。問題の級数は、

{an} = {x2n+1/(2n-1)(2n+1) }
でした。ここでは 1. の方法で判定します。
an+1/an = x2(2n-1)/(2n+3)
ですから、|x| < 1で収束、|x| > 1 で発散します。 (|x|=1 でも発散することは各自で確認してください。)

したがって、この解は -1 < x < 1 のときに有効だということがわかります。この結論は、元の方程式において x = 1 で q(x) → ±∞ となることからも自然なものといえます。

では、|x| > 1 の場合の解はどうなるのでしょうか。

実は、そもそも

y = Σn=0〜∞ cnxn
とおいたのが間違いだったのです。この式は、x = 0 の周りのテーラー展開ですから、x = 0 から連続な範囲でしか有効でないのです。

したがって、x > 1 での解を求めたければ、y をたとえば x = 2 のまわりでテーラー展開して、

y = Σn=0〜∞ cn(x-2)n
とおかなければいけないのです。(元の方程式の p(x)、 q(x) には x = ±1 以外に特異点はありませんから、 どうやらこの解は 1 < x < ∞ で収束しそうです。

3.1.5 若干の補足

上の例題の解が
y = c0(1-x2) - c1Σn=0〜∞x2n+1/(2n-1)(2n+1)
となることは上で見ました。 実は、上の第二項の級数は初等関数として表せるので、 そのことを示しておきましょう。

まずは、分母が n の二次式ですから、部分分数に分けます。

x2n+1
------------
(2n-1)(2n+1)
= ( 1
-----
2n-1
- 1
-----
2n+1
) x2n+1
-----
2
ですから、
Σn=0〜∞ x2n+1/(2n-1)(2n+1)
= x/2 + (x3-x)/2 + (x5-x3)/2・3 + (x7-x5)/2・5 + …
   = x/2 + [(x2-1)/2] (x + x3/3 + x5/5 + …)

ここで、

A = x + x3/3 + x5/5 + …
とおきます。分母の 3,5, ... を処理するために A を微分すると、
A' = 1 + x2 + x4 + x6 + …
  = 1 + x2(1 + x2 + x4 + … )
  = 1 + x2A
ですから(注)、A' = 1/(1-x2) となります。 これを部分分数に分解してから、x = 0 のとき A = 0 となることに注意して積分すると、
A = (1/2) ln |(1+x)/(1-x)|
となります。これを元の式に代入して、
Σn=0〜∞ x2n+1/(2n-1)(2n+1) = [(x2-1)/4] ln |(1+x)/(1-x)| + x/2
y = (1-x2)[c0- (c1/4) ln |(1+x)/(1-x)|] - c1x/2
となります。
(注)このような計算ができるのは、A' が収束しているからです。収束しない級数、たとえば B = 1 - 1 + 1 - 1 + … に対して計算順序の変更をすると、
  1. B = (1-1) + (1-1) + … = 0
  2. B = 1 - (1-1) - (1-1) - … = 1
  3. B = 1 - (1-1+1-…) = 1 - B なので、B = 1/2
という、相矛盾した結論が出てきます。

3.2 確定特異点のある場合

つぎは、p(x)、q(x) がある点のまわりでテーラー展開できない場合です。とはいえ、 それらをすべて一般的に扱うのは難しいので、以下に述べる「確定特異点 (regular singularity)」の場合に限って見ていくことにします。

確定特異点がある、とは、p(x)、q(x) が次のように表される場合をいいます。

p(x) = (x-a)-1 Σn=0〜∞ pn(x-a)n
q(x) = (x-a)-2 Σn=0〜∞ qn(x-a)n

たとえば、次のような方程式がこれにあたります。この例は a = 0 のケースです。

【問題】y'' + y'/x + y = 0 の、 x = 0 のまわりでの解を求めよ。
この式は、初期値が x = 0 でなければ、x = ±1 のまわりでテーラー展開して解けばうまくいくかもしれません。しかし、 x = 0 ではそうはいきません。

このような場合、yx の級数として表すのは同じなのですが、

y = Σn=0〜∞cn(x-a)n+λλ は定数)
という形におきます。

以下、もう気力がないので(笑)、要点だけ箇条書きにしておきます。

  1. 上の級数を元の方程式に代入して (x-a)n+λ-2 の係数を比較すると λ の二次方程式になる。それを解けば、 λがふたつ求まる。 (以下 λ1, λ2 とする)

  2. λ1 - λ2 が整数でなければ、 それぞれの λ に対応する cn を求めると、それらの線形結合が一般解。

  3. λ1 - λ2 が整数のときは、 じつは二つの級数は同じものになってしまう。このようなときは、 この方法で求めた解 y1 と、 ∂y1/∂λ において λ に上の値を代入したものとが基本解になり、 それらの線形結合が一般解。

【この章のまとめ】

  1. y'' + p (x)y' + q (x)y = 0 という形の方程式は、yx の級数として書き表し、 それを方程式に代入して係数を決める。
    1. p (x)、q (x) が x = x0 の周りでテーラー展開可能ならば、y = Σn=0〜 cn(x - x0)n という形の解が必ずある。未定定数は c0c1 になる。
    2. (確定特異点がある場合)p (x) = (x - x0)-1 Σn=0〜 pn (x - x0)nq (x) = (x - x0)-2 Σn=0〜 qn (x - x0)n、 と表される場合は、y = Σn=0〜 cn(x - x0)n + λ という形の解を仮定して解く。
      1. 上の式を満たす λ がふたつあり、かつ、 その差が整数でない場合は、 このふたつの解の線形結合が一般解になる。
      2. ふたつの λ の差が整数になる場合は、 じつは二つの解は同じものになってしまう。この場合、 上の方法で解いた解を y1 とすると、 その λ における ∂y1/∂λ(以下 y2 とする)はこの方程式の解で、しかも y1 と独立になるので、一般解は a1y1 + a2y2 になる。
  2. 級数解を求めたら、その級数が収束するかどうかを確認しなければならない。

Copyright © IIJIMA Hiromitsu aka Delmonta, 2016/03/10 15:09 JST
これは「古文書」です。 古くなった情報も原則未修正で保存していますのでご注意ください。

古文書本館トップ | 電脳外道学会