Symplectic integrator

1 Hamiltonian mechanics

1.1 Generalized Momentum

The generalized momentum pi corresponding to the generalized coordinate qi is given by:

pi=Lq˙i

where L is the Lagrangian.

1.2 Hamiltonian

Hamiltonian H is given by:

H(q,p,t)=ipiq˙i(q,p)L(q,q˙(q,p),t)

where L(q,q˙(q,p),t) is the Lagrangian.

1.3 Hamilton’s Equations

q˙i =Hpi
p˙i =Hqi

Or in vector notation,

𝒛=(𝒒𝒑),J=(0II0)
𝒛˙=J𝒛H(𝒛)

2 Poisson Bracket

{A(q,p,t),B(q,p,t)}=i(AqiBpiBqiApi)
dA(q,p,t)dt={A,H}+At

3 Symplectic Condition

Under a canonical transformation (𝒛𝒘) :

𝒛˙ =J𝒛H(𝒛)
𝒘˙ =J𝒘H(𝒘)

The Jacobian matrix M is defined as

Mij=wizj

Using the chain rule:

(𝒛H)i =Hzi
Hzi =jHwjwjzi
=j(MT)ij(wH)j
𝒛H(𝒛) =MTwH(𝒘)
dwidt =jwizjdzjdt
wi˙ =jMijzj˙
𝒘˙ =M𝒛˙
=MJ𝒛H(𝒛)
=MJMT𝒘H(𝒘)

Canonical transformation the symplectic condition:

MJMT=J

4 Splitting methods for separable Hamiltonians

D^f={,f}
𝒛˙={𝒛,H}=D^H𝒛 (1)

By Taylor expansion:

𝒛(t+Δt) =n=01n!dn𝒛(t)dtn(Δt)n
=n=01n!(Δt)nD^Hn𝒛(t)
=exp(ΔtD^H)𝒛(t)

Thus, the exact solution of (1) is given by:

𝒛(t)=exp(tD^H)𝒛(0)

If the Hamiltonian is separable,

H(𝒒,𝒑)=K(𝒑)+U(𝒒)

the operator splits as:

D^H ={,H}={,K+U}
={,K}+{,U}
=D^K+D^U
exp(ΔtD^H)=exp(Δt(D^K+D^U))=exp(ΔtD^K+ΔtD^U)

Because D^K and D^U are non-commutative operators ([D^K,D^U]0),

exp(ΔtD^K+ΔtD^U)exp(ΔtD^K)exp(ΔtD^U)

(refer to the Baker–Campbell–Hausdorff formula)

Instead, the time-evolution operator exp(Δt(D^K+D^U)) can be approximated by a product of operators:

exp(Δt(D^K+D^U))=i=k,,1exp(diΔtD^K)exp(ciΔtD^U)+𝒪((Δt)k+1) (2)

where k represents the order of the integrator, and ci,di(i=1,,k) are coefficients chosen such that the residual error is of the order of (Δt)k+1

In a direct approach, conditions for the coefficients are found by comparing the Taylor expansions of both sides of (2)

exp(Δt(D^K+D^U)) =n=0k1n!(Δt)n(D^K+D^U)n+𝒪((Δt)k+1)
exp(diΔtD^K) =n=0k1n!din(Δt)nD^Kn+𝒪((Δt)k+1)
exp(ciΔtD^U) =n=0k1n!cin(Δt)nD^Un+𝒪((Δt)k+1)

4.1 First-Order Integrator (k=1)

exp(Δt(D^K+D^U)) =1+Δt(D^K+D^U)+𝒪((Δt)2)
exp(diΔtD^K) =1+diΔtD^K+𝒪((Δt)2)
exp(ciΔtD^U) =1+ciΔtD^U+𝒪((Δt)2)
exp(d1ΔtD^K)exp(c1ΔtD^U) =1+Δt(d1D^K+c1D^U)+𝒪((Δt)2)

The solution is Lie product formula:

c1=d1=1
exp(Δt(D^K+D^U))=exp(ΔtD^K)exp(ΔtD^U)+𝒪((Δt)2)

This corresponds to the Symplectic Euler method.

4.2 Second-Order Integrator (k=2)

exp(Δt(D^K+D^U)) =1+Δt(D^K+D^U)+12(Δt)2(D^K2+D^UD^K+D^KD^U+D^U2)+𝒪((Δt)3)
exp(diΔtD^K) =1+diΔtD^K+12di2(Δt)2D^K2+𝒪((Δt)3)
exp(ciΔtD^U) =1+ciΔtD^U+12ci2(Δt)2D^U2+𝒪((Δt)3)
i=2,1exp(diΔtD^K)exp(ciΔtD^U) =1+Δt((d1+d2)D^K+(c1+c2)D^U)
+(Δt)2(12(d1+d2)2D^K2+12(c1+c2)2D^U2+(d1c1+d2c2)D^KD^U+c2d1D^UD^K)
d1+d2=1,c1+c2=1,d1c1+d2c2=12,d1c2=12
d2=1d1,c2=1c1
d1c1+(1d1)(1c1)=12,d1(1c1)=12
2d1c1d1c1=12,d112=d1c1
d1c1=12

Two prominent solutions emerge (Strang Splitting):

c1=12,d1=1,c2=12,d2=0
exp(Δt(D^K+D^U))=exp(12ΔtD^U)exp(ΔtD^K)exp(12ΔtD^U)+𝒪((Δt)3)

which correspons to ’kick-drift-kick’ form of leapfrog integration, and

c1=0,d1=12,c2=1,d2=12
exp(Δt(D^K+D^U))=exp(12ΔtD^K)exp(ΔtD^U)exp(12ΔtD^K)+𝒪((Δt)3)

which correspons to ’drift-kick-drift’ form of leapfrog integration.

In general, two conditions emerge from the coefficients of D^K and D^U,

i=1kci=1,i=1kdi=1

and higher order terms provide additional conditions.

However, as noted by Yoshida: “with this direct method, it is almost hopeless to obtain a much higher integrator” [1]. Instead, coefficient sets for higher-order integrators (e.g., k=4) are systematically derived using the Baker–Campbell–Hausdorff formula (see Yoshida [1]).

4.3 Action on Phase-Space Vectors

Because the Hamiltonian is separable,

q˙i=Hpi=Kpi
p˙i=Hqi=Uqi
D^K𝒛={𝒛,K}=({𝒒,K}{𝒑,K})
{𝒒,K} =({q1,K}{qn,K})
=(i(q1qiKpiKqiq1pi)i(qnqiKpiKqiqnpi))
=(Kp1Kpn)=(q˙1q˙n)=𝒒˙
{𝒑,K} =({p1,K}{pn,K})
=(i(p1qiKpiKqip1pi)i(pnqiKpiKqipnpi))
=(00)=𝟎
D^K𝒛={𝒛,K}=(𝒒˙𝟎) (3)
D^K2𝒛={{𝒛,K},K}=({𝒒˙,K}{𝟎,K})=𝟎 (4)
D^U𝒛={𝒛,U}=({𝒒,U}{𝒑,U})
{𝒒,U} =({q1,U}{qn,U})
=(i(q1qiUpiUqiq1pi)i(qnqiUpiUqiqnpi))
=(00)=𝟎
{𝒑,U} =({p1,U}{pn,U})
=(i(p1qiUpiUqip1pi)i(pnqiUpiUqipnpi))
=(Uq1Uqn)=(p˙1p˙n)=𝒑˙
D^U𝒛={𝒛,U}=(𝟎𝒑˙) (5)
D^U2𝒛={{𝒛,U},U}=({𝟎,U}{𝒑˙,U})=𝟎 (6)

Using a Taylor expansion, for α,

exp(αD^U)𝒛 =n=0αnD^Unn!𝒛=(1+αD^U)𝒛
exp(αD^K)𝒛 =n=0αnD^Knn!𝒛=(1+αD^K)𝒛
exp(ciΔtD^U)(𝒒𝒑) =(𝒒𝒑+ciΔt𝒑˙)
exp(diΔtD^K)(𝒒𝒑) =(𝒒+diΔt𝒒˙𝒑)

References

  • [1] H. Yoshida (1990) Construction of higher order symplectic integrators. Physics Letters A 150 (5), pp. 262–268. External Links: ISSN 0375-9601, Document, Link Cited by: §4.2.