# Geometric integrator

In the mathematical field of numerical ordinary differential equations, a geometric integrator is a numerical method that preserves geometric properties of the exact flow of a differential equation.

## Pendulum example

We can motivate the study of geometric integrators by considering the motion of a pendulum.
Assume that we have a pendulum whose bob has mass $m=1$ and whose rod is massless of length $\ell =1$. Take the acceleration due to gravity to be $g=1$. Denote by $q(t)$ the angular displacement of the rod from the vertical, and by $p(t)$ the pendulum's momentum. The Hamiltonian of the system, the sum of its kinetic and potential energies, is
$H(q,p)=T(p)+U(q)={\frac {1}{2}}p^{2}-\cos q,$
which gives Hamilton's equations
$({\dot {q}},{\dot {p}})=\left({\frac {\partial H}{\partial p}},-{\frac {\partial H}{\partial q}}\right)=(p,-\sin q).\,$
It is natural to take the configuration space $Q$ of all $q$ to be the unit circle $\mathbb {S} ^{1}$, so that $(q,p)$ lies on the cylinder $\mathbb {S} ^{1}\times \mathbb {R}$. However, we will take $(q,p)\in \mathbb {R} ^{2}$, simply because $(q,p)$-space is then easier to plot. Define $z(t)=(q(t),p(t))^{\mathrm {T} }$ and $f(z)=(p,-\sin q)^{\mathrm {T} }$. Let us experiment by using some simple numerical methods to integrate this system. As usual, we select a constant step size, $h$, and for an arbitrary non-negative integer $k$ we write $z_{k}:=z(kh)$. We use the following methods.
    $z_{k+1}=z_{k}+hf(z_{k})\,$ (explicit Euler),
    $z_{k+1}=z_{k}+hf(z_{k+1})\,$ (implicit Euler),
    $z_{k+1}=z_{k}+hf(q_{k},p_{k+1})\,$ (symplectic Euler),
    $z_{k+1}=z_{k}+hf((z_{k+1}+z_{k})/2)\,$ (implicit midpoint rule).
(Note that the symplectic Euler method treats q by the explicit and $p$ by the implicit Euler method.)
The observation that $H$ is constant along the solution curves of the Hamilton's equations allows us to describe the exact trajectories of the system: they are the level curves of $p^{2}/2-\cos q$. We plot, in $\mathbb {R} ^{2}$, the exact trajectories and the numerical solutions of the system. For the explicit and implicit Euler methods we take $h=0.2$, and z$_0$ = (0.5, 0) and (1.5, 0) respectively; for the other two methods we take $h=0.3$, and z$_0$ = (0, 0.7), (0, 1.4) and (0, 2.1).
The explicit (resp. implicit) Euler method spirals out from (resp. in to) the origin. The other two methods show the correct qualitative behaviour, with the implicit midpoint rule agreeing with the exact solution to a greater degree than the symplectic Euler method.
Recall that the exact flow $\phi _{t}$ of a Hamiltonian system with one degree of freedom is area-preserving, in the sense that $\det {\frac {\partial \phi _{t}}{\partial (q_{0},p_{0})}}=1~{\text{ for all }}~t.$ This formula is easily verified by hand. For our pendulum example we see that the numerical flow $\Phi _{{\mathrm {eE} },h}:z_{k}\mapsto z_{k+1}$ of the explicit Euler method is not area-preserving; viz.,
$\det {\frac {\partial }{\partial (q_{0},p_{0})}}\Phi _{{\mathrm {eE} },h}(z_{0})={\begin{vmatrix}1&h\\-h\cos q_{0}&1\end{vmatrix}}=1+h^{2}\cos q_{0}.$
A similar calculation can be carried out for the implicit Euler method, where the determinant is
$\det {\frac {\partial }{\partial (q_{0},p_{0})}}\Phi _{{\mathrm {iE} },h}(z_{0})=(1+h^{2}\cos q_{1})^{-1}.$
However, the symplectic Euler method is area-preserving:
${\begin{pmatrix}1&-h\\0&1\end{pmatrix}}{\frac {\partial }{\partial (q_{0},p_{0})}}\Phi _{{\mathrm {sE} },h}(z_{0})={\begin{pmatrix}1&0\\-h\cos q_{0}&1\end{pmatrix}},$
thus $\det(\partial \Phi _{{\mathrm {sE} },h}/\partial (q_{0},p_{0}))=1$. The implicit midpoint rule has similar geometric properties.
To summarize: the pendulum example shows that, besides the explicit and implicit Euler methods not being good choices of method to solve the problem, the symplectic Euler method and implicit midpoint rule agree well with the exact flow of the system, with the midpoint rule agreeing more closely. Furthermore, these latter two methods are area-preserving, just as the exact flow is; they are two examples of geometric (in fact, symplectic) integrators.

## Moving frame method

The moving frame method can be used to construct numerical methods which preserve Lie symmetries of the ODE. Existing methods such as Runge-Kutta can be modified using moving frame method to produce invariant versions.