# Error control and sequence acceleration at the same time

In a posteriori error control for solving ODEs, one typically computes two different approximate solutions, one of which being "more accurate" and one of which being "less accurate". If $y_q^{n+1}$ is the more accurate approximation to the solution at the next time step $y^{n+1}$, and $y_p^{n+1}$ is the less accurate approximation, one can estimate the error for the less accurate approximation, e.g., $$\text{error}(y_p^{n+1}) \approx y_q^{n+1} - y_p^{n+1}.$$

This error estimate can then be used to determine if, for example, the time-step size should change according to some prescribed accuracy requirements by the user.

Q: Could one use "sequence acceleration" techniques and "error control" at the same time using just $y_q^{n+1}$ and $y_p^{n+1}$? Or would this be "having my cake and eating it"?

Some cases I had in mind:

• $y_q^{n+1}$ could come from a formally higher-order approximation and $y_p^{n+1}$ from a lower-order approximation as in embedded Runge-Kutta schemes.
• $y_q^{n+1}$ could come using a small time-step size when compared to $y_p^{n+1}$. Should I do "Richardson Extrapolation" in this case?
• $y_q^{n+1}$ and $y_p^{n+1}$ could be "Milne pairs" which have the same order of accuracy, but provide a "Milne error estimate" of the form $\text{error}(y_p^{n_1}) \approx C (y_q^{n+1} - y_p^{n+1})$ where $C$ is known. Should I take some combination of $y_q^{n+1}$ and $y_p^{n+1}$ to obtain a higher-order estimate?
• $y_q^{n+1}$ could come from an implicit "corrector" step (perhaps of higher-order) and $y_p^{n+1}$ could come from an explicit "predictor" step in a predictor-corrector scheme.

Q: In all these cases, what would be a smart choice for $y^{n+1}$? Should I set $y^{n+1} := y_p^{n+1} + \text{error}(y_p^{n+1})$? Should I set $y^{n+1}:= y_q^{n+1}$?. Should I do something else entirely?

I have also seen that one can choose $y_q^{n+1}$ and $y_p^{n+1}$ to have the same leading error terms but with opposite signs, so that their average is higher order. I am not sure how applicable this technique is in general.

EDIT:

What I mean by "sequence acceleration" is: obtaining local solutions (at the next time step) $y^{n+1}$ which are more accurate than the solution $y^{n+1}_p$ for which we have an error estimate of.

What you're talking about is local extrapolation. Local extrapolation is the idea of getting an error estimate between two methods and then continuing (accepting the new value) from the higher order method. Dormand-Prince is an influential paper which created a locally extrapolating 5th order method where the 5th order method minimizes its truncation error coefficients (A family of embedded Runge-Kutta methods). This Dormand-Prince method was found to be modestly more efficient (for free) than the original adaptive Fehlberg algorithm which uses a 4/5 pair but optimizes the coefficients on the 4th order method and then uses that to advance. This then became the dopri5 method of Hairer, and it went on to be the standard method in most places for a long time (for example, it's ode45).
• I believe the paper by Shampine, which I cannot access at this moment, gives some rule of thumb for when one should perform local extrapolation. If I remember correctly, it involved some coefficient $\alpha \approx 1/15$. Is this "usually" still considered? Also, I believe the type of local extrapolation he considered added the estimated error to the lower-order solution, rather than continuing from the higher order method. Why do this instead of just continuing from the higher-order solution? – amarney Jul 1 '18 at 21:40