リープ・フロッグ法

リープ・フロッグ法は、微分方程式数値積分法 (常微分方程式の数値解法) の一種、2次のシンプレクティック数値積分法である[1]。リープ・フロッグ法は、

x ¨ = d 2 x d t 2 = F ( x ) {\displaystyle {\ddot {x}}={\frac {d^{2}x}{dt^{2}}}=F(x)}

または

v ˙ = d v d t = F ( x ) , x ˙ = d x d t = v {\displaystyle {\dot {v}}={\frac {dv}{dt}}=F(x),\quad {\dot {x}}={\frac {dx}{dt}}=v}

という形式の微分方程式を解く際に用いられ、特に、古典力学における力学系の計算で重要である。

リープ・フロッグ法における時間積分は、互いの上を蛙跳び (Leap-frog) するように位置 x ( t ) {\displaystyle x(t)} と速度 v ( t ) = x ˙ ( t ) {\displaystyle v(t)={\dot {x}}(t)} をずらして時間発展させるのが特徴である。リープ・フロッグ法は、オイラー法が一次精度であるのとは対照的に、二次精度の数値積分法である。また、オイラー法とは異なり、時間幅が定数 Δ t {\displaystyle \Delta t} でありなおかつ Δ t 2 / ω {\displaystyle \Delta t\leq 2/\omega } なる周期運動で安定となる[2]

リープ・フロッグ法では、以下の式で位置と速度を更新する。

x i = x i 1 + v i 1 / 2 Δ t , a i = F ( x i ) , v i + 1 / 2 = v i 1 / 2 + a i Δ t . {\displaystyle {\begin{aligned}x_{i}&=x_{i-1}+v_{i-1/2}\Delta t,\\a_{i}&=F(x_{i}),\\v_{i+1/2}&=v_{i-1/2}+a_{i}\Delta t.\end{aligned}}}

ここで、 x i {\displaystyle x_{i}} i {\displaystyle i} ステップ目での位置で、 v i + 1 / 2 {\displaystyle v_{i+1/2}} i + 1 / 2 {\displaystyle i+1/2} ステップ目の速度、 a i {\displaystyle a_{i}} i {\displaystyle i} ステップ目の加速度である。 Δ t {\displaystyle \Delta t} は時間ステップの大きさである。これらの式は、半整数ステップを消去することによって以下のような整数ステップのみの式で表現することができる[3]

x i + 1 = x i + v i Δ t + 1 2 a i Δ t 2 , v i + 1 = v i + 1 2 ( a i + a i + 1 ) Δ t . {\displaystyle {\begin{aligned}x_{i+1}&=x_{i}+v_{i}\Delta t+{\frac {1}{2}}a_{i}\Delta t^{2},\\v_{i+1}&=v_{i}+{\frac {1}{2}}(a_{i}+a_{i+1})\Delta t.\end{aligned}}}

ただし、この形式では、時間ステップ Δ t {\displaystyle \Delta t} が一定値でない限り安定ではない[4]

リープ・フロッグ法は、加速度が速度に非依存である、重力計算に用いられることが多い[5]。なお、重力計算にはルンゲ・クッタ法のような高次精度の数値積分法もよく用いられている。

力学系のシミュレーションに際して、リープ・フロッグ法にはいくつか利点がある。一つ目は、時間可逆性である。これは、 n {\displaystyle n} 段時間積分したのち、時間を逆向きに n {\displaystyle n} 段数値積分すると、初期位置に戻るという性質である。二つ目は、シンプレクティック性であり、これはエネルギー保存性を意味している。この性質は、軌道力学において有用である。4次ルンゲ・クッタ法のような他の多くの数値積分法は、エネルギーが保存せず、時間とともに誤差がどんどん増大してしまう。時間可逆性やシンプレクティック性から、リープ・フロッグ法はハミルトン・モンテカルロ法にも用いられている。ハミルトン・モンテカルロ法は、直接サンプリングが困難な確率分布からランダムサンプルを得るための手法である[6]

関連項目

参考文献

  1. ^ 牧野淳一郎, 福重俊幸, 小久保英一郎, 川井敦, 台坂博, 杉本大一郎 (2007年3月13日). “N体シミュレーション啓蟄の学校教科書”. 国立天文台. p. 48-56. 2020年5月24日閲覧。
  2. ^ C. K. Birdsall and A. B. Langdon, Plasma Physics via Computer Simulations, McGraw-Hill Book Company, 1985, p. 56.
  3. ^ 4.1 Two Ways to Write the Leapfrog
  4. ^ Skeel, R. D., "Variable Step Size Destabilizes the Stömer/Leapfrog/Verlet Method", en:BIT Numerical Mathematics, Vol. 33, 1993, p. 172–175.
  5. ^ Binney, James; Tremaine, Scott (2008). Galactic Dynamics (Second ed.). Princeton University Press. p. 200. ISBN 978-0-691-13027-9 
  6. ^ Bishop, Christopher (2006). Pattern Recognition and Machine Learning. New York: Springer-Verlag. pp. 548–554. ISBN 978-0-387-31073-2