シンプレクティック数値積分法

提供: testwiki
ナビゲーションに移動 検索に移動

シンプレクティック数値積分法 (シンプレクティックすうちせきぶんほう, symplectic integrator) とは、正準力学系運動方程式に特化した常微分方程式の数値解法のことをいう。系のシンプレクティック形式およびハミルトニアンを保存するため、ルンゲ=クッタ法のような汎用の数値積分法に比べて良い性質を示す。このために天体力学などの分野で採用されている[1]

概要

オイラー法ルンゲ=クッタ法とシンプレクティック積分子による調和振動子の数値解のエネルギー誤差の比較。横軸は周期で規格化した時間、縦軸は数値解のエネルギーの真のエネルギーに対する相対誤差。すべての数値解で時間刻み幅は同一である。オイラー法 (Euler) およびルンゲ=クッタ法 (RK4) では誤差が単調に増加する一方、シンプレクティック積分法 (Symp1-4) では誤差の増大が生じない。

正準力学系において、(qi,pi) を正準変数、H=H(qi,pi)ハミルトニアンとするとき、その運動方程式はハミルトンの正準方程式

dqidt=Hpi(q,p),  dpidt=Hqi(q,p)

である。これらの運動方程式の解 (qi(t),pi(t)) は一般に次の性質を満足する[2]

ところが、正準方程式を数値的に解くためにルンゲ=クッタ法のような汎用の数値積分アルゴリズムを適用すると、一般に数値解においてこれらの性質が破れ、長時間の積分によりエネルギーが保存しないなどの非物理的な結果を生じ得る。シンプレクティック積分法は厳密にシンプレクティック写像であるような(すなわちシンプレクティック形式を保存する)数値積分アルゴリズムであり[2]ハミルトン力学系の数値解析手法としてより優れた性質を示す。例えば調和振動子

H=12p2+12q2

に2次のシンプレクティック積分法を適用すると、時間刻み幅を h として、真のハミルトニアンの代わりに

H~=12p2+12q2h24q2

を保存するため、数値解はある楕円軌道の上に留まり、エネルギーの単調な増加または減少を生じない[3]。さらに、偶数次のシンプレクティック積分子は時間反転対称性を持つという利点も存在する[4]

一方で、時間刻み幅を動的に変更する適応時間刻みを単純にシンプレクティック積分子に適用するとハミルトニアンの保存が破れることが知られている[2]

アルゴリズム

ハミルトニアン H が2つの可積分ハミルトニアン HA, HB の和であると仮定する。

H(q,p)=HA(q,p)+HB(q,p)

例えばポテンシャル V 中の質量 m の粒子という系の場合 HA=12mp2, HB=V(q) であり、この仮定を満足する。H, HA, HB に対応するハミルトンベクトル場をそれぞれ D, A, Bと書くとき

D=A+B

が成立し、それぞれのハミルトンベクトル場に沿う時間 t の発展すなわち指数写像S(t):=exp(tD), exp(tA), exp(tB) と書く(これはシンプレクティック写像である)。HA および HB が可積分であるという仮定により exp(tA), exp(tB) はその具体的な表示が既知である。ここでの問題は、真のハミルトニアンに関する指数写像

S(t)=exp(tD)=exp{t(A+B)}

N 区間の時間積分の集積 S(t)=i=1NS(h) (ここに h=t/N とおいた) と書くとき、S(h) を既知のシンプレクティック写像 exp(hA), exp(hB) を用いて

exp{h(A+B)}=k[exp(ckhA)exp(dkhB)]+𝒪(hn+1)

という形に近似することである[5]。この右辺が求める n 次のシンプレクティック積分子であり、シンプレクティック性を満足することが保証され、ハミルトニアン

H~=H+hnHn+𝒪{hn+1}

を保存する[2]

1次のシンプレクティック法

次式で定義される変換 S1st(h)S(h)=S1st(h)+𝒪(h2) を満足する1次のシンプレクティック積分子である[6]

S1st(h)=exp(hA)exp(hB)

特に HA=12p2, HB=V(q) の場合、変換 exp(hB)(q,p)(q,phV(q))、変換 exp(hA)(q,p)(q+hp,p) と表示できるため、このスキーム S1st=exp(hA)exp(hB) 全体としては

pn+1=pnhdVdq(qn)
qn+1=qn+hpn+1

と表示できる。このスキームはオイラー法を修正したものとみなせるため、シンプレクティックオイラー法と呼ばれることもある[7]

2次のシンプレクティック法

2次のシンプレクティック法は次式で与えられる[6]。なおこの積分スキームはリープ・フロッグ法あるいはベレの方法、Strörmer法など分野毎に異なった名称で知られている[8]

S2nd(h)=exp(h2A)exp(hB)exp(h2A)

上述の HA=12p2, HB=V(q) の場合にはこれは次のスキームに帰着する。

qn+1/2=qn+h12pn
pn+1=pnhdVdq(qn+1/2)
qn+1=qn+1/2+h12pn+1

4次のシンプレクティック法

4次のシンプレクティック積分子は、2次の積分子を異なる時間ステップで三度適用することにより得られる。

S4th(h)=S2nd(x1h)S2nd(x0h)S2nd(x1h)
x1=1223,  x0=12x1

これは Forest & Ruth (1990) によって導かれた[9] 後、Yoshida (1990) によって2次のシンプレクティック積分を三度適用したものに等しいことが指摘された[5]

なお、より高次のシンプレクティック積分子の系統的な構成方法は Suzuki (1990)[10] および Yoshida (1990)[11]によって与えられている。Yoshida (1990) はテンプレート:仮リンクを適用することにより高次の 2n 次シンプレクティック積分子を解析的に構成しているが, 次数が増大すると必要なステップ数 (S2nd の数) が指数関数的に増大し効率が悪化することも指摘し、より効率的なシンプレクティック積分子をいくつか数値的に求めてもいる。

応用

オイラー法ルンゲ=クッタ法とシンプレクティック積分子によるケプラー問題 (離心率 e=0.5) の数値解のエネルギー誤差の比較。横軸は軌道周期で規格化した時間、縦軸は数値解のエネルギーの真のエネルギーに対する相対誤差。ルンゲ=クッタ法などでは誤差が増加する一方、シンプレクティック積分法では誤差の増大が生じない。

ケプラー問題

重力場中の粒子の運動は天体力学軌道力学宇宙物理学での重要さからシンプレクティック積分法が適用される典型的な例となっている。例えばケプラー問題

H=12m𝐩2GMm|𝐪|

にシンプレクティック積分法を適用すると、オイラー法ルンゲ=クッタ法では時間の経過とともに数値誤差が累積しエネルギーの誤差が増大するが、シンプレクティック積分法ではエネルギー誤差の累積は見られない[4](右図)。

天体力学

中心天体からの重力が支配的であるような天体力学の典型的な問題では、系のハミルトニアンは中心天体によるケプラー問題の部分 HKep と、天体間相互作用による摂動部分 Hint に分割できる。

H=HKep+Hint

それを踏まえて、ハミルトニアンをこの二項に分割してシンプレクティック積分子を適用する数値解析手法が Wisdom & Holman (1991[12], 1992[13]) および Kinoshita et al. (1991)[14] によって提案され、従来の手法より誤差が小さくなるなどの良好な性質を持つことが示された[1]

脚注

テンプレート:Reflist

関連文献

  • J. M. Sanz-Serna and M. P. Calvo: Numerical Hamiltonian Problems, Dover Pub., ISBN 978-0-486-82410-9 (2018). ※ 初出は CRC Press (1994).
  • Leimkuhler, Ben; Reich, Sebastian (2005). Simulating Hamiltonian Dynamics. Cambridge University Press. ISBN 0-521-77290-7.
  • Hairer, Ernst; Lubich, Christian; Wanner, Gerhard (2006). Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations (2 ed.). Springer. ISBN 978-3-540-30663-4.

関連項目