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.
Introduction
Symplectic integrators are designed for the numerical solution of Hamilton's equations, which read
<math display="block">\dot p = -\frac{\partial H}{\partial q} \quad\mbox{and}\quad \dot q = \frac{\partial H}{\partial p},</math>
where <math>q</math> denotes the position coordinates, <math>p</math> the momentum coordinates, and <math>H</math> is the Hamiltonian.
The set of position and momentum coordinates <math>(q,p)</math> 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 2-form . A numerical scheme is a symplectic integrator if it also conserves this 2-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, such as the primitive Euler scheme and the classical Runge–Kutta scheme, are not symplectic integrators.
Methods for constructing symplectic algorithms
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
This happens frequently in Hamiltonian mechanics, with being the kinetic energy and the potential energy.
For the notational simplicity, let us introduce the symbol <math>z=(q,p)</math> 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
where <math>\{\cdot, \cdot\}</math> is a Poisson bracket. Furthermore, by introducing an operator <math>D_H \cdot = \{\cdot, H\}</math>, which returns a Poisson bracket of the operand with the Hamiltonian, the expression of the Hamilton's equation can be further simplified to
<math display="block">\dot{z} = D_H z.</math>
The formal solution of this set of equations at time <math>t</math> is given as a matrix exponential:
Note the positivity of <math>t D_H</math> in the matrix exponential.
When the Hamiltonian has the form of equation (), the solution () is equivalent to
The SI scheme approximates the time-evolution operator <math>\exp[t (D_T + D_V)]</math> in the formal solution () by a product of operators as
where <math>c_i</math> and <math>d_i</math> are real numbers, <math>k</math> is an integer, which is called the order of the integrator, and where <math display="inline">\sum_{i=1}^k c_i = \sum_{i=1}^k d_i = 1</math>. Note that each of the operators <math>\exp(t c_i D_V)</math> and <math>\exp(t d_i D_T)</math> provides a symplectic map, so their product appearing in the right-hand side of () also constitutes a symplectic map.
Since <math>D_T^2 z = \{\{z,T\},T\} = \{(\dot{q}, 0),T\} = (0,0)</math> for all <math>z</math>, we can conclude that
By using a Taylor series, <math>\exp(a D_T)</math> can be expressed as
{2\left(2 - 2^{1/3}\right)}, \\[1ex]
d_1 &= d_3 = \frac{1}{2-2^{1/3, &
d_2 &= -\frac{2^{1/3{2-2^{1/3, \qquad d_4 = 0,
\end{align}</math>
or alternatively,
<math display="block">\begin{align}
c_1 &= 0, \qquad c_3 = -\frac{2^{1/3{2-2^{1/3, &
c_2 &= c_4 = \frac{1}{2-2^{1/3, \\[1ex]
d_1 &= d_4 = \frac{1}{2 \left(2-2^{1/3}\right)}, &
d_2 &= d_3 = \frac{1 - 2^{1/3{2\left(2 - 2^{1/3}\right)}.
\end{align}</math>
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. further developed partitioned Runge–Kutta methods for the integration of systems with separable Hamiltonians with very small error constants.
Numerov%27s method, developed by the Russian astronomer Boris Vasil'evich Numerov in 1924, is also a fourth-order symplectic integrator.
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 <math>H(Q,P)</math>, one simulates
<math display="block">\bar{H}(q,p,x,y) = H(q,y) + H(x,p) + \omega \left( \tfrac{1}{2} {\left\|q-x\right\|}_2^2 + \tfrac{1}{2} {\left\|p-y\right\|}_2^2\right),</math>
whose solution agrees with that of <math>H(Q,P)</math> in the sense that
The new Hamiltonian is advantageous for explicit symplectic integration, because it can be split into the sum of three sub-Hamiltonians, <math>H_A = H(q,y)</math>, <math>H_B=H(x,p)</math>, and <math display="inline">H_C = \omega \left(\frac{1}{2}\left\|q-x\right\|_2^2 + \frac{1}{2} \left\|p-y\right\|_2^2\right)</math>. Exact solutions of all three sub-Hamiltonians can be explicitly obtained: both <math>H_A, H_B</math> solutions correspond to shifts of mismatched position and momentum, and <math>H_C</math> corresponds to a linear transformation. To symplectically simulate the system, one simply composes these solution maps.
Applications
In plasma physics
In recent decades symplectic integrator in plasma physics has become an active research topic, because straightforward applications of the standard symplectic methods do not suit the need of large-scale plasma simulations enabled by the peta- to exa-scale computing hardware. Special symplectic algorithms need to be customarily designed, tapping into the special structures of the physics problem under investigation. One such example is the charged particle dynamics in an electromagnetic field. With the canonical symplectic structure, the Hamiltonian of the dynamics is <math display="block">H(\boldsymbol{p},\boldsymbol{x}) = \tfrac{1}{2} \left(\boldsymbol{p}-\boldsymbol{A}\right)^2 + \phi,</math> whose <math display="inline">\boldsymbol{p}</math>-dependence and <math display="inline">\boldsymbol{x}</math>-dependence are not separable, and standard explicit symplectic methods do not apply. For large-scale simulations on massively parallel clusters, however, explicit methods are preferred.
To overcome this difficulty, we can explore the specific way that the <math display="inline">\boldsymbol{p}</math>-dependence and <math display="inline">\boldsymbol{x}</math>-dependence are entangled in this Hamiltonian, and try to design a symplectic algorithm just for this or this type of problem. First, we note that the <math display="inline">\boldsymbol{p}</math>-dependence is quadratic, therefore the first order symplectic Euler method implicit in <math display="inline">\boldsymbol{p}</math> is actually explicit. This is what is used in the canonical symplectic particle-in-cell (PIC) algorithm. To build high order explicit methods, we further note that the <math display="inline">\boldsymbol{p}</math>-dependence and <math display="inline">\boldsymbol{x}</math>-dependence in this <math display="inline">H(\boldsymbol{p},\boldsymbol{x})</math> are product-separable, 2nd and 3rd order explicit symplectic algorithms can be constructed using generating functions, and arbitrarily high-order explicit symplectic integrators for time-dependent electromagnetic fields can also be constructed using Runge-Kutta techniques.
A more elegant and versatile alternative is to look at the following non-canonical symplectic structure of the problem,
<math display="block">\begin{align}
i_{(\dot{\boldsymbol{x,\dot{\boldsymbol{v)} \Omega &= -dH, \\
\Omega &= d(\boldsymbol{v}+\boldsymbol{A}) \wedge d\boldsymbol{x}, \\[1ex]
H &= \tfrac{1}{2}\boldsymbol{v}^{2}+\phi.
\end{align}</math>
Here <math display="inline">\Omega</math> is a non-constant non-canonical symplectic form. General symplectic integrator for non-constant non-canonical symplectic structure, explicit or implicit, is not known to exist. However, for this specific problem, a family of high-order explicit non-canonical symplectic integrators can be constructed using the He splitting method. Splitting <math display="inline">H</math> into 4 parts, <math display="block">H = H_x + H_y + H_z + H_\phi,</math><math display="block">\begin{align}
H_x &= \tfrac{1}{2} v_x^2, & H_y &= \tfrac{1}{2} v_y^2, \\[2pt]
H_z &= \tfrac{1}{2} v_z^2, & H_\phi &= \phi,
\end{align}</math> we find serendipitously that for each subsystem, e.g., <math display="block">i_{(\dot{\boldsymbol{x,\dot{\boldsymbol{v)}\Omega=-dH_{x}</math> and
<math display="block"> i_{(\dot{\boldsymbol{x,\dot{\boldsymbol{v)} \Omega = -dH_{\phi},</math> the solution map can be written down explicitly and calculated exactly. Then explicit high-order non-canonical symplectic algorithms can be constructed using different compositions. Let <math display="inline">\Theta_{x},\Theta_{y},\Theta_{z}</math> and <math display="inline">\Theta_{\phi}</math> denote the exact solution maps for the 4 subsystems. A 1st-order symplectic scheme is <math display="block">\begin{aligned}
\Theta_1{\left(\Delta\tau\right)} = \Theta_x{\left(\Delta\tau\right)} \, \Theta_y{\left(\Delta\tau\right)} \, \Theta_z{\left(\Delta\tau\right)} \, \Theta_\phi{\left(\Delta\tau\right)} \,.
\end{aligned}</math>
A symmetric 2nd-order symplectic scheme is,
<math display="block">\begin{aligned}
\Theta_2{\left(\Delta\tau\right)} = {}
& \Theta_x{\left(\tfrac{\Delta\tau}{2}\right)} \, \Theta_y{\left(\tfrac{\Delta\tau}{2}\right)} \, \Theta_z{\left(\tfrac{\Delta\tau}{2}\right)} \, \Theta_\phi{\left(\Delta\tau\right)} \\
& \Theta_z{\left(\tfrac{\Delta t}{2}\right)} \, \Theta_y{\left(\tfrac{\Delta t}{2}\right)} \, \Theta_x{\left(\tfrac{\Delta t}{2}\right)},
\end{aligned}</math> which is a customarily modified Strang splitting. A <math display="inline">2(\ell+1)</math>-th order scheme can be constructed from a <math display="inline">2\ell</math>-th order scheme using the method of triple jump,
<math display="block">
\Theta_{2(\ell+1)}(\Delta\tau) = \Theta_{2\ell}(\alpha_{\ell}\Delta\tau) \, \Theta_{2\ell}(\beta_{\ell}\Delta\tau) \, \Theta_{2\ell}(\alpha_{\ell}\Delta\tau) \, ,
</math>
<math display="block">\begin{align}
\alpha_{\ell} & = \frac{1}{2-2^{1/(2\ell+1), &
\beta_{\ell} & = 1 - 2\alpha_{\ell}\,.
\end{align}</math>
The He splitting method is one of key techniques used in the structure-preserving geometric particle-in-cell (PIC) algorithms.
See also
- Energy drift
- Multisymplectic integrator
- Variational integrator
- Verlet integration
