Step size control

from Wikipedia, the free encyclopedia

Step size control is a technique that can be used in numerical mathematics for algorithms that solve a continuous problem by discretizing it into individual steps.

Different classes of problems lead to the task of constructing a curve for a certain interval in . This includes the solution of an initial value problem for ordinary differential equations and the tracing of a solution curve for nonlinear systems of equations with the homotopy method . In numerical mathematics, such problems are often solved with methods that only compute the solution step by step at individual points , i.e. approximations , where the initial value is known. The step sizes used are called . Typically, the computational effort for a single step is essentially constant and the error depends on a power of the step size, it has the form . You are then faced with the question of how large the step sizes are to be selected in order to achieve the desired accuracy overall. It should be noted that the pre- factors depend on the unknown solution curve, in particular on its derivatives ; the order of magnitude of these pre-factors can therefore fluctuate greatly. This is why modern algorithms do not use a constant step size . The most important arguments for step size control are

  • For reasons of efficiency, it makes sense to work with large increments for small values and with small ones for large values in order to achieve a consistently small overall error with as few steps as possible.
  • a fixed step size would have to be based on the worst place with the largest and one would take far too many steps in less critical areas, which can also lead to large rounding errors in the solution in the case of initial value problems.
  • Step size control enables the programming of automatic, self-regulating algorithms.

Step size control for initial value problems

The prerequisite for step size control in the case of normal initial value problems is the existence of an error estimate for the local error. Such estimates can generally be obtained by Richardson extrapolation , by performing a step with the (test) step sizes and and comparing the two approximations. Embedded processes or pairs of processes require less effort in the Runge-Kutta process, with two approximations and different levels of accuracy being calculated on the basis of a calculated approximation in the next step . In the case of multi-step methods , the approximations of a predictor-corrector method can be used as a method pair.

With such a pair of methods, the difference is an estimate of the local error that occurs. To determine the ideal step size, consider the condition with the current step size

as an equation for the unknown factor and then determines the step size that a tolerance specified by the user would exactly adhere to, i.e. with :

However, since this value is only known after the step has been carried out, a trial-and-error procedure is used and the step size is only used in a repetition of the step if the tolerance has not been adhered to; H. when the error quotient was. Since repetitions are relatively expensive, be careful and use a smaller value, say . In addition, the step size factor is limited upwards and downwards. The control in step ab therefore has the following sequence with an initial estimate :

  1. calculate the two solutions to the step size and thus the error quotient ,
  2. calculate with it
  3. if , set , go to 1,
  4. if is, place and . The next step starts again with instruction 1.

In instruction 3, the current attempt is discarded and step ab is repeated with a smaller step size, while in point 4 the step is accepted and the next integration step can take place. An additional query ends the procedure at the end of the solution interval. However, this method only controls the local error contributions and expects that the global error at the end of the interval is roughly of the same order of magnitude.

Step size control in homotopy processes

When following the solution curves of non-linear systems of equations with the homotopy method, the accumulation of errors is irrelevant, since the Newton method can be used to approximate the curve at any time. Here it is more a matter of moving forward as quickly as possible without losing the curve or switching to a neighboring branch. To estimate the error, the speed of convergence of the Newton iteration is therefore checked.

Let it now be an approximation for , i.e. with a small residual . In simple curve tracking, homotopy methods provide a predictor that calculates a starting approximation for the unknown . With you perform two Newton steps, which calculate improved approximations . The rapid convergence of Newton's method is given by the quotient

of the differences checked. With a small reference value , a simple step size control is as follows:

  1. calculate to step size
  2. for set and go to instruction 1.
  3. for accept , set , start next step with instruction 1.

If the reference value is significantly lower , e.g. B. for , in step 3 before jumping to instruction 1, the step size prediction for can also be increased again by .

literature

  • Ernst Hairer, Gerhard Wanner: Solving Ordinary Differential Equations 1. Nonstiff Problems ISBN 3-540-56670-8
  • K. Strehmel, R. Weiner, H. Podhaisky: Numerics of ordinary differential equations - non -rigid, rigid and differential-algebraic equations . Springer Spectrum, 2012.
  • EL Allgower, K. Georg: Introduction to numerical continuation methods. SIAM Philadelphia, 2003, ISBN 0-89871-544-X .
  • Schwetlick, H. and Kretschmar, H .: Numerical methods for natural scientists and engineers . Fachbuchverlag Leipzig, 1991, ISBN 3-343-00580-0 , p. 200 .