# What is the case of trade-off in different Runge Kutta methods

There are so many Runge Kutta methods, including

• Dormand-Prince 45
• Cash-Karp 54
• Fehlberge 78

Is there any comparison between them?

What is each approach sacrificing?

What is the general trade-off in different RK methods?

Which approach is suitable for what model?

How does Cash Karp Method perform when we have nonsmooth solution ?

How does Dormand Prince Method when we have nonsmooth solution?

There are so many Runge Kutta methods, including

• Dormand-Prince 45
• Cash-Karp 54
• Fehlberge (sic) 78

Is there any comparison between them?

Well, sure. Here are some traits to compare:

• Is the method implicit or explicit? (All of your examples are explicit RK methods.)
• What is the order of convergence? Are there any embedded error estimators? How many, and of what order(s)?
• How many stages does it have?
• How many function evaluations are required? For implicit methods, how many linear solves are involved?
• What is the stability region? Is it A-stable? L-stable?

My relatively simplistic understanding of these methods is that:

• Dormand-Prince 4(5) is a 4th-order method with a 5th-order error estimator designed to minimize the error in the 5th-order solution, which is preferable when using the 5th-order solution to continue the integration
• Fehlberg methods are supposed to minimize the error in the lower-order solution (in your case, the 7th-order solution); in general, Dormand-Prince methods of the same order should perform better
• I've heard of the Cash-Karp discretization, but I haven't across a source that claims any sort of advantage or disadvantage compared with the Dormand-Prince methods

What is each approach sacrificing?

What is the general trade-off in different RK methods?

You should look at (or construct!) work-precision diagrams for the problems and integrators you're interested in investigating. Hairer and Wanner have some examples.

Which approach is suitable for what model?

Again, you should look at work-precision diagrams. To a very coarse approximation, you want explicit Runge-Kutta methods for non-stiff problems (assuming, that is, you want to use a Runge-Kutta method), and for stiff problems, you're likely to want an implicit Runge-Kutta method. Methods with a higher order of accuracy per time step are likely to perform better at stricter error tolerances than methods with a lower order of accuracy. However, the best approach is (very) problem-dependent.

• I think before looking at complete implicit Runge-Kutta methods, give the linear-implicit ones, like the Rosenbrock schemes a try, because they are easier to implement and need only one Jacobian of your ODE function. – M.K. aka Grisu Apr 17 '15 at 11:11
• @Grisu: Agreed. The question is so broad, I didn't even bother to get into DIRK, SDIRK, Rosenbrock, Rosenbrock-W, etc. – Geoff Oxberry Apr 17 '15 at 23:34
• You can check some of these properties for a lot of common methods at ketch.github.io/numipedia. Let me know if your favorite method or property is not there. – David Ketcheson Apr 19 '15 at 7:06