# Course 5044 - Introduction to Numerical Analysis II - Spring 2019

Official Information
Course Number:Math 5044.001
CRN:38528
Course Title:Introduction to Numerical Analysis II
Times:MW 9:00-10:20
Places:Wachman Hall 617

Instructor: Benjamin Seibold
Instructor Email: seibold(at)temple.edu
Instructor Office:Wachman Hall 518
Instructor Office Hours:MW 10:20-11:30

Course Textbook: Randall J. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations - Steady State and Time Dependent Problems, SIAM, 2007
Further recommended reads:
Official:Course Syllabus
Topics Covered: This course provides a rigorous introduction to numerical methods for ordinary differential equations, establishing both knowledge and understanding of modern and efficient methods, as well as tools of analysis to understand when and why different methods work (or fail). Particular topics: Runge-Kutta, multistep, and Taylor series methods. Deferred correction. Convergence and stability. Error analysis. Stiff problems. Boundary value problems. Finite differences. Stochastic ODEs.
Course Goals: Provide a rigorous mathematical basis for numerical methods for ordinary differential equations, and lay the groundwork for more advanced courses on numerical differential equations. Provide insight and intuition to fundamental challenges inherent to many problems in computational science and engineering.
Attendance Policy: Students are expected to attend every class. If a student cannot attend a class for some justifiable reason, he or she is expected to contact the instructor before class.
Course Grading: Homework: 50%; exams: 50%.
Final Exam Date:05/02/2019.
Course Schedule
01/14/2019   Lec 1
Introduction: Ordinary differential equations, Linear ODE
Read: ODE, IVP, Linear ODE
01/16/2019   Lec 2
Predator-prey model, Lipschitz continuity, IVPs vs. BVPs
01/23/2019   Lec 3
Fundamental concepts in numerical methods for ODEs
01/28/2019   Lec 4
Taylor series methods: advantages and drawbacks

01/30/2019   Lec 5
Runge-Kutta methods: Butcher tableau
02/04/2019   Lec 6
General Runge-Kutta methods, ERK-DIRK-IRK
02/06/2019   Lec 7
Order conditions
02/11/2019   Lec 8
Embedded methods, adaptive time-stepping, dense output, Richardson extrapolation
02/13/2019   Lec 9
Linear multistep methods: order conditions
02/18/2019   Lec 10
Adams, BDF, and predictor-corrector methods
Read: BDF, Predictor-corrector
02/19/2019   Lec 11
Zero-stability and convergence: failure of zero-stability, difference equations
Read: Truncation error
03/11/2019   Lec 12
Zero-stability and convergence theorems
03/12/2019   Lec 13
Absolute stability: stability regions for different methods
Read: Absolute Stability
03/13/2019   Lec 14
Boundary locus method, linear systems

03/18/2019   Lec 15
Stiff problems: Schemes for different stiffness types, A-stability, L-stability
03/20/2019   Lec 16
Mildly stiff problems, RK-Chebyshev methods

03/25/2019   Lec 17
Stiffness in nonlinear problems

03/26/2019   Lec 18
Order reduction

03/27/2019   Lec 19
Implementation of implicit RK methods

04/01/2019   Lec 20
Semi-implicit methods: ImEx Runge-Kutta methods
04/03/2019   Lec 21
ImEx multistep methods
04/08/2019   Lec 22
Other methods and special problems: SSP schemes, Hamiltonian ODEs
04/10/2019   Lec 23
Symplectic methods
04/15/2019   Lec 24
Deferred correction

04/17/2019   Lec 25
Stochastic differential equations: examples
04/22/2019   Lec 26
Euler-Maruyama and Milstein method, weak and strong convergence
04/24/2019   Lec 27
Boundary value problems: shooting methods
Read: BVP, Shooting method
04/29/2019   Lec 28
Finite difference discretizations, pathways to PDE
05/02/2019 Final Examination
Matlab Programs
Introduction:
temple5044_linear_ode_2x2.m Vector field and phase flow for linear 2x2 ODE systems
Visualizes the different cases that can arise with 2x2 systems of ODE, via quiver plot, eigen-directions, and deformation of the unit circle.
temple_abm_population_local.m   Population dynamics models via 2x2 nonlinear ODE systems
The dynamics of two species are demonstrated in various cases: predator-prey, logistic growth, competition, and mutalism.

Runge Kutta methods:
ode1.m
ode2.m
ode3.m
ode4.m
ode5.m
Runge-Kutta methods of orders 1,2,3,4, and 5
Initial value problem ODE are solved approximated equidistant time steps.
temple5044_rk_order_conditions.m Check Runge-Kutta order conditions
This code verifies whether the order conditions (up to order 5) are satisfied or not for a generic Runge-Kutta scheme, provided via its Butcher tableau.
Example file: temple5044_rk_order_conditions_example.m, applies the code to three example methods.
temple5044_voyager.m Simulation of jupiter swing-by of the Voyager 1 space probe
A four-body problem of celestial mechanics, involving the sun, earth, jupiter, and Voyager 1, is solve numerically with a way too inaccurate RK4 discretization.

Absolute stability:
temple5044_absolute_stability_region_rk.m   Plot regions of absolute stability for Runge-Kutta methods
Provided are 9 examples of Runge-Kutta schemes, defined via their Butcher tableaus.

Semi-implicit methods:
temple5044_stability_region_imex_rk.m Plot stability regions for ImEx Runge-Kutta methods
Provided are 6 examples of ImEx Runge-Kutta schemes, applied to the test problem u'=αu+iβu.

Stochastic differential equations:
temple5044_euler_maruyama.m Error convergence study of Euler-Maruyama method
for the stochastic differential equation (geometric Brownian motion) dX = μ X dt + σ X dW.
Boundary value problems:
mit18336_poisson1d_error.m Numerical error analysis for the 1D Poisson equation
A differentiable but oscillatory right hand side is considered.
Homework Problem Sets