The Adams-Moulton formula of order **p** is more accurate than the
Adams-Bashforth formula of the same order, so that it can use a larger step
size; the Adams-Moulton formula is also more stable. A modern code based on
such methods is more complex than a Runge-Kutta code because it must
cope with the difficulties of starting the integration and changing the
step size. With enough ``memorized'' values, however, we can use whatever
order formula we wish in the step from . Modern Adams codes attempt
to select the most efficient formula at each step as well as to choose
an optimal step size **h** to achieve a user-specified accuracy.

Figure 7:

Some general rules-of-thumb about how to choose between Runge-Kutta methods and Adams methods for solving nonstiff problems are given below:

- Generally, Adams methods are superior if output at many points is needed.
- If function evaluations are
**expensive**, Adams methods are preferred. - If function evaluations are
**inexpensive**and moderate accuracy is required, Runge-Kutta methods are generally best. - If storage is at a premium, Runge-Kutta methods win.
- If accuracy over a wide range of tolerances is needed, the variable order Adams methods will outperform the fixed order Runge-Kutta methods.

An excellent discussion of Adams methods as well as a widely used suite of codes is given by Shampine and Gordon in [4]. Gear's test [5] presents a variety of methods, and is a primary source about the solution of stiff problems to be discussed in the next section.