Truncation error (numerical integration)

From Wikipedia, the free encyclopedia
(Redirected from Local truncation error)
Jump to navigation Jump to search

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

[edit | edit source]

Suppose we have a continuous differential equation

y=f(t,y),y(t0)=y0,tt0

and we wish to compute an approximation yn of the true solution y(tn) at discrete time steps t1,t2,,tN. For simplicity, assume the time steps are equally spaced:

h=tntn1,n=1,2,,N.

Suppose we compute the sequence yn with a one-step method of the form

yn=yn1+hA(tn1,yn1,h,f).

The function A is called the increment function, and can be interpreted as an estimate of the slope y(tn)y(tn1)h.

Local truncation error

[edit | edit source]

The local truncation error τn is the error that our increment function, A, causes during a single iteration, assuming perfect knowledge of the true solution at the previous iteration.

More formally, the local truncation error, τn, at step n is computed from the difference between the left- and the right-hand side of the equation for the increment ynyn1+hA(tn1,yn1,h,f):

τn=y(tn)y(tn1)hA(tn1,y(tn1),h,f).[1][2]

The numerical method is consistent if the local truncation error is o(h) (this means that for every ε>0 there exists an H such that |τn|<εh for all h<H; see little-o notation). If the increment function A is continuous, then the method is consistent if, and only if, A(t,y,0,f)=f(t,y).[3]

Furthermore, we say that the numerical method has order p if for any sufficiently smooth solution of the initial value problem, the local truncation error is O(hp+1) (meaning that there exist constants C and H such that |τn|<Chp+1 for all h<H).[4]

Global truncation error

[edit | edit source]

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, en, at time tn is defined by:

en=y(tn)yn=y(tn)(y0+hA(t0,y0,h,f)+hA(t1,y1,h,f)++hA(tn1,yn1,h,f)).[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: limh0maxn|en|=0.[6]

Relationship between local and global truncation errors

[edit | edit source]

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:

en+1=en+h(A(tn,y(tn),h,f)A(tn,yn,h,f))+τn+1.

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 L such that for all t and y1 and y2, we have:

|A(t,y1,h,f)A(t,y2,h,f)|L|y1y2|.

Then the global error satisfies the bound

|en|maxjτjhL(eL(tnt0)1).[7]

It follows from the above bound for the global error that if the function f 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 A is continuous in all arguments and Lipschitz continuous in the second argument, then the global error tends to zero as the step size h approaches zero (in other words, the numerical method converges to the exact solution).[8]

Extension to linear multistep methods

[edit | edit source]

Now consider a linear multistep method, given by the formula

yn+s+as1yn+s1+as2yn+s2++a0yn=h(bsf(tn+s,yn+s)+bs1f(tn+s1,yn+s1)++b0f(tn,yn)),

Thus, the next value for the numerical solution is computed according to

yn+s=k=0s1akyn+k+hk=0sbkf(tn+k,yn+k).

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:

τn=y(tn+s)+k=0s1aky(tn+k)hk=0sbkf(tn+k,y(tn+k)).[9]

Again, the method is consistent if τn=o(h) and it has order p if τn=O(hp+1). 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 τn=O(hp+1), then its global error satisfies en=O(hp).[10]

See also

[edit | edit source]

Notes

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Süli & Mayers 2003, p. 317, calls τn/h the truncation error.
  3. ^ Süli & Mayers 2003, pp. 321 & 322
  4. ^ Iserles 1996, p. 8; Süli & Mayers 2003, p. 323
  5. ^ Süli & Mayers 2003, p. 317
  6. ^ Iserles 1996, p. 5
  7. ^ Süli & Mayers 2003, p. 318
  8. ^ Süli & Mayers 2003, p. 322
  9. ^ Süli & Mayers 2003, p. 337, uses a different definition, dividing this by essentially by h
  10. ^ Süli & Mayers 2003, p. 340

References

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
[edit | edit source]