1
$\begingroup$

What does the time-reversibility of Verlet or any other integration method mean? The wikipedia article about it is very complex, unclear and confusing. And how can I determine whether a method is time reversible or not?

For example the classical Störmer-Verlet method

$ x_{n+1} = 2x_n - x_{n-1} + a(x_n) · dt^2 $

How is this time-reversible? If I change the sign of the timestep dt, because of the square nothing changes.

$\endgroup$
1
  • 1
    $\begingroup$ For a mathematical analysis, you should better write it not as computer instruction but as the recursion formula $$x_{n+1}=2x_n-x_{n-1}+a(x_n)·dt^2.$$ $\endgroup$ Sep 23, 2015 at 18:59

1 Answer 1

2
$\begingroup$

Yes, it is exactly that.

The time reverse of the explicit Euler method is the implicit Euler method. $y_{n+1}=y_n+f(y_n)\,dt$ gets reversed to $y_{n-1}=y_n+f(y_n)\,(-dt)$ and after index shift $y_{n+1}=y_n+f(y_{n+1})\,dt$.

The same for the symplectic Euler methods. \begin{array}{lll} forward:&x_{n+1}=x_n+v_n\,dt,& v_{n+1}=v_n+a(x_{n+1})\\ reverse:&x_{n-1}=x_n-v_n\,dt,& v_{n-1}=v_n+a(x_{n-1})\\ shifted:&v_{n+1}=v_n+a(x_n)\,dt,& x_{n+1}=x_n+v_{n+1}\,dt \end{array} (Velocity) Verlet is a combination of an explicit and implicit symplectic Euler step, thus invariant under time reversal. \begin{align} v_{n+1/2}&=v_n+a(x_{n})\,dt/2\\ x_{n+1/2}&=x_n+v_{n+1/2}\,dt/2\\ x_n&=x_{n+1/2}+v_{n+1/2}\,dt/2\\ v_n&=v_{n+1/2}+a(x_{n+1})\,dt/2 \end{align} Elimination of $x_{n+1/2}$ gives velocity Verlet, elimination of the integer-indexed velocities gives the Leapfrog method, elimination of all velocities gives the basic Stoermer-Verlet method.

The first reversion-invariant Runge-Kutta methods are the (necessarily implicit) trapezoidal and midpoint methods. \begin{align} &trapezoid:&y_{n+1}&=y_n+\tfrac12(f(y_n)+f(y_{n+1}))\,dt\\ &midpoint:& y_{n+1}&=y_n+f(\tfrac12(y_n)+y_{n+1}))\,dt \end{align}


The advantage of reversion-invariant methods is that the error in scalar invariants is also reversion invariant and thus an even function. For the second-order Verlet method one would expect from the order alone that the first term of the local error in energy and momentum is $O(dt^3)$, but since the odd powers are missing the actual error is $O(dt^4)$.


Of course, the same or better can be achieved with the classical RK4, but symplectic Euler and Verlet are better suited for real-time simulations and provide, because of "symplectic", global (very slowly eroding) error bounds on conserved quantities of the dynamical system.

$\endgroup$
4
  • $\begingroup$ "Yes, it is exactly that" - exactly what? I'm thankful for taking the time, but you wrote down a bunch of information without answering the question. What does time-reversibility mean? How Verlet method is time-reversible? If I use negative timestep, the simulation doesn't go backward, since the (dt*dt) part just make the sign positive, making unchanged everything. So what does time-reversibility mean? $\endgroup$
    – plasmacel
    Sep 23, 2015 at 17:05
  • $\begingroup$ Yes to your conclusion that changing the sign of the timestep (and rearranging the indices to reflect the reverse order) does not change the method. $\endgroup$ Sep 23, 2015 at 18:36
  • $\begingroup$ Yeah, but if the method (and the signs of the polynomials) doesn't change how is this reversing the time? I mean the trajectories will still advance forward, just like nothing happened. It is possible that I misunderstand the concept of time-reversibility. I tought when I use negative timesteps, then the particles should go backward, backtracking their trajectories, just like when the time is reversed. $\endgroup$
    – plasmacel
    Sep 23, 2015 at 18:43
  • 1
    $\begingroup$ That is another valid way to view it, that integrating first forward and then backwards with the same method (and constant time-step length) will pass through the same points of the numerical trajectory in the reverse order. I've expanded on my view of the reversal in the answer. $\endgroup$ Sep 23, 2015 at 18:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .