*Note*: This schedule is subject to revision during the term.

**Monday, April 2**

Finite difference formulas for approximate differentiation [5.1.1].

**Wednesday, April 4**

Rounding error [5.1.2]. Simple Matlab programs (functions) for numerical differentiation:

- Two-point forward difference formula: d1fd2p.m
- Three-point centered-difference formula: d1cd3p.m
- Two-point forward difference formula, varying h: d1fd2p_varh
- Three-point centered-difference formula, varying h: d1cd3p_varh.m

**Friday, April 6**

Extrapolation [5.1.3]. About symbolic differentiation and integration [5.1.4]. Trapezoid rule [5.2.1].

- Trapezoid rule: trap.m

**Monday, April 9**

Newton-Cotes formulas [5.2]: Trapezoid, Midpoint, Simpson's rules, Open or Composite formulas.

**Wednesday, April 11**

Newton-Cotes formulas [5.2]: Order of approximation, degree of precision, Newton's (or Simpson's 3/8) and Boole's rules, higher order open rules.

**Friday, April 13**

*A posteriori* error estimates and stopping criteria. Romberg integration [5.3].

- Romberg integration: romberg.m

**Monday, April 16**

Adaptive quadrature [5.4].

- Adaptive trapezoid method (uses trap.m above): adaptrap.m

**Wednesday, April 18**

Gauss-Legendre quadrature [5.5].

**Friday, April 20**

Initial value problems [6.1]. Existence and uniqueness [6.1.2]. Euler's method [6.1.1].

- Euler's method: euler1.m

**Monday, April 23**

Analysis of initial value problem solvers [6.2]. Local and global truncation error [6.2.1]. Continuous dependence on initial condition [6.1.2]. The explicit trapezoid (or Heun's) method [6.2.2]. The midpoint method [6.4.1].

- Heun's method: heun1.m
- The midpoint method: midpoint1.m

**Wednesday, April 25**

Local truncation error of the (Heun's) explicit trapezoid method [6.2.2]. Taylor methods [6.2.3].

**Friday, April 27**

Systems of ordinary differential equations [6.3]. Higher order equations [6.3.1]. The physical pendulum [6.3.2].

- Euler's method for vector equations: euler.m
- Heun's method for vector equations: heun.m
- The midpoint method for vector equations: midpoint.m
- Pendulum program from the textbook had a bug, which is fixed by Matt Comber here: pend.m

**Monday, April 30**

Orbital mechanics [6.3.3]. Computer demo.

- The one-body program is modified to simulate two-body problem: orbit2.m

**Wednesday, May 2**

Runge-Kutta methods [6.4]. The Hodgkin-Huxley neuron [6.4.2].

- Runge-Kutta method of order 4: rk4.m

**Friday, May 4**

The Lorenz equations [6.4.3]. Computer demo.

**Monday, May 7**

Variable step-size (aka adaptive) methods [6.5]: Embedded Runge-Kutta pairs [6.5.1].

- Runge-Kutta-Fehlberg order 4 / order 5 embedded pair: rkf45.m

**Wednesday, May 9**

Review.

**Friday, May 11**

**Monday, May 14**

Implicit methods and stiff equations [6.6]: Backward Euler method.

- Backward Euler with Newton's method as a solver: beuler.m
- A simple implementation of Newton's method: newton.m

**Wednesday, May 16**

Multistep methods [6.7]: Adams-Bashforth methods [6.7.2], Adams-Moulton methods [6.7.3], predictor-corrector methods [6.7.3].

- Adams-Bashforth 4-step method: ab4.m
- Adams-Bashforth / Adams-Moulton predictor-corrector pair of order 4: abm4.m

**Friday, May 18**

Analysis of multistep methods [6.7]: Stability, consistency, and convergence. Dahlquist's theorem. General linear two-step methods.

**Monday, May 21**

Boundary value problems [7.1.1]. Linear shooting method. General shooting method [7.1.2].

- Shooting method for linear 2nd order Dirichlet BVPs (with fixed stepsize IVP solvers): linshoot.m
- Shooting method using bisection for 2nd order Dirichlet BVPs (with fixed stepsize IVP solvers): bisectshoot.m
- Shooting method using bisection for 2nd order Dirichlet BVPs (with Runge-Kutta-Fehlberg 4/5 variable stepsize solver): rkf45bisectshoot.m

**Wednesday, May 23**

Finite difference methods for linear boundary value problems [7.2.1].

- FD method for linear 2nd order Dirichlet BVPs: linfd.m

**Friday, May 25**

FD methods for nonlinear BVPs [7.2.2].

- FD method for nonlinear 2nd order Dirichlet BVPs (using a fixed point iteration): fpifd.m
- FD method for nonlinear 2nd order Dirichlet BVPs (using Newton's iteration): newtfd.m

**Monday, May 28**

Memorial Day.

**Wednesday, May 30**

Collocation method [7.3.1].

**Friday, June 1**

Collocation method [7.3.1].

**Monday, June 4**

Galerkin method. Finite elements [7.3.2].

**Wednesday, June 6**

Galerkin method. Finite elements [7.3.2].

**Friday, June 8**

Review.

**Friday, June 15**

Final exam. *Time*: 11:30am-2:29pm. *Place*: HSS1315.