2

Currently, I'm trying to use the Van Der Pol osciallator to compare the integration accuracy between the implicit Euler forward and explicit Euler Forward.

The explicit Euler method is: $x_{k+1} = x_{k} + hf(x_{k})$;

The implicit Euler method is: $x_{k+1} = x_{k} + hf(x_{k+1})$;

where $f(x)$ is the ODE of the Van Der Pol oscillator and $h$ is the integration step. I changed the integration step and compared the integration results with the ode15s from scipy. The formula to calculate the error for the implicit and explicit method is the same. For example, the implicit method error could calculated by the following,

np.linalg.norm(ieu_sol - ref_sol)/np.linalg.norm(ref_sol)

It looks like the implicit method is always more accurate than the explicit method (ignore the sign). My questions are the following:

1) is it always true that the implicit method is more accurate than the explicit method?

2) How would the ODE change the accuracy? (in this example I tried the Van Der Pol oscillator but what about other dynamic systems?)

3) Are there any references you may suggest reading?

Thank you.

Ali
  • 53

2 Answers2

2
  1. No. When there is sufficient differentiability available the global error satisfies an asymptotic error expansion of the form $$x(t) - y_h(t) = \alpha(t) h^p + \beta(t) h^q + O(h^r), \quad h \rightarrow 0, \quad h > 0,$$ where $x$ is the exact solution, $y_h$ is the computed approximation and the functions $\alpha$ and $\beta$ can be computed by solving differential equations which depend on exact solution and the scheme deployed to compute $y_h$. It is possible to engineer situations where either the explicit or the implicit Euler is superior to the other.
  2. The values of the coefficients of the asymptotic error expansion given above depends on the solution of the differential equation.
  3. The existence of the asymptotic error expansion given above is discussed in Hairer et. al "Solving Ordinary Differential Equations I: Nonstiff Problems", section II.8.
1

In general no, as the implicit method, if considered backward in time, is the explicit method.

However, the implicit method has a larger region of stability. Which means that when the exact solution is moving towards some attractor, then the implicit method is more faithful to that behavior than the explicit method. This effect will be more pronounced for larger step sizes, for very small step sizes the difference in error should reduce.

Lutz Lehmann
  • 131,652
  • Could you develop more this interesting idea of backwarding in time? I would like to know why in general, implicit method is usually more accurate and stable (has a larger region of stability) than explicit method. Is this fact related to the increasing of entropy? – NN2 Mar 17 '21 at 16:40
  • The backwarding idea was just an argument that both methods are in some fundamental way the same, the error propagation is essentially the same, the source of the method error, the local truncation error, has just the opposite sign in the leading term. – Lutz Lehmann Mar 17 '21 at 16:53
  • 1
    Explicit methods have a polynomial stability function, this becomes eventually large for large arguments, thus a bounded stability region. With implicit methods you get rational functions. These then have a chance to stay bounded, be bounded by 1 in large regions of the negative half-plane, and even converge to zero at infinity (like the imp. Euler method). The connection to dissipation, entropy, is that a discretized space Laplacian produces a large Lipschitz constant in the method-of-lines system , which then forces small time steps. – Lutz Lehmann Mar 17 '21 at 16:58
  • 1
    See also https://math.stackexchange.com/questions/4050885, https://math.stackexchange.com/questions/3311190 on the interaction of stiffness and step-size controllers, https://math.stackexchange.com/questions/3384849/stability on where I think the importance of stability comes from. – Lutz Lehmann Mar 17 '21 at 17:03
  • thank you very much! – NN2 Mar 17 '21 at 17:40