Approximate integral using the trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ))] , t = t + h. n+1 n 2 n n n+1 n+1 n+1 n

Use Euler’s method to approximate Y (tn+1) ≈ Y (tn) + hf (tn, Y (tn)) in trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ) + hf (t , Y (t )))] . n+1 n 2 n n n+1 n n n Hence the modified Euler’s scheme

 K1 = hf (tn, yn)  h  y = y + [f (t , y ) + f (t , y + hf (t , y ))] ⇔ K2 = hf (tn+1, yn + K1) n+1 n 2 n n n+1 n n n  K1 + K2  y = y + n+1 n 2

5.3.1 Modified Euler Method

Numerical solution of Initial Value Problem: dY Z tn+1 = f (t, Y ) ⇔ Y (tn+1) = Y (tn) + f (t, Y (t)) dt. dt tn Use Euler’s method to approximate Y (tn+1) ≈ Y (tn) + hf (tn, Y (tn)) in trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ) + hf (t , Y (t )))] . n+1 n 2 n n n+1 n n n Hence the modified Euler’s scheme

 K1 = hf (tn, yn)  h  y = y + [f (t , y ) + f (t , y + hf (t , y ))] ⇔ K2 = hf (tn+1, yn + K1) n+1 n 2 n n n+1 n n n  K1 + K2  y = y + n+1 n 2

5.3.1 Modified Euler Method

Numerical solution of Initial Value Problem: dY Z tn+1 = f (t, Y ) ⇔ Y (tn+1) = Y (tn) + f (t, Y (t)) dt. dt tn Approximate integral using the trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ))] , t = t + h. n+1 n 2 n n n+1 n+1 n+1 n Hence the modified Euler’s scheme

 K1 = hf (tn, yn)  h  y = y + [f (t , y ) + f (t , y + hf (t , y ))] ⇔ K2 = hf (tn+1, yn + K1) n+1 n 2 n n n+1 n n n  K1 + K2  y = y + n+1 n 2

5.3.1 Modified Euler Method

Numerical solution of Initial Value Problem: dY Z tn+1 = f (t, Y ) ⇔ Y (tn+1) = Y (tn) + f (t, Y (t)) dt. dt tn Approximate integral using the trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ))] , t = t + h. n+1 n 2 n n n+1 n+1 n+1 n

Use Euler’s method to approximate Y (tn+1) ≈ Y (tn) + hf (tn, Y (tn)) in trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ) + hf (t , Y (t )))] . n+1 n 2 n n n+1 n n n 5.3.1 Modified Euler Method

Numerical solution of Initial Value Problem: dY Z tn+1 = f (t, Y ) ⇔ Y (tn+1) = Y (tn) + f (t, Y (t)) dt. dt tn Approximate integral using the trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ))] , t = t + h. n+1 n 2 n n n+1 n+1 n+1 n

Use Euler’s method to approximate Y (tn+1) ≈ Y (tn) + hf (tn, Y (tn)) in trapezium rule: h Y (t ) ≈ Y (t ) + [f (t , Y (t )) + f (t , Y (t ) + hf (t , Y (t )))] . n+1 n 2 n n n+1 n n n Hence the modified Euler’s scheme

 K1 = hf (tn, yn)  h  y = y + [f (t , y ) + f (t , y + hf (t , y ))] ⇔ K2 = hf (tn+1, yn + K1) n+1 n 2 n n n+1 n n n  K1 + K2  y = y + n+1 n 2 of f (tn + h, Y (tn) + K1) in two variables:

 ∂ ∂   K = h f (t , Y (t )) + h f (t , Y (t )) + K f (t , Y (t )) + O h2, K 2 . 2 n n ∂t n n 1 ∂Y n n 1

Since K1 = hf (tn, Y (tn)) = O(h),

1 (K + K ) = hf (t , Y (t )) 2 1 2 n n h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 , 2 ∂t n n n n ∂Y n n

Expression to be compared with Taylor expansion of Y (tn+1)

5.3.1 Modified Euler Method — Local truncation error (1/3)

Local truncation error due to the approximation: 1 Y (t ) ≈ Y (t ) + (K + K ) n+1 n 2 1 2

where K1 = hf (tn, Y (tn)) and K2 = hf (tn + h, Y (tn) + K1). Since K1 = hf (tn, Y (tn)) = O(h),

1 (K + K ) = hf (t , Y (t )) 2 1 2 n n h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 , 2 ∂t n n n n ∂Y n n

Expression to be compared with Taylor expansion of Y (tn+1)

5.3.1 Modified Euler Method — Local truncation error (1/3)

Local truncation error due to the approximation: 1 Y (t ) ≈ Y (t ) + (K + K ) n+1 n 2 1 2

where K1 = hf (tn, Y (tn)) and K2 = hf (tn + h, Y (tn) + K1).

Taylor Series of f (tn + h, Y (tn) + K1) in two variables:

 ∂ ∂   K = h f (t , Y (t )) + h f (t , Y (t )) + K f (t , Y (t )) + O h2, K 2 . 2 n n ∂t n n 1 ∂Y n n 1 5.3.1 Modified Euler Method — Local truncation error (1/3)

Local truncation error due to the approximation: 1 Y (t ) ≈ Y (t ) + (K + K ) n+1 n 2 1 2

where K1 = hf (tn, Y (tn)) and K2 = hf (tn + h, Y (tn) + K1).

Taylor Series of f (tn + h, Y (tn) + K1) in two variables:

 ∂ ∂   K = h f (t , Y (t )) + h f (t , Y (t )) + K f (t , Y (t )) + O h2, K 2 . 2 n n ∂t n n 1 ∂Y n n 1

Since K1 = hf (tn, Y (tn)) = O(h),

1 (K + K ) = hf (t , Y (t )) 2 1 2 n n h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 , 2 ∂t n n n n ∂Y n n

Expression to be compared with Taylor expansion of Y (tn+1) 0 Substitute Y (tn) = f (tn, Y (tn)) and

00 d ∂ d ∂ Y (tn)= f (t, Y (t)) = f (tn, Y (tn)) + Y (tn) f (tn, Y (tn)), dt ∂t dt ∂Y tn ∂ ∂ = f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )), ∂t n n n n ∂Y n n to get

Y (tn + h) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 . (5.10) 2 ∂t n n n n ∂Y n n

5.3.1 Modified Euler Method — Local truncation error (2/3)

Taylor Series of Y (tn+1) = Y (tn + h):

h2   Y (t + h) = Y (t ) + hY 0(t )+ Y 00(t )+ O h3 . n n n 2 n and

00 d ∂ d ∂ Y (tn)= f (t, Y (t)) = f (tn, Y (tn)) + Y (tn) f (tn, Y (tn)), dt ∂t dt ∂Y tn ∂ ∂ = f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )), ∂t n n n n ∂Y n n to get

Y (tn + h) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 . (5.10) 2 ∂t n n n n ∂Y n n

5.3.1 Modified Euler Method — Local truncation error (2/3)

Taylor Series of Y (tn+1) = Y (tn + h):

h2   Y (t + h) = Y (t ) + hY 0(t )+ Y 00(t )+ O h3 . n n n 2 n 0 Substitute Y (tn) = f (tn, Y (tn)) to get

Y (tn + h) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 . (5.10) 2 ∂t n n n n ∂Y n n

5.3.1 Modified Euler Method — Local truncation error (2/3)

Taylor Series of Y (tn+1) = Y (tn + h):

h2   Y (t + h) = Y (t ) + hY 0(t )+ Y 00(t )+ O h3 . n n n 2 n 0 Substitute Y (tn) = f (tn, Y (tn)) and

00 d ∂ d ∂ Y (tn)= f (t, Y (t)) = f (tn, Y (tn)) + Y (tn) f (tn, Y (tn)), dt ∂t dt ∂Y tn ∂ ∂ = f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )), ∂t n n n n ∂Y n n 5.3.1 Modified Euler Method — Local truncation error (2/3)

Taylor Series of Y (tn+1) = Y (tn + h):

h2   Y (t + h) = Y (t ) + hY 0(t )+ Y 00(t )+ O h3 . n n n 2 n 0 Substitute Y (tn) = f (tn, Y (tn)) and

00 d ∂ d ∂ Y (tn)= f (t, Y (t)) = f (tn, Y (tn)) + Y (tn) f (tn, Y (tn)), dt ∂t dt ∂Y tn ∂ ∂ = f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )), ∂t n n n n ∂Y n n to get

Y (tn + h) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 . (5.10) 2 ∂t n n n n ∂Y n n and 1 (K + K ) = hf (t , Y (t )) 2 1 2 n n h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 2 ∂t n n n n ∂Y n n 1   imply that Y (t ) = Y (t ) + (K + K ) + O h3 . n+1 n 2 1 2

3 The local truncation error is τn = O h : the modified Euler method is second order accurate. (A method is conventionally called pth order if the local truncation error is of order p + 1.)

5.3.1 Modified Euler Method — Local truncation error (3/3)

Now, the equations

Y (tn+1) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 2 ∂t n n n n ∂Y n n 1   imply that Y (t ) = Y (t ) + (K + K ) + O h3 . n+1 n 2 1 2

3 The local truncation error is τn = O h : the modified Euler method is second order accurate. (A method is conventionally called pth order if the local truncation error is of order p + 1.)

5.3.1 Modified Euler Method — Local truncation error (3/3)

Now, the equations

Y (tn+1) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 2 ∂t n n n n ∂Y n n and 1 (K + K ) = hf (t , Y (t )) 2 1 2 n n h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 2 ∂t n n n n ∂Y n n 5.3.1 Modified Euler Method — Local truncation error (3/3)

Now, the equations

Y (tn+1) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 2 ∂t n n n n ∂Y n n and 1 (K + K ) = hf (t , Y (t )) 2 1 2 n n h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 2 ∂t n n n n ∂Y n n 1   imply that Y (t ) = Y (t ) + (K + K ) + O h3 . n+1 n 2 1 2

3 The local truncation error is τn = O h : the modified Euler method is second order accurate. (A method is conventionally called pth order if the local truncation error is of order p + 1.) The general 2nd order Runge-Kutta scheme takes the form   K1 = hf (tn, yn);  K2 = hf (tn + αh, yn + βK1); (5.11)   yn+1 = yn + a1K1 + a2K2.

Repeating the earlier analysis, K1 = hf (tn, Y (tn)) and

K2 = hf (tn, Y (tn))  ∂ ∂  + h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3); ∂t n n n n ∂Y n n

⇒ a1K1 + a2K2 = h(a1 + a2)f (tn, Y (tn))  ∂ ∂  + a h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3). 2 ∂t n n n n ∂Y n n

5.3.2 Second order Runge-Kutta schemes (1/3)

Modified Euler is an example of 2nd order R-K method. Repeating the earlier analysis, K1 = hf (tn, Y (tn)) and

K2 = hf (tn, Y (tn))  ∂ ∂  + h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3); ∂t n n n n ∂Y n n

⇒ a1K1 + a2K2 = h(a1 + a2)f (tn, Y (tn))  ∂ ∂  + a h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3). 2 ∂t n n n n ∂Y n n

5.3.2 Second order Runge-Kutta schemes (1/3)

Modified Euler is an example of 2nd order R-K method. The general 2nd order Runge-Kutta scheme takes the form   K1 = hf (tn, yn);  K2 = hf (tn + αh, yn + βK1); (5.11)   yn+1 = yn + a1K1 + a2K2. 5.3.2 Second order Runge-Kutta schemes (1/3)

Modified Euler is an example of 2nd order R-K method. The general 2nd order Runge-Kutta scheme takes the form   K1 = hf (tn, yn);  K2 = hf (tn + αh, yn + βK1); (5.11)   yn+1 = yn + a1K1 + a2K2.

Repeating the earlier analysis, K1 = hf (tn, Y (tn)) and

K2 = hf (tn, Y (tn))  ∂ ∂  + h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3); ∂t n n n n ∂Y n n

⇒ a1K1 + a2K2 = h(a1 + a2)f (tn, Y (tn))  ∂ ∂  + a h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3). 2 ∂t n n n n ∂Y n n with equation (5.10)

Y (tn+1) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 , 2 ∂t n n n n ∂Y n n

3 one gets a second order scheme Y (tn+1) = Y (tn) + a1K1 + a2K2 + O h if

 a + a = 1;  1 2 1 (5.12)  αa2 = βa2 = . 2

5.3.2 Second order Runge-Kutta schemes (2/3)

Comparing

a1K1 + a2K2 = h(a1 + a2)f (tn, Y (tn))  ∂ ∂  + a h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3) 2 ∂t n n n n ∂Y n n 3 one gets a second order scheme Y (tn+1) = Y (tn) + a1K1 + a2K2 + O h if

 a + a = 1;  1 2 1 (5.12)  αa2 = βa2 = . 2

5.3.2 Second order Runge-Kutta schemes (2/3)

Comparing

a1K1 + a2K2 = h(a1 + a2)f (tn, Y (tn))  ∂ ∂  + a h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3) 2 ∂t n n n n ∂Y n n

with equation (5.10)

Y (tn+1) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 , 2 ∂t n n n n ∂Y n n 5.3.2 Second order Runge-Kutta schemes (2/3)

Comparing

a1K1 + a2K2 = h(a1 + a2)f (tn, Y (tn))  ∂ ∂  + a h2 α f (t , Y (t )) + βf (t , Y (t )) f (t , Y (t )) + O(h3) 2 ∂t n n n n ∂Y n n

with equation (5.10)

Y (tn+1) = Y (tn) + hf (tn, Y (tn)) h2  ∂ ∂    + f (t , Y (t )) + f (t , Y (t )) f (t , Y (t )) + O h3 , 2 ∂t n n n n ∂Y n n

3 one gets a second order scheme Y (tn+1) = Y (tn) + a1K1 + a2K2 + O h if

 a + a = 1;  1 2 1 (5.12)  αa2 = βa2 = . 2 The most popular are,

I Modified Euler: a1 = a2 = 1/2, α = β = 1.

⇒ K1 = hf (tn, yn), K2 = hf (tn + h, yn + K1) and yn+1 = yn + (K1 + K2)/2.

I : a1 = 0, a2 = 1, α = β = 1/2.

⇒ K1 = hf (tn, yn), K2 = hf (tn + h/2, yn + K1/2) and yn+1 = yn + K2.

I Heun’s method: a1 = 1/4, a2 = 3/4, α = β = 2/3.

⇒ K1 = hf (tn, yn), K2 = hf (tn + 2h/3, yn + 2K1/3) and yn+1 = yn + (K1 + 3K2)/4.

5.3.2 Second order Runge-Kutta Schemes (3/3)

General 2nd order Runge-Kutta scheme:   K1 = hf (tn, yn);  a + a = 1;   1 2 K2 = hf (tn + αh, yn + βK1); with 1   αa2 = βa2 = .  yn+1 = yn + a1K1 + a2K2. 2

Since we have 3 equations and 4 unknowns (a1, a2, α, β), there are infinitely many solutions. 5.3.2 Second order Runge-Kutta Schemes (3/3)

General 2nd order Runge-Kutta scheme:   K1 = hf (tn, yn);  a + a = 1;   1 2 K2 = hf (tn + αh, yn + βK1); with 1   αa2 = βa2 = .  yn+1 = yn + a1K1 + a2K2. 2

Since we have 3 equations and 4 unknowns (a1, a2, α, β), there are infinitely many solutions.

The most popular are,

I Modified Euler: a1 = a2 = 1/2, α = β = 1.

⇒ K1 = hf (tn, yn), K2 = hf (tn + h, yn + K1) and yn+1 = yn + (K1 + K2)/2.

I Midpoint method: a1 = 0, a2 = 1, α = β = 1/2.

⇒ K1 = hf (tn, yn), K2 = hf (tn + h/2, yn + K1/2) and yn+1 = yn + K2.

I Heun’s method: a1 = 1/4, a2 = 3/4, α = β = 2/3.

⇒ K1 = hf (tn, yn), K2 = hf (tn + 2h/3, yn + 2K1/3) and yn+1 = yn + (K1 + 3K2)/4. 5.3.3 Higher order Runge-Kutta methods

Schemes of the form (5.11) can be extended to higher order methods. The most widely used Runge-Kutta scheme is the4 th order scheme RK4 based on Simpson’s rule. 1 y = y + (K + 2K + 2K + K ), n+1 n 6 1 2 3 4

where K1 = hf (tn, yn),

 h K  K = hf t + , y + 1 , (5.13) 2 n 2 n 2

 h K  K = hf t + , y + 2 , 3 n 2 n 2

K4 = hf (tn + h, yn + K3).

This scheme has local truncation error of order h5, which can be checked in the same way as the second order scheme, but involves rather messy algebra.