Next: 2.3.2 Stiff Problems: Backward Up: 2.3 Multi-Step Methods Previous: 2.3 Multi-Step Methods

### 2.3.1 The Adams-Bashforth and Adams-Moulton Formulas

On reaching a mesh point with approximate solution , there are (usually) available approximate solutions for . From the differential equation itself, approximations to the derivatives can be obtained from

This information can be exploited for solution values prior to the current point by using the integrated form of the differential equation:

The Adams Bashforth formula of order is obtained by integrating the polynomial that interpolates at for , in place of :

Formula (42) involves only one evaluation of per step. An attractive feature of the approach is the underlying polynomial approximation to because it can be used to approximate between mesh points:

The lowest order Adams-Bashforth formula arises from interpolating the single value by . The interpolating polynomial is constant so its integration from to results in and the first order Adams-Bashforth formula (AB1):

This is just the familiar forward Euler formula. For constant step size , the second order Adams-Bashforth formula (AB2) is also easily found to be

The implicit Adams-Moulton formulas arises when the polynomial interpolates for :

When , the right hand side contains the term , and we see that is defined only implicitly by this formula. The solution is accomplished by first ``predicting'' the result using the explicit Adams-Bashforth formula (42), and then ``correcting'' it using the implicit formula (46); we then proceed by ``simple'' or ``functional'' iteration. If is a bound on and the step size is small enough so that for some constant ,

then (46) has a unique solution and the error is decreased by a factor of at each iteration. For ``small'' step sizes , the iteration converges very quickly.

Note that for a formula of order , both the Adams-Bashforth and Adams-Moulton formulas interpolate the function on -points. The -points overlap and are illustrated graphically below in Figure 7.

The lowest order Adams-Moulton formula involves interpolating the single value and an easy calculation leads to the formula

which defines implicitly. The resulting formula is called the backward Euler formula. From its definition it is clear that it has the same accuracy as the forward Euler method; its advantage is vastly superior stability. The second order Adams-Moulton method also does not use previously computed solution values; it is called the trapezoidal rule because it generalizes the trapezoidal rule for integrals to differential equations:

The third order formula is more typical because it does involve a previously computed value. When the step size is a constant , it is

The Adams-Moulton formula of order 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 to achieve a user-specified accuracy.

Figure 7. -points at which order Adams-Bashforth and Adams-Moulton formulas interpolate f. View Figure

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.
Recent developments in Runge-Kutta methods have shifted these boundaries somewhat; RKSUITE, for example, has an interpolation capability that makes it more efficient than the previous generation of Runge-Kutta codes and the (7,8) solution pair is very efficient at stringent error tolerances.

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.

Next: 2.3.2 Stiff Problems: Backward Up: 2.3 Multi-Step Methods Previous: 2.3 Multi-Step Methods

verena@csep1.phy.ornl.gov
{"found_math": false, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "url": "https://www.phy.ornl.gov/csep/ode/node12.html", "fetch_time": 1568747589000000000, "content_mime_type": "text/html", "warc_filename": "crawl-data/CC-MAIN-2019-39/segments/1568514573105.1/warc/CC-MAIN-20190917181046-20190917203046-00013.warc.gz", "warc_record_offset": 928513209, "warc_record_length": 3626, "token_count": 1003, "char_count": 4761, "score": 3.734375, "int_score": 4, "crawl": "CC-MAIN-2019-39", "snapshot_type": "longest", "language": "en", "language_score": 0.8766241073608398, "file_path": "/sailhome/yjruan/project/latent-lm/data/processed/finemath-4plus/finemath-4plus/train-00057-of-00064.parquet"}