I would like to know about really high order methods for solving ODEs. Say of order 30 and higher. What are they? Any surveys/reviews?
High order methods for solving ODEs
-
0In any event, this is a bit too wide. Where did you hear about these, first of all? – 2011-12-04
2 Answers
As far as I know, methods of such high order are not used in practice. The choice of which integrator to use depends on the accuracy you want to achieve. Generally, the situation is something like the following: a second-order integrator is most efficient if you're happy with one or two digits of accuracy, a fourth-order integrator is most efficient for getting three to five digits of accuracy, a sixth-order integrator is best for getting around eight digits and a eighth-order integrator is optimal for twelve digits of accuracy. At that point, floating-point errors start to come into play and you get near the maximal accuracy you can achieve (in the standard setting). The cross-over points depends of course on the particular system you want to solve and the length of the integration interval. Also, numerical integrators have a lot of other properties that play a role (like stability), which I am ignoring in this rough explanation. But this indicates that it is rather unlikely that there are many reviews on this topic.
The group of Jacques Laskar in France, who study the stability of the solar system over long periods, use high-order integrators in their research. But I seem to remember that the highest order they use is 16, which is still some way from the 30 you are talking about. Unfortunately I don't have a good reference at hand.
Of course you can still ask about how to construct methods theoretically. There are families of implicit Runge-Kutta methods that work to arbitrarily high order, like the Gauss-Legendre methods. More practical are probably extrapolation methods based on Richardson extrapolation. A very good one is the Stoer-Bulirsch method, which is explained in many books on numerical analysis. As I said, it will not usually be used to achieve orders like 30, but I think it should work fine. I'd expect extrapolation methods to be much cheaper than Taylor methods (except perhaps for scalar equations), because the number of Taylor coefficients and the work to compute each grows exponentially with the order.
-
0Yeah, $G$ragg-Bulirsch-Stoer first came to mind when the question mentioned "high-order", but the routines I've seen often use 15 as a hard limit; certainly a far cry from what OP was talking about. There are also the variable-step/variable-order multistep methods based on Adams and $G$ear, but I don't think they go as high as 30 either. – 2011-12-04
You can use a Taylor series method of arbitrarily high order. In Maple, dsolve(..., numeric, method=taylorseries). See http://www.maplesoft.com/support/help/Maple/view.aspx?path=dsolve/taylorseries&term=dsolve,numeric,taylorseries
-
0Basically yes, but (as implied by the existence of the minstep and abserr options) there's also error estimation and adaptive stepsize control. Note that at the end of the help page I mentioned there's a reference which is probably worth looking at (I have not done so). – 2011-12-04