Truncation error (numerical integration)
Truncation errors in numerical integration are of two kinds:
- local truncation errors – the error caused by one iteration, and
- global truncation errors – the cumulative error caused by many iterations.
Definitions
Suppose we have a continuous differential equation
- [math]\displaystyle{ y' = f(t,y), \qquad y(t_0) = y_0, \qquad t \geq t_0 }[/math]
and we wish to compute an approximation [math]\displaystyle{ y_n }[/math] of the true solution [math]\displaystyle{ y(t_n) }[/math] at discrete time steps [math]\displaystyle{ t_1,t_2,\ldots,t_N }[/math]. For simplicity, assume the time steps are equally spaced:
- [math]\displaystyle{ h = t_n - t_{n-1}, \qquad n=1,2,\ldots,N. }[/math]
Suppose we compute the sequence [math]\displaystyle{ y_n }[/math] with a one-step method of the form
- [math]\displaystyle{ y_n = y_{n-1} + h A(t_{n-1}, y_{n-1}, h, f). }[/math]
The function [math]\displaystyle{ A }[/math] is called the increment function, and can be interpreted as an estimate of the slope [math]\displaystyle{ \frac{y(t_n)-y(t_{n-1})}{h} }[/math].
Local truncation error
The local truncation error [math]\displaystyle{ \tau_n }[/math] is the error that our increment function, [math]\displaystyle{ A }[/math], causes during a single iteration, assuming perfect knowledge of the true solution at the previous iteration.
More formally, the local truncation error, [math]\displaystyle{ \tau_n }[/math], at step [math]\displaystyle{ n }[/math] is computed from the difference between the left- and the right-hand side of the equation for the increment [math]\displaystyle{ y_n \approx y_{n-1} + h A(t_{n-1}, y_{n-1}, h, f) }[/math]:
The numerical method is consistent if the local truncation error is [math]\displaystyle{ o(h) }[/math] (this means that for every [math]\displaystyle{ \varepsilon \gt 0 }[/math] there exists an [math]\displaystyle{ H }[/math] such that [math]\displaystyle{ |\tau_n| \lt \varepsilon h }[/math] for all [math]\displaystyle{ h \lt H }[/math]; see little-o notation). If the increment function [math]\displaystyle{ A }[/math] is continuous, then the method is consistent if, and only if, [math]\displaystyle{ A(t,y,0,f) = f(t,y) }[/math].[3]
Furthermore, we say that the numerical method has order [math]\displaystyle{ p }[/math] if for any sufficiently smooth solution of the initial value problem, the local truncation error is [math]\displaystyle{ O(h^{p+1}) }[/math] (meaning that there exist constants [math]\displaystyle{ C }[/math] and [math]\displaystyle{ H }[/math] such that [math]\displaystyle{ |\tau_n| \lt Ch^{p+1} }[/math] for all [math]\displaystyle{ h \lt H }[/math]).[4]
Global truncation error
The global truncation error is the accumulation of the local truncation error over all of the iterations, assuming perfect knowledge of the true solution at the initial time step.[citation needed]
More formally, the global truncation error, [math]\displaystyle{ e_n }[/math], at time [math]\displaystyle{ t_n }[/math] is defined by:
- [math]\displaystyle{ \begin{align} e_n &= y(t_n) - y_n \\ &= y(t_n) - \Big( y_0 + h A(t_0,y_0,h,f) + h A(t_1,y_1,h,f) + \cdots + h A(t_{n-1},y_{n-1},h,f) \Big). \end{align} }[/math][5]
The numerical method is convergent if global truncation error goes to zero as the step size goes to zero; in other words, the numerical solution converges to the exact solution: [math]\displaystyle{ \lim_{h\to0} \max_n |e_n| = 0 }[/math].[6]
Relationship between local and global truncation errors
Sometimes it is possible to calculate an upper bound on the global truncation error, if we already know the local truncation error. This requires our increment function be sufficiently well-behaved.
The global truncation error satisfies the recurrence relation:
- [math]\displaystyle{ e_{n+1} = e_n + h \Big( A(t_n, y(t_n), h, f) - A(t_n, y_n, h, f) \Big) + \tau_{n+1}. }[/math]
This follows immediately from the definitions. Now assume that the increment function is Lipschitz continuous in the second argument, that is, there exists a constant [math]\displaystyle{ L }[/math] such that for all [math]\displaystyle{ t }[/math] and [math]\displaystyle{ y_1 }[/math] and [math]\displaystyle{ y_2 }[/math], we have:
- [math]\displaystyle{ | A(t,y_1,h,f) - A(t,y_2,h,f) | \le L |y_1-y_2|. }[/math]
Then the global error satisfies the bound
- [math]\displaystyle{ | e_n | \le \frac{\max_j \tau_j}{hL} \left( \mathrm{e}^{L(t_n-t_0)} - 1 \right). }[/math][7]
It follows from the above bound for the global error that if the function [math]\displaystyle{ f }[/math] in the differential equation is continuous in the first argument and Lipschitz continuous in the second argument (the condition from the Picard–Lindelöf theorem), and the increment function [math]\displaystyle{ A }[/math] is continuous in all arguments and Lipschitz continuous in the second argument, then the global error tends to zero as the step size [math]\displaystyle{ h }[/math] approaches zero (in other words, the numerical method converges to the exact solution).[8]
Extension to linear multistep methods
Now consider a linear multistep method, given by the formula
- [math]\displaystyle{ \begin{align} & y_{n+s} + a_{s-1} y_{n+s-1} + a_{s-2} y_{n+s-2} + \cdots + a_0 y_n \\ & \qquad {} = h \bigl( b_s f(t_{n+s},y_{n+s}) + b_{s-1} f(t_{n+s-1},y_{n+s-1}) + \cdots + b_0 f(t_n,y_n) \bigr), \end{align} }[/math]
Thus, the next value for the numerical solution is computed according to
- [math]\displaystyle{ y_{n+s} = - \sum_{k=0}^{s-1} a_{k} y_{n+k} + h \sum_{k=0}^s b_k f(t_{n+k}, y_{n+k}). }[/math]
The next iterate of a linear multistep method depends on the previous s iterates. Thus, in the definition for the local truncation error, it is now assumed that the previous s iterates all correspond to the exact solution:
- [math]\displaystyle{ \tau_n = y(t_{n+s}) + \sum_{k=0}^{s-1} a_{k} y(t_{n+k}) - h \sum_{k=0}^s b_k f(t_{n+k}, y(t_{n+k})). }[/math][9]
Again, the method is consistent if [math]\displaystyle{ \tau_n = o(h) }[/math] and it has order p if [math]\displaystyle{ \tau_n = O(h^{p+1}) }[/math]. The definition of the global truncation error is also unchanged.
The relation between local and global truncation errors is slightly different from in the simpler setting of one-step methods. For linear multistep methods, an additional concept called zero-stability is needed to explain the relation between local and global truncation errors. Linear multistep methods that satisfy the condition of zero-stability have the same relation between local and global errors as one-step methods. In other words, if a linear multistep method is zero-stable and consistent, then it converges. And if a linear multistep method is zero-stable and has local error [math]\displaystyle{ \tau_n = O(h^{p+1}) }[/math], then its global error satisfies [math]\displaystyle{ e_n = O(h^p) }[/math].[10]
See also
- Order of accuracy
- Numerical integration
- Numerical ordinary differential equations
- Truncation error
Notes
- ↑ Gupta, G. K.; Sacks-Davis, R.; Tischer, P. E. (March 1985). "A review of recent developments in solving ODEs". Computing Surveys 17 (1): 5–47. doi:10.1145/4078.4079.
- ↑ Süli & Mayers 2003, p. 317, calls [math]\displaystyle{ \tau_n/h }[/math] the truncation error.
- ↑ Süli & Mayers 2003, pp. 321 & 322
- ↑ Iserles 1996, p. 8; Süli & Mayers 2003, p. 323
- ↑ Süli & Mayers 2003, p. 317
- ↑ Iserles 1996, p. 5
- ↑ Süli & Mayers 2003, p. 318
- ↑ Süli & Mayers 2003, p. 322
- ↑ Süli & Mayers 2003, p. 337, uses a different definition, dividing this by essentially by h
- ↑ Süli & Mayers 2003, p. 340
References
- Iserles, Arieh (1996), A First Course in the Numerical Analysis of Differential Equations, Cambridge University Press, ISBN 978-0-521-55655-2.
- Süli, Endre; Mayers, David (2003), An Introduction to Numerical Analysis, Cambridge University Press, ISBN 0521007941.
External links
- Notes on truncation errors and Runge-Kutta methods[|permanent dead link|dead link}}]
- Truncation error of Euler's method[|permanent dead link|dead link}}]
Original source: https://en.wikipedia.org/wiki/Truncation error (numerical integration).
Read more |