logo

アダムス法 📂数値解析

アダムス法

定義 1

マルチステップメソッドDR2D \subset \mathbb{R}^2 で定義された連続関数に対して、初期値問題 {y=f(x,y)(y(x0),,y(xp))=(Y0,,Yp)\begin{cases} y ' = f(x,y) \\ ( y( x_{0} ) , \cdots , y(x_{p}) ) = (Y_{0}, \cdots , Y_{p} ) \end{cases} が与えられているとする。区間 (a,b)(a,b)ax0<x1<<xn<xNba \le x_{0} < x_{1} < \cdots < x_{n} < \cdots x_{N} \le b のようなノードポイントで分けたとしよう。特に十分に小さい h>0h > 0 について xj=x0+jhx_{j} = x_{0} + j h とした場合、初期値と 0pm0 \le p \le m に関して ap0a_{p} \ne 0 または bp0b_{p} \ne 0 を満たすとき、それを(p+1)(p+1)-ステップメソッドと呼ぶ。 yn+1=j=0pajynj+hj=1pbjf(xnj,ynj) y_{n+1} = \sum_{j=0}^{p} a_{j} y_{n-j} + h \sum_{j = -1}^{p} b_{j} f (x_{n-j} , y_{n-j} )

アダムス・バッシュフォースメソッド

係数 γj:=1j!01s(s+1)(s+j1)dx\displaystyle \gamma_{j} := {{1} \over {j!} } \int_{0}^{1} s (s +1) \cdots (s+ j - 1) dx に対して、 yn+1=yn+hj=0pγjΔjyn y_{n+1} = y_{n} + h \sum_{j=0}^{p} \gamma_{j} \Delta^{j} y_{n}' を(pp次の) アダムス・バッシュフォースメソッドと呼ぶ。

  1. p=0p=0 : yn+1=yn+hyny_{n+1} = y_{n} + h y_{n} '
  2. p=1p=1 : yn+1=yn+h2(3ynyn1)y_{n+1} = y_{n} + {{h} \over {2}} ( 3 y_{n}' - y_{n-1}' )
  3. p=2p=2 : yn+1=yn+h12(23yn16yn1+5yn2)y_{n+1} = y_{n} + {{h} \over {12}} ( 23 y_{n}' - 16 y_{n-1}' + 5 y_{n-2}' )
  4. p=3p=3 : yn+1=yn+h24(55yn59yn1+37yn29yn3)y_{n+1} = y_{n} + {{h} \over {24}} ( 55 y_{n}' - 59 y_{n-1}' + 37 y_{n-2}' - 9 y_{n-3}' )

アダムス・モールトンメソッド

係数 δj:=1j!01(s1)s(s+1)(s+j2)dx\displaystyle \delta_{j} := {{1} \over {j!} } \int_{0}^{1} (s - 1 ) s (s +1) \cdots (s+ j - 2) dx に対して、 yn+1=yn+hj=0pδjjyn+1 y_{n+1} = y_{n} + h \sum_{j=0}^{p} \delta_{j} \nabla^{j} y_{n+1}' を(pp次の) アダムス・モールトンメソッドと呼ぶ。

  1. p=0p=0 : yn+1=yn+hyny_{n+1} = y_{n} + h y_{n} '
  2. p=1p=1 : yn+1=yn+h2(yn+1+yn)y_{n+1} = y_{n} + {{h} \over {2}} ( y_{n+1}' + y_{n}' )
  3. p=2p=2 : yn+1=yn+h12(5yn+1+8ynyn1)y_{n+1} = y_{n} + {{h} \over {12}} ( 5 y_{n+1}' + 8 y_{n}' - y_{n-1}' )
  4. p=3p=3 : yn+1=yn+h24(9yn+1+19yn5yn1+yn2)y_{n+1} = y_{n} + {{h} \over {24}} ( 9 y_{n+1}' + 19 y_{n}' -5 y_{n-1}' + y_{n-2}' )

説明

アダムスメソッドはマルチステップメソッドとして、ステップサイズhhとメソッドの次数を変えながら使われるプレディクター・コレクターアルゴリズムでよく使われる。例えば、11次のアダムス・バッシュフォースメソッドをプレディクターとし、22次のアダムス・モールトンメソッドをコレクターとするアルゴリズムは、オイラーメソッドをプレディクターとし、台形メソッドをコレクターとするアルゴリズムそのものだ。

一般的に、アダムス・モールトンメソッドはアダムス・バッシュフォースメソッドに比べてエラーが少ないだけでなく、安定性も良い。その理由は、メソッドの形を見れば簡単に理解できる。まず、アダムス・バッシュフォースメソッドはエクスプリシットメソッドであり、アダムス・モールトンメソッドはインプリシットメソッドだからだ。ODEを解くプレディクター・コレクターアルゴリズムはこれらのアダムスメソッドを適切に混ぜて使う。


  1. Atkinson. (1989). An Introduction to Numerical Analysis(2nd Edition): p385~388. ↩︎