We study two leapfrog algorithms by applying them to the simple ordinary differential equation

with the initial value

. The exact solution obviously is

for all real

and thus represents a rotation with angular velocity

. In our context the significance of this equation is that it is the most general Schrödinger equation in a one-dimensional Hilbert space. Spectral decomposition allows any Schrödinger equation in a finite-dimensional Hilbert space to reduce to a finite set of copies of this case. The numerical solutions under consideration work in a two-dimensional Hilbert space formed by pairs

, where the second component is defined to have the initial value

. In this two-dimensional Hilbert space a time-stepping evolution algorithm is given in terms of a step matrix that in this case is a complex 2×2-matrix, the matrix elements of which are specified functions of the time step

. In our case we have:

Störmer–Verlet (sv),

densified asynchronous leapfrog (dalf),

where

. Here, as always in quantum theory, the angular velocity

of phase rotation is associated with an energy

. In the Demonstration code we use the numerical values

. The Demonstration lets you visualize the complex quantities

and

for a discrete trajectory. Such a trajectory is defined by a number of rotation periods and a number of steps per rotation period. You can set both numbers using the sliders; also noninteger values make sense. For less than

steps per period one sees singularities for

and

. Selecting the mode "eigenvalues" shows that then one of these eigenvalues of the step matrix has a modulus larger than 1. The quantities

and

vanish for the exact solution due to unitarity and energy conservation. They do not vanish exactly for the discrete trajectories defined by the two leapfrog algorithms. They can be inspected under the method "errors". The reason for considering these error measures is that they can also be computed in cases where the exact solution is not available.

To put our main finding into perspective we notice that having

steps per period should be compared with "sampling at Nyquist frequency", which is two steps per period. In engineering language we have to "oversample" by a factor

to get a stable trajectory. As we can learn from this Demonstration, a much stronger oversampling is needed to get a trajectory that is moderately accurate.