Backward Euler method

From HandWiki
Revision as of 07:26, 27 June 2023 by Sherlock (talk | contribs) (add)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Numerical method for ordinary differential equations

In numerical analysis and scientific computing, the backward Euler method (or implicit Euler method) is one of the most basic numerical methods for the solution of ordinary differential equations. It is similar to the (standard) Euler method, but differs in that it is an implicit method. The backward Euler method has error of order one in time.

Description

Consider the ordinary differential equation

[math]\displaystyle{ \frac{\mathrm{d} y}{\mathrm{d} t} = f(t,y) }[/math]

with initial value [math]\displaystyle{ y(t_0) = y_0. }[/math] Here the function [math]\displaystyle{ f }[/math] and the initial data [math]\displaystyle{ t_0 }[/math] and [math]\displaystyle{ y_0 }[/math] are known; the function [math]\displaystyle{ y }[/math] depends on the real variable [math]\displaystyle{ t }[/math] and is unknown. A numerical method produces a sequence [math]\displaystyle{ y_0, y_1, y_2, \ldots }[/math] such that [math]\displaystyle{ y_k }[/math] approximates [math]\displaystyle{ y(t_0+kh) }[/math], where [math]\displaystyle{ h }[/math] is called the step size.

The backward Euler method computes the approximations using

[math]\displaystyle{ y_{k+1} = y_k + h f(t_{k+1}, y_{k+1}). }[/math] [1]

This differs from the (forward) Euler method in that the forward method uses [math]\displaystyle{ f(t_k, y_k) }[/math] in place of [math]\displaystyle{ f(t_{k+1}, y_{k+1}) }[/math].

The backward Euler method is an implicit method: the new approximation [math]\displaystyle{ y_{k+1} }[/math] appears on both sides of the equation, and thus the method needs to solve an algebraic equation for the unknown [math]\displaystyle{ y_{k+1} }[/math]. For non-stiff problems, this can be done with fixed-point iteration:

[math]\displaystyle{ y_{k+1}^{[0]} = y_k, \quad y_{k+1}^{[i+1]} = y_k + h f(t_{k+1}, y_{k+1}^{[i]}). }[/math]

If this sequence converges (within a given tolerance), then the method takes its limit as the new approximation [math]\displaystyle{ y_{k+1} }[/math].[2]

Alternatively, one can use (some modification of) the Newton–Raphson method to solve the algebraic equation.

Derivation

Integrating the differential equation [math]\displaystyle{ \frac{\mathrm{d} y}{\mathrm{d} t} = f(t,y) }[/math] from [math]\displaystyle{ t_n }[/math] to [math]\displaystyle{ t_{n+1} = t_n + h }[/math] yields

[math]\displaystyle{ y(t_{n+1}) - y(t_n) = \int_{t_n}^{t_{n+1}} f(t, y(t)) \,\mathrm{d}t. }[/math]

Now approximate the integral on the right by the right-hand rectangle method (with one rectangle):

[math]\displaystyle{ y(t_{n+1}) - y(t_n) \approx h f(t_{n+1}, y(t_{n+1})). }[/math]

Finally, use that [math]\displaystyle{ y_n }[/math] is supposed to approximate [math]\displaystyle{ y(t_n) }[/math] and the formula for the backward Euler method follows.[3]

The same reasoning leads to the (standard) Euler method if the left-hand rectangle rule is used instead of the right-hand one.

Analysis

The pink region outside the disk shows the stability region of the backward Euler method.

The local truncation error (defined as the error made in one step) of the backward Euler Method is [math]\displaystyle{ O(h^2) }[/math], using the big O notation. The error at a specific time [math]\displaystyle{ t }[/math] is [math]\displaystyle{ O(h^2) }[/math]. It means that this method has order one. In general, a method with [math]\displaystyle{ O(h^{k+1}) }[/math] LTE (local truncation error) is said to be of kth order.

The region of absolute stability for the backward Euler method is the complement in the complex plane of the disk with radius 1 centered at 1, depicted in the figure.[4] This includes the whole left half of the complex plane, making it suitable for the solution of stiff equations.[5] In fact, the backward Euler method is even L-stable.

The region for a discrete stable system by Backward Euler Method is a circle with radius 0.5 which is located at (0.5, 0) in the z-plane.[6]

Extensions and modifications

The backward Euler method is a variant of the (forward) Euler method. Other variants are the semi-implicit Euler method and the exponential Euler method.

The backward Euler method can be seen as a Runge–Kutta method with one stage, described by the Butcher tableau:

[math]\displaystyle{ \begin{array}{c|c} 1 & 1 \\ \hline & 1 \\ \end{array} }[/math]

The method can also be seen as a linear multistep method with one step. It is the first method of the family of Adams–Moulton methods, and also of the family of backward differentiation formulas.

See also

Notes

  1. Butcher 2003, p. 57
  2. Butcher 2003, p. 57
  3. Butcher 2003, p. 57
  4. Butcher 2003, p. 70
  5. Butcher 2003, p. 71
  6. Wai-Kai Chen, Ed., Analog and VLSI Circuits The Circuits and Filters Handbook, 3rd ed. Chicago, USA: CRC Press, 2009.

References