Multistep Methods
Multistep Methods
6)
The methods we have been working with all use the approximate value yi solely to get the next
approximate value yi+1 . Here we want to describe some methods that incorporate some of the previous
{ }
approximate values yi−1 , yi−2 , ... too. These methods are called multistep methods. Some of them
are explicit methods and some are implicit methods.
The Adams-Bashforth Method is an explicit multistep method. The first of these methods we describe
is the called Third-Order Adams-Bashforth Method. We justify this method through the following
discussion:
Step 1. We first find the coefficients A, B, and C such that the approximating formula
∫ h
φ (x)dx ≈ Aφ (−2h) + Bφ (−h) +Cφ (0)
0
Drop a factor of h from equation (2), and drop a factor of h from equation (3), to simplify to:
1
∫
φ (x) = 1 ⇒ A + B + C = 0h (1)dx = h (1)
f(x) = x ⇒ −2A − B = 12 h (2′ )
f(x) = x2 ⇒ 4A + B = 1 h
3 (3′ )
5
2A = h ⇒ A= 5
12 h
6
−16
Putting this into (3′ ) gives us B = 12 h
C = h−A−B ⇒ C= 23
12 h
Step 2. Now let y′ = f(x, y) be the differential equation under consideration. Then
∫ xi+1
y(xi+1 ) − y(xi ) = y′ (x)dx
xi
∫ h t = x − xi
= y′ (t + xi ) dt change of variable
0 dt = dx
h[ ′ ]
≈ 5 y (−2h + xi ) − 16 y′ (−h + xi ) + 23 y′ (0 + xi )
12
h[ ′ ]
= 5 y (xi−2 ) − 16 y′ (xi−1 ) + 23 y′ (xi )
12
h[ ]
= 5 f(xi−2 , y(xi−2 )) − 16 f(xi−1 , y(xi−1 )) + 23 f(xi , y(xi ))
12
2
substitute approximate values of y for real values of y as the real values are not accessible
h[ ]
≈ 5 f(xi−2 , yi−2 ) − 16 f(xi−1 , yi−1 ) + 23 f(xi , yi )
12
such that the formula is exact for polynomials of degree less than or equal to 1, then we would
get the so-called Second-Order Adams-Bashforth Method :
[ ]
yi+1 = yi + 2 3 f(xi , yi ) − f(xi−1 , yi−1 )
h
such that the formula is exact for polynomials of degree less than or equal to 3, then we would
get the so-called Fourth-Order Adams-Bashforth Method :
[ ]
yi+1 = yi + 24 55 f(xi , yi ) − 59 f(xi−1 , yi−1 ) + 37 f(xi−2 , yi−2 ) − 9f(xi−3 , yi−3 )
h
are denoted by
fi , fi−1 , fi−2 , fi−3
3
Note. To be able to use the Fourth-Order Adams-Bashforth Method, one needs the initial
values {y1 , y2 , y3 , y4 } to start with. They can be found using the RK2, or RK4 method, or
any other single-step method.
Example. Use the Adams-Bashforth to approximate y(0.8) for the function satisfying the
following differential equation:
y′ = 1 + y2 y=0 x=0
Take h = 0.2
h[ ]
y5 = y4 + 55 f(xi , yi ) − 59 f(xi−1 , yi−1 ) + 37 f(xi−2 , yi−2 ) − 9f(xi−3 , yi−3 )
24
0.2 [ ]
= 0.6841 + 55(1 + 0.68412 ) − 59(1 + 0.42282 ) + 37(1 + 0.20272 ) − 9(1 + 02 ) = 1.0233
24
4
3 Adams-Moulton Methods (section 10.6.2)
Step 1. We first find the coefficients A, B, and C such that the approximating formula
∫ h
φ (x)dx ≈ Aφ (−h) + Bφ (0) +Cφ (h)
0
Drop a factor of h from equation (2), and drop a factor of h from equation (3), to simplify to:
∫h
φ (x) = 1 ⇒ A + B + C = 0 (1)dx = h (1)
φ (x) = x ⇒ −A + C = 12 h (2′ )
φ (x) = x2 ⇒ A + C = 31 h (3′ )
5
2C = h ⇒ C= 5
12 h
6
−1
Putting this into (3′ ) gives us A = 12 h
B = h−A−C ⇒ B= 8
12 h
5
So the approximating formula is:
∫ h
1 8 5 h[ ]
φ (x)dx ≈ − h φ (−h) + h φ (0) + h φ (h) = − φ (−h) + 8 φ (0) + 5 φ (h)
0 12 12 12 12
h[ ]
≈ − y′ (−h + xi ) + 8 y′ (xi ) + 5 y′ (h + xi )
12
h[ ]
= − y′ (xi−1 ) + 8 y′ (xi ) + 5 y′ (xi+1 )
12
h[ ]
= − f(xi−1 , y(xi−1 )) + 8 f(xi , y(xi )) + 5 f(xi+1 , y(xi+1 ))
12
h[ ]
≈ − f(xi−1 , yi−1 ) + 8 f(xi , yi ) + 5 f(xi+1 , yi+1 )
12
6
4 Predictor-Corrector Methods (section 10.7)
The Adams-Moulton methods are implicit methods and therefore can not be solved as we do
in the case of Adams-Bashforth methods. For example, for y′ = sin(x + y), the third-order
Adams-Moulton method becomes:
[ ]
yi+1 = yi + h
12 5 sin(xi+1 + yi+1 ) + 8 sin(xi + yi ) − sin(xi−1 + yi−1 )
and this cannot be solved for yi+1 . So, to get the approximate value for yi+1 we use a two-step
method called predictor-corrector method. In step 1 we use an explicit method such as
Adams-Bashforth method (or any other method) called the predictor to get an initial
(1)
approximate value yi+1 :
(1) h[ ]
yi+1 = yi + 23 f(xi , yi ) − 16 f(xi−1 , yi−1 ) + 5 f(xi−2 , yi−2 )
12
and the in step 2 which is called the corrector we improve the initial estimate; this is the
implicit method under consideration:
(k) h[ (k−1)
]
yi+1 = yi + 5 f(xi+1 , yi+1 ) + 8 f(xi , yi ) − f(xi−1 , yi−1 )
12
(k) (k−1) (k−1)
and we continue until we get |yi+1 − yi+1 | ≤ ε |yi+1 |