Girish Mahajan (Editor)

Symplectic integrator

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In mathematics, a symplectic integrator (SI) is a numerical integration scheme for Hamiltonian systems. Symplectic integrators form the subclass of geometric integrators which, by definition, are canonical transformations. They are widely used in nonlinear dynamics, molecular dynamics, discrete element methods, accelerator physics, plasma physics, quantum physics, and celestial mechanics.

Contents

Introduction

Symplectic integrators are designed for the numerical solution of Hamilton's equations, which read

p ˙ = H q and q ˙ = H p ,

where q denotes the position coordinates, p the momentum coordinates, and H is the Hamiltonian. The set of position and momentum coordinates ( q , p ) are called canonical coordinates. (See Hamiltonian mechanics for more background.)

The time evolution of Hamilton's equations is a symplectomorphism, meaning that it conserves the symplectic two-form d p d q . A numerical scheme is a symplectic integrator if it also conserves this two-form.

Symplectic integrators possess, as a conserved quantity, a Hamiltonian which is slightly perturbed from the original one. By virtue of these advantages, the SI scheme has been widely applied to the calculations of long-term evolution of chaotic Hamiltonian systems ranging from the Kepler problem to the classical and semi-classical simulations in molecular dynamics.

Most of the usual numerical methods, like the primitive Euler scheme and the classical Runge-Kutta scheme, are not symplectic integrators.

Splitting methods for separable Hamiltonians

A widely used class of symplectic integrators is formed by the splitting methods.

Assume that the Hamiltonian is separable, meaning that it can be written in the form

H ( p , q ) = T ( p ) + V ( q ) . ( 1 )

This happens frequently in Hamiltonian mechanics, with T being the kinetic energy and V the potential energy.

For the notational simplicity, let us introduce the symbol z = ( q , p ) to denote the canonical coordinates including both the position and momentum coordinates. Then, the set of the Hamilton's equations given in the introduction can be expressed in a single expression as

z ˙ = { z , H ( z ) } , ( 2 )

where { , } is a Poisson bracket. Furthermore, by introducing an operator D H = { , H } , which returns a Poisson bracket of the operand with the Hamiltonian, the expression of the Hamilton's equation can be further simplified to

z ˙ = D H z .

The formal solution of this set of equations is given as a matrix exponential:

z ( τ ) = exp ( τ D H ) z ( 0 ) . ( 3 )

Note the positivity of τ D H in the matrix exponential.

When the Hamiltonian has the form of eq. (1), the solution (3) is equivalent to

z ( τ ) = exp [ τ ( D T + D V ) ] z ( 0 ) . ( 4 )

The SI scheme approximates the time-evolution operator exp [ τ ( D T + D V ) ] in the formal solution (4) by a product of operators as

exp [ τ ( D T + D V ) ] = i = 1 k exp ( c i τ D T ) exp ( d i τ D V ) + O ( τ k + 1 ) = exp ( c 1 τ D T ) exp ( d 1 τ D V ) exp ( c k τ D T ) exp ( d k τ D V ) + O ( τ k + 1 ) , ( 5 )

where c i and d i are real numbers, k is an integer, which is called the order of the integrator, and where i = 1 k c i = i = 1 k d i = 1 . Note that each of the operators exp ( c i τ D T ) and exp ( d i τ D V ) provides a symplectic map, so their product appearing in the right-hand side of (5) also constitutes a symplectic map.

Since D T 2 z = { { z , T } , T } = { ( q ˙ , 0 ) , T } = ( 0 , 0 ) for all z , we can conclude that

D T 2 = 0. ( 6 )

By using a Taylor series, exp ( a D T ) can be expressed as

exp ( a D T ) = n = 0 ( a D T ) n n ! , ( 7 )

where a is an arbitrary real number. Combining (6) and (7), and by using the same reasoning for D V as we have used for D T , we get

{ exp ( a D T ) = 1 + a D T , exp ( a D V ) = 1 + a D V . ( 8 )

In concrete terms, exp ( c i τ D T ) gives the mapping

( q p ) ( q + τ c i T p ( p ) p ) ,

and exp ( d i τ D V ) gives

( q p ) ( q p τ d i V q ( q ) ) .

Note that both of these maps are practically computable.

Splitting methods for general nonseparable Hamiltonians

General nonseparable Hamiltonians can also be explicitly and symplectically integrated.

To do so, Tao introduced a restraint that binds two copies of phase space together to enable an explicit splitting of such systems. The idea is, instead of H ( Q , P ) , one simulates H ¯ ( q , p , x , y ) = H ( q , y ) + H ( x , p ) + ω ( q x 2 2 / 2 + p y 2 2 / 2 ) , whose solution agrees with that of H ( Q , P ) in the sense that q ( t ) = x ( t ) = Q ( t ) , p ( t ) = y ( t ) = P ( t ) .

The new Hamiltonian is advantageous for explicit symplectic integration, because it can be split into the sum of three sub-Hamiltonians, H A = H ( q , y ) , H B = H ( x , p ) , and H C = ω ( q x 2 2 / 2 + p y 2 2 / 2 ) . Exact solutions of all three sub-Hamiltonians can be explicitly obtained: both H A , H B solutions correspond to shifts of mismatched position and momentum, and H C corresponds to a linear transformation. To symplectically simulate the system, one simply composes these solution maps.

Examples

Several simplectic integrators are given below. An illustrative way to use them is to consider a particle with position q and velocity p .

To apply a timestep with values c 1 , 2 , 3 , d 1 , 2 , 3 to the particle, carry out the following steps:

  • Update the position of the particle by adding to it its velocity multiplied by c 1
  • Update the velocity of the particle by adding to it its acceleration (at the updated position) multiplied by d 1
  • Update the position of the particle by adding to it its (updated) velocity multiplied by c 2
  • Update the velocity of the particle by adding to it its acceleration (at the double-updated position) multiplied by d 2
  • Update the position of the particle by adding to it its (double-updated) velocity multiplied by c 3
  • Update the velocity of the particle by adding to it its acceleration (at the triple-updated position) multiplied by d 3
  • A first-order example

    The symplectic Euler method is the first-order integrator with k = 1 and coefficients

    c 1 = d 1 = 1.    

    Note that the algorithm above does not work if time-reversibility is needed. The algorithm has to be implemented in two parts, one for positive time steps, one for negative time steps.

    A second-order example

    The Verlet method is the second-order integrator with k = 2 and coefficients

    c 1 = 0 , c 2 = 1 , d 1 = d 2 = 1 2 .

    Since c 1 = 0 , the algorithm above is symmetric in time. There is 3 steps to the algorithm, and step 1 and 3 are exactly the same, so the positive time version can be used for negative time.

    A third-order example

    A third-order symplectic integrator (with k = 3 ) was discovered by Ronald Ruth in 1983. One of the many solutions is given by

    c 1 = 1 , c 2 = 2 3 , c 3 = 2 3 , d 1 = 1 24 , d 2 = 3 4 , d 3 = 7 24 .

    A fourth-order example

    A fourth-order integrator (with k = 4 ) was also discovered by Ruth in 1983 and distributed privately to the accelerator community at that time. This was described in a lively review article by Forest. This fourth-order integrator was published in 1990 by Forest and Ruth and also independently discovered by two other groups around that same time.

    c 1 = c 4 = 1 2 ( 2 2 1 / 3 ) , c 2 = c 3 = 1 2 1 / 3 2 ( 2 2 1 / 3 ) , d 1 = d 3 = 1 2 2 1 / 3 , d 2 = 2 1 / 3 2 2 1 / 3 , d 4 = 0.

    To determine these coefficients, the Baker–Campbell–Hausdorff formula can be used. Yoshida, in particular, gives an elegant derivation of coefficients for higher-order integrators. Later on, Blanes and Moan further developed partitioned Runge–Kutta methods for the integration of systems with separable Hamiltonians with very small error constants.

    References

    Symplectic integrator Wikipedia