Backward Euler method: Difference between revisions

Content deleted Content added
In numerical analysis and scientific computing, the ''backward Euler method'' (or '''implicit Euler method''') is one of the most basic ...
No edit summary
 
(36 intermediate revisions by 25 users not shown)
Line 1:
{{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 ordinary differential equations|numerical methodmethods for the solution of ordinary differential equations]]. It is similar to the (standard) [[Euler method]], but differs in that it is an [[explicit and implicit methods|implicit method]]. The backward Euler method has error of order one andin is [[A-stability|A-stable]]time.
 
== Description ==
 
Consider the [[ordinary differential equation]]
Consider the [[ordinary differential equation]] <math> y' = f(t,y) </math> with initial value <math> y(t_0) = y_0. </math> A numerical method produces a sequence <math> y_0, y_1, y_2, \ldots </math> such that <math> y_k </math> approximates <math> y(t_0+kh) </math>, where <math> h </math> is called the step size.
:<math> \frac{\mathrm{d} y}{\mathrm{d} t} = f(t,y) </math>
Considerwith theinitial [[ordinary differential equation]]value <math> y'(t_0) = f(t,y)y_0. </math> withHere initialthe valuefunction <math>f</math> y(and the initial data <math>t_0)</math> =and <math>y_0.</math> are known; the function <math>y</math> depends on the real variable <math>t</math> and is unknown. A numerical method produces a sequence <math> y_0, y_1, y_2, \ldots </math> such that <math> y_k </math> approximates <math> y(t_0+kh) </math>, where <math> h </math> is called the step size.
 
The backward Euler method computes the approximations using
:<math> y_{k+1} = y_k + h f(t_{k+1}, y_{k+1}). </math> <ref>{{harvnb|Butcher|2003|p=57}}</ref>
This differs from the (forward) Euler method in that the latterforward method uses <math> f(t_k, y_k) </math> in place of <math>f(t_{k+1}, y_{k+1})</math>.
 
The backward Euler method is an implicit method: the new approximation <math> 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> y_{k+1} </math>. SometimesFor non-[[Stiff equation|stiff]] problems, this can be done bywith [[fixed-point iteration]]:
:<math> y_{k+1}^{[0]} = y_k, \quad y_{k+1}^{[i+1]} = y_k + h f(t_{k+1}^{[i]}, y_{k+1}^{[i]}). </math>
If this sequence converges (within a given tolerance), then the method takes its limit as the new approximation
<math> y_{k+1} </math>. <ref>{{harvnb|Butcher|2003|p=57}}</ref>
 
Alternatively, one can use (some modification of) the [[Newton's method|Newton–Raphson method]] to solve the algebraic equation.
Line 18 ⟶ 21:
== Derivation ==
 
Integrating the differential equation <math> \frac{\mathrm{d} y'}{\mathrm{d} t} = f(t,y) </math> from <math> t_kt_n </math> to <math> t_{kn+1} = t_kt_n + h </math> yields
: <math> y(t_{kn+1}) - y(t_kt_n) = h \int_{t_kt_n}^{t_{kn+1}} f(\taut, y(\taut)) \,\mathrm{d}\taut. </math>
Now approximate the integral on the right by the right-hand [[rectangle method]] (with one rectangle):
: <math> y(t_{kn+1}) - y(t_kt_n) \approx h f(t_{kn+1}, y(t_{kn+1})) \,\mathrm{d}\tau. </math>
Finally, use that <math> y_ky_n </math> is supposed to approximate <math> y(t_kt_n) </math> and the formula for the backward Euler method follows.<ref>{{harvnb|Butcher|2003|p=57}}</ref>
 
The same reasoning leads to the (standard) Euler method if the left-hand rectangle rule is used instead of the right-hand one.
Line 29 ⟶ 32:
 
[[File:Stability region for BDF1.svg|thumb|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> O(h^2) </math>, using the [[big O notation]]. The error at a specific time <math> t </math> is <math> O(h^2) </math>. It means that this method has '''order one'''. In general, a method with <math> O(h^{k+1}) </math> LTE (local truncation error) is said to be of ''k''th order.
The backward Euler method has order one. It is [[A-stability|A-stable]] and even [[L-stability|L-stable]], making it suitable for the solution of [[stiff equation]]s.
 
The [[Stiff_equation#Runge%E2%80%93Kutta_methods|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.<ref>{{harvnb|Butcher|2003|p=70}}</ref> This includes the whole left half of the complex plane, making it suitable for the solution of [[stiff equation]]s.<ref>{{harvnb|Butcher|2003|p=71}}</ref> In fact, the backward Euler method is even [[L-stability|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.<ref>Wai-Kai Chen, Ed., Analog and VLSI Circuits The Circuits and Filters Handbook, 3rd ed. Chicago, USA: CRC Press, 2009.</ref>
 
== Extensions and modifications ==
Line 44 ⟶ 51:
</math>
 
The backward Euler method can also be seen as a [[linear multistep method]] with one step. It is the first method of the family of [[Adams–Moulton method]]s, and also of the family of [[backward differentiation formula]]s.
 
==See also==
*[[Crank–Nicolson method]]
 
== Notes ==