When and where:
Office hours: To be determined
Description: Differential equations provide a central language used by scientists and engineers to describe the world around us, in particular for problems with dynamic behavior. While some simple models can be solved through analytic techniques, more complex models are often required to accurately model complex situations and phenomena, e.g. deceases, satellites, electric circuits etc. These more realistic models are, however, typically beyond what can be solved by analytic manipulations and one must resolve to consider the use of approximate solutions through computational techniques.
With computational methods for solving differential equations becoming a core element across science and engineering, allowing for the modeling and design of complex systems, insight into when such methods are successful or fail, what basic design principles of the methods are applied, and what one can expect in terms of accuracy and computational effort, becomes essential. Not only to make informed choices when selecting a method but also help understand the causes of failure.
In this class we shall look under the hood of many classic methods and lay a foundation for the development, analysis, and application of computational methods for solving ordinary differential equations and boundary value problems. While we strive to motivate all developments with applications, the focus of the course will be on the development and numerical analysis of these techniques.
The core topics of the class will be
Numerical Solution of Ordinary Differential Equations: Concepts o stability and accuracy, multi-step methods, Runge-Kutta methods, stiffness, adaptive step size control, effective implementations of explicit and implicit methods using linear solvers and Newton’s method.
Two-point Boundary Value Problems: Shooting methods, finite difference methods, introduction to multigrid methods.
This will be complemented by class notes will be available after each class.
Other recommended and valuable references include
Prerequisites: The class is taught as a Bachelors (Year 3)/Master(Year 1) level class and the expectations are that students are comfortable with some analysis and differential equations. Basic knowledge of numerical techniques for solving systems of linear equations. Some programming skills are assumed.
Exercises: There will be weekly exercises throughout the semester. The weekly exercises will primarily be theoretical but may also include computational problems.
Exams: The exam will be a 3 hour written examination.
Grading: Grading will be based solely on the examination.