8.8
Section |
2 Background .1
Cosmology .11 Math |
Section 8.10 |

Section 9 **Adams' Method**

For the **initial condition ****y****(****x**_{0}**)
= ****y**_{0}, let there have been obtained for the
differential equation

(9.1)

three consecutive values of *y *for the initial steps by one of the preceding methods:

Use these values to compute the quantities:

The next table has these quantities and their differences above the stepped line.

**Adams' method** ([2],
[13], [20]) involves expansion of the above difference table with the aid of his **extrapolation
formula**

(9.2)

which is used for the **prediction**
of the value of Denote the **predicted**
value by y^{pred}_{k+1}. The value of the differences of* *the* y*_{k} ,
obtained from (10.2), has to be specified. For this purpose, values of *x*_{k+1}, *y*_{k+1},
*y'*_{k+1}*, q*_{k+1} have to be entered in the table, the **difference
table** supplemented, and then the computation checked by mean of **Adams'
interpolation formula**

(9.3)

Let y^{corr}_{k+1} denote the value given by (9.3). Equations (9.2) and (9.3) are of *O*(*h*^{4})
and the formulae for an error estimation are rather complicated. For practical purposes, one takes the following into
consideration. The error of the more accurate correction formula (9.3) constitutes about 1/14 of the difference between the values
obtained from (9.2) and (9.3), whence, if this difference does not exceed greatly the required accuracy, the choice of *h*
is considered to be adequate and the computation is continued with the old step length. However, if at some stage of a computation
this difference increases substantially and the calculations themselves are correct, then *h* is decreased, usually to half
its value.

**Use of the above table**

1. Write down the numbers *x*_{k}, *y*_{k}, *y'*_{k}
and *q*_{k} , (*k* = 0, 1, 2, 3) and compute the differences

2. Using the numbers

,

placed diagonally in the table, determine *D**y*_{3},
using (9.2).

3. Compute *x*_{4} =* x*_{3} + *h, y*_{4} =* y*_{3}
+ D*y*_{3}.

4. Enter the values *x*_{4}, *y*_{4}, find *y'*_{4} = *f*(*x*_{4},*y*_{4}),
*q*_{4} = *hy'*_{4} and append the difference table with the values of D*q*_{3},
D^{2}*q*_{2}, D^{2}*q*_{1}.

5. Using these values of D*q*, specify D*y*_{3}
for *k*=3 from (9.3) .

6. If the corrected value of D*y*_{3}
differs from its predicted value by several units of the lower retained order, then introduce the corresponding corrections of the
values of D*y*_{3} and *y*_{4}, check
whether the correction affects considerably the value of *q*_{4}, and continue the computation with the old spacing
or apply a smaller value of *h*. etc.

When carrying out computational work on a **compute**r,
it is more convenient to use **transformed**
**Adams' formulae**, which do not express *y*_{k+1}
in terms of the difference D*q*, but directly in terms of *q*.
Thus, the Adams formulae become

(9.4)

and

(9.5)

for **extrapolation and interpolation**,
respectively.

Obviously, Adams method can also be applied to systems of equations and higher order equations. Let there be given the system of two equations

(9.6)

**Adams' extrapolation formulae**
for this system are

(9.7)

where

Adams' interpolation formulae are written in the same manner.

**Example l:** Find by Adams' method on the interval [0, 0.5]
the solution of the differential equation

(9.8)

for the initial condition *y*(0) = 0, using *h* = 0.05.

**Solution:** Example
2 of Section VIII computed this solution by the **Runge-Kutta
method** for *x*_{l} =0.05, *x*_{2} = 0.10. In the same manner, the
value of the required function can be obtained for *x*_{3} = 0.15. Take advantage of these results and continue the
computations by (9.2), entering the results obtained into the next two tables, the first of which is the basic difference table,
the second an auxiliary table for the computation of the right hand term of (9. 8).

**Solving (9.8) by Adams' Method**

**Computing the right-hand term of (9.8)**

**Explanation of the tables:**

1. Enter in the first table the values *x*_{0} = 0, *x*_{1} = 0.05, *x*_{2}
= 0.10,*x*_{3} = 0.15 and the corresponding values of *y*_{k}, k = 0, 1, 2, 3, find f (*x*_{k},*y*_{k}),
*q*_{k}, and form a difference table.

2. By (9.2), for *k*=3,

3. Compute *y*_{4 }= 0.007838 + 0.006318 = 0.014156.

4. Enter the values for *x*_{4}, *y*_{4} into the second Table to find

*y'*_{4} = *f*(*x*_{4}, *y*_{4}) =(2/3)sinh (0.5 ? 0.014156 + 0.2) +
0.5?0.014156 = 0.14612,

whence *q*_{4} = *hy'*_{4} = 0.007306.

5. Compute the corrected term from (9.3):

D *y*_{3} = 0.005347 + 0.001959/2 - 0.000094/12 -
0.000009/24=0.005318. Since the corrected value of D *y*_{3}
coincides with the predicted value, continue with *h* as is.

6. By (9.2), one finds for *k *= 4 D *y*_{4} =
0.007306 + 0.001959/2 + 0.000094/12 + 3?0.0000009/8 = 0.008329, etc.

* Note.* As in Example
2 of Chapter VIII, the computations might have been done with a larger value of

**Example 2:** Use Adams' method to find on the interval [0,
0.5] the solution of the equation

(9.9)

for the the initial condition *y*(0) = -1 with an accuracy of 10^{-5}.

**Solution:** In Example
1 of Section VIII, the values of the required function have been computed by the **Runge-Kutta
method** with h =0.1 for *x*_{1} = 0.1, *x*_{2} ,= 0.2, *x*_{3}
= 0.3. Further computations will be carried out on a computer, using (9.4) with corrections according to (9.5), the results being
entered in the next two tables. The first contains the computations according to (9.4) and corrected by (9.5), the second the
results of the computation of the right-hand term.

**Solving (9.9) by Adams' Method**

In this table:

**Computing the right-hand term of (9.9)**

**Filling in the tables:**

1. Enter in the last table *x*_{0} = 0, *x*_{1} = 0.1, *x*_{2}
= 0.2, *x*_{3} = 0.3 and compute the corresponding values of *y*_{k} and *y'*_{k} = *f*(*x*_{k}*,
y*_{k}). *k *= 0, 1, 2, 3

2. Enter

into the last but one table and find from (9.4) for *k*=4

3. Enter *x*_{4}, *y*_{4} into that table and compute *y'*_{4}
= *f* (*x*_{4}, *y*_{4}) = 0.35745.

4. Enter for *k*=3 into the last but one table

and compute *y*_{4} from (9.5)

5. Since the predicted and corrected values differ only 10^{-5}, correct the value of *y*_{4}
in both tables

6. Make sure in the last table that the corrected value of y_{4} does not change y'_{4}.etc.

**Example 3:** Given the system of equations

(9.10)

with the initial conditions ,
find by **Adams' Method** the solutions on the interval
[0,0.6], using h=0.1 and the known values *y*(0.1) = 3.14184, *y*(0.2 = 3.14364, *y*(0.3) = 3.14903, *z(*0.1)
= 0.10981, *z*(0.2) = 0.22960, *z*(0.3) = 0.35934.

**Solution:** Find the values of *y*(*x*)
and *z*(*x*) for *x*_{4} = 0.4, *x*_{5} = 0.5, *x*_{6} = 0.6 by means
of (9.7), noting that

The next two tables present the computations by Adams' method and the evaluation of the right hand terms

**Evaluation of the right-hand terms of (9.10)**

**Filling in the tables**

1. Enter *x*_{k} = *kh*, *y*_{k}, *z*_{k}
, *k* = 0, 1, 2, 3

2. Compute *y'*_{k} , *z'*_{k} .

3. Enter *p*_{k} = *hy'*_{k}, *q*_{k} = *hz'*_{k
}into the first table and form the differences

4. Using these differences, (9.7) yields for *k* = 3

5. Obtain

into both tables and compute *y'*_{5} = *f*_{1}(*x*_{k},*y*_{k},*z*_{k})
and* z'*_{5} = *f*_{2}(*x*_{k},*y*_{k},*z*_{k}).

6. Enter *p*_{5} and *q*_{5} into the first table, fill in the
difference table, and continue using (9.7) for *k* = 4.

Since the corrected values of the differences coincide with the predicted ones within the accuracy
limit, application of the correction formulae is not required. For instance, for *k* = 4, one finds

**Exercises**

1. Use Adams' method to find with an accuracy of 10^{-2} the numerical solutions of the
following differential equations and systems of equations for the given values of the argument. Find the **initial
interval** by the **Runge-Kutta method**.

2. Use Adams' method to solve numerically the following differential equations on the interval [*a,
b*] accurate to 10^{-4}. Find the **initial interval**
by the **Runge-Kutta method.**

Using Adams method, expand by two lines the table of numerical solutions of the following equations
with the initial

conditions *x*(0) = 0 and step length *h* = 0.1. Find the **initial
interval** by the Runge-Kutta method (cf. . VIII,
Exercises 2 to 8).

Using the Adams method, expand by two lines the table of numerical solutions of the following systems of
differential equations for the initial conditions specified. Use *h* = 0.1. Find the initial interval by means of the
Runge-Kutta Method (cf. Exercises VIII, Problems
9 to 13).

15. Use Adams' Method to find the numerical solutions of the following differential equations for
x==0.2. Use the values of ' the "initial interval" obtained in Exercise
14 of Chapter II