Predictor–corrector method: Difference between revisions

Content deleted Content added
Rubinbot (talk | contribs)
m r2.5.4) (Robot: Adding nl:Predictor-correctormethode
Adding short description: "Algorithms in numerical analysis"
 
(21 intermediate revisions by 13 users not shown)
Line 1:
{{Short description|Algorithms in numerical analysis}}
In [[mathematics]], particularly [[numerical analysis]], a '''predictor–corrector method''' is an [[algorithm]] that proceeds in two steps. First, the prediction step calculates a rough approximation of the desired quantity. Second, the corrector step refines the initial approximation using another means.
In [[numerical analysis]], '''predictor–corrector methods''' belong to a class of [[algorithm]]s designed to integrate ordinary differential equations{{snd}}to find an unknown function that satisfies a given differential equation. All such algorithms proceed in two steps:
__TOC__
 
# The initial, "prediction" step, starts from a function fitted to the function-values and derivative-values at a preceding set of points to extrapolate ("anticipate") this function's value at a subsequent, new point.
# The next, "corrector" step refines the initial approximation by using the ''predicted'' value of the function and ''another method'' to interpolate that unknown function's value at the '''same''' subsequent point.
 
== Predictor–corrector methods for solving ODEs ==
 
When considering the [[numerical methods for ordinary differential equations|numerical solution of ordinary differential equations (ODEs)]], a predictor­­–correctorpredictor–corrector method typically uses an [[explicit and implicit methods|explicit method]] for the predictor step and an implicit method for the corrector step.
 
=== Example: Euler method with the trapezoidal rule ===
 
A simple predictor–corrector method (known as [[Heun's method]]) can be constructed from the [[Euler method]] (an explicit method) and the [[trapezoidal rule (differential equations)|trapezoidal rule]] (an implicit method).
 
Consider the differential equation
Line 13 ⟶ 17:
: <math> y' = f(t,y), \quad y(t_0) = y_0, </math>
 
and denote the step size by <math>h</math>.
 
First, the predictor step: starting from the current value <math>y_i</math>, calculate an initial guess value <math>\tilde{y}_{i+1}</math> via the Euler method,
Line 19 ⟶ 23:
: <math>\tilde{y}_{i+1} = y_i + h f(t_i,y_i). </math>
 
Next, the corrector step: improve the initial guess using trapezoidal rule,
 
: <math> y_{i+1} = y_i + \tfrac12 h \bigl( f(t_i, y_i) + f(t_{i+1},\tilde{y}_{i+1}) \bigr). </math>
Line 27 ⟶ 31:
=== PEC mode and PECE mode ===
 
There are different variants of a predictor­–correctorpredictor–corrector method, depending on how often the corrector method is applied. The Predict–Evaluate–Correct–Evaluate (PECE) mode refers to the variant in the above example:
 
: <math> \begin{align}
Line 45 ⟶ 49:
: <math> \begin{align}
\tilde{y}_{i+1} &= y_i + h f(t_i,y_i), \\
\hat{y}_{i+1} &= y_i + \tfrac12 h \bigl( f(t_i, y_i) + f(t_{i+1},\tilde{y}_{i+1}) \bigr)., \\
y_{i+1} &= y_i + \tfrac12 h \bigl( f(t_i, y_i) + f(t_{i+1},\hat{y}_{i+1}) \bigr).
\end{align} </math>
 
The PECEC mode has one fewer function evaluation. than PECECE mode.

More generally, if the corrector is run ''k'' times, the method is in P(EC)<sup>''k''</sup>
or P(EC)<sup>''k''</sup>E mode. If the corrector method is iterated until it converges, this could be called PE(CE)<sup>∞</sup>. <ref>{{harvnb|Butcher|2003|p=104}}</ref>
 
== See also ==
Line 69 ⟶ 75:
== External links ==
 
* {{MathWorld |title=Predictor-Corrector Methods |urlname=Predictor–Corrector MethodsPredictor-CorrectorMethods}}
* [https://web.archive.org/web/20080617035745/http://www.fisica.uniud.it/~ercolessi/md/md/node22.html Predictor–corrector methods] for differential equations
 
{{Numerical integrators}}
 
{{DEFAULTSORT:Predictor-corrector method}}
[[Category:Algorithms]]
[[Category:Numerical analysis]]
 
[[nl:Predictor-correctormethode]]
[[ru:Схема предиктор-корректор]]