/math405_2022

Course material for MATH405/607E

Primary LanguageJupyter Notebook

README.md

MATH 405/607E

Numerical Methods for Differential Equations

banner

[Instructor: Christoph Ortner] [SYLLABUS] [PIAZZA]

Questions about the course should normally be posted on PIAZZA so that the entire group can benefit from the discussion. Please email the instructor only in exceptional circumstances, e.g. when an issue is clearly private.

[PIAZZA SIGNUP]

  • Classes are Monday, Wednesday, Friday 1000-1100, West Mall Swing Space (SWNG) Rm 107
  • Office hours: Monday 1330-1430 and Wed 1100-1200, LSK 303
  • Midterm: 28/10

General Notes

  • You must have access to a Jupyter + Julia environment to complete the assignments. I will provide some instructions on how you can set this up on your private machines, but the recommended and supported way is via a Jupyter Hub server provided by the mathematics department.
  • There is a very nice online textbook written by Toby Driscoll, Fundamentals of Numerical Computation.. Although we won't use this book directly the general content and style are similar to MATH 405/607E. Student who would like to get a rough idea what this course will be like can take a look.
  • Note there is dev branch which we use to test assignments and course notes before releasing them on the main branch. You are welcome to look, but DO NOT complete any assignment that hasn't yet been released on the main branch!

Classes

[Class Notes]

  • Wed 7/9: intro, admin, L01, L02
  • Fri 9/9: more intro, Julia setup, L02, L03
  • Mon 12/9: LU factorisation, L04
  • Wed 14/9: condition number, eigendecomposition, finish L04
  • Fri 16/9: floating point arithmetic, L05
  • Mon 19/9: no class
  • Wed 21/9: Polynomial interpolation, L06
  • Fri 23/9: Polynomial interpolation L06, Quadrature L07
  • Mon 26/9: Finished Quadrature L07
  • Wed 28/9: Nonlinear equations L08
  • Fri 30/9: no class - Truth and reconciliation day
  • Mon 3/10: Nonlinear systems; notes on Newton's method
  • Wed 5/10: Initial value problems, Euler method, L09
  • Fri 7/10: Initial value problems, Runge Kutta Methods
  • Mon 10/10: no class - Thanksgiving
  • Wed 12/10: Polynomial regression with Ruo Ning Qiu
  • Fri 14/10: A0, A1 revision class with Ruo Ning Qiu
  • Mon 17/10: Review of consistency and stability; see class notes and also my Notes on Gronwall Inequalities
  • Wed 19/10: Dissipative systems, Regions of stability, L10
  • Fri 21/10: Hamiltonian Systems, energy conservation, L11
  • Mon 24/10: 2-point BVPs; L12a, see class notes and my notes on 2pt-bvp
  • Wed 26/10: BVPs ctd; L12a, L12b and class notes
  • Fri 28/10: Midterm
  • Mon 31/10: PDEs, diffusion L13
  • Wed 2/11: review Fourier analysis; see class notes and my notes on Fourier analysis
  • Fri 4/11: PDEs, diffusion L13 and advection, L14
  • Mon 7/11: PDEs, advection, L14
  • Wed 9/11 and Fri 11/11: midterm break
  • Mon 14/11 and Wed 16/11: Spectral methods, approximation, L15 and notes
  • Fri 18/11 and Mon 21/11: Spectral methods, PDEs, L16 and notes
  • Wed 23/11 to Fri 2/12: Project Presentations
  • Mon 7/11 and Wed 7/11: revision

Gallery

The course "cover image" is the famous Matlab logo. It is the solution of a second-order partial differential boundary value problem on an L-shaped domain.

In the image above we see the numerical solution of an advection equation using an UNSTABLE numerical method. In this course we will learn to recognize and avoid such pitfalls.

We will learn how to construct "spectral methods" to obtain high-accuracy solutions of highly nonlinear PDEs in only a handful of lines of code. Above the Korteveg-deVries equation and below the Cahn-Hilliard equation (modelling phase separation of binary fluids)