Outline
This course is designed for graduate students of all areas who are interested in numerical methods for differential equations, with focus on concrete implementation of the algorithms in MATLAB and/or Python. Many modern and efficient approaches are presented, after fundamentals of numerical approximation are established. Of particular focus are a qualitative understanding of the considered differential equation, high-order time-stepping approaches, fundamentals of finite difference, finite volume, and finite element methods, and important concepts such as stability, convergence, and error analysis. Fundamentals: Stability, convergence, error analysis.Methods: Runge-Kutta, multistep, finite difference, finite volume, finite element methods.
Problems: IVPs, BVPs, Poisson equation and other elliptic problems, advection and transport, diffusion, wave propagation, conservation laws.
Textbooks
- My lecture notes.
- Seongjai Kim, Numerical Analysis 1a
- Seongjai Kim, Numerical Analysis 1b
- Seongjai Kim, Numerical Methods for Partial Differential Equations
Further readings
- S. Linge, HP. Langtangen, Finite Difference Computing with PDEs, Springer Open
- S. Linge, HP. Langtangen, Programming for Computations - MATLAB/Octave, Springer Open
- S. Linge, HP. Langtangen, Programming for Computations - Python, Springer Open
- J. Butler, Numerical Methods for Differential Equations with Python
- C. Rackauckas, A Comparison Between Differential Equation Solver Suites In MATLAB, R, Julia, Python, C, Mathematica, Maple, and Fortran
- T. A. Driscoll, Matlab vs. Julia vs. Python, an interesting comparison of these three languages.
- A. Birkisson, T. A. Driscoll, L. N. Trefethen, Exploring ODEs.
- T. A. Driscoll, N. Hale, L. N. Trefethen, Chebfun, an open-source package for computing with functions to about 15-digit accuracy.
- T. Driscoll, R. Braun, Fundamentals of Numerical Computation.
- K. Morke, Numerical Algorithms and digital representaion.
- D. Lee, Lecture Notes on Numerical Solutions of Differential Equations.
- R. Hoppe, Numerical Differential Equations.
- J.M. McDonough, Lectures on computational numerical analysis of partial differential equations
- B. Storey, Numerical solutions to differential equations
- S. Linge, H.P. Langtangen, A gentle intro to numerical simulation with MATLAB/Octave.
- S. Linge, H.P. Langtangen, A gentle intro to numerical simulation with Python
Videos
- Numerical Analysis, by Seongjai Kim (Mississippi State University)
- MIT 2016 Numerical Methods for PDE, by Qiqi Wang (MIT)
- Numerical Analysis by Joel Rosenfeld (U. of South Florida)
Topics to be covered
- Numerical Solution of Ordinary Differential Equations.
- one-step and multi-step methods for non-stiff systems of ordinary differential equations,
- extrapolation techniques and automatic step size selection,
- one-step and multi-step methods for stiff systems of ordinary differential equations and differential-algebraic equations,
- single and multiple shooting techniques, finite difference approximations, and the Ritz-Galerkin method for boundary value problems
- Numerical Solution of Partial Differential Equations.
- Initial/boundary value problems for parabolic and hyperbolic PDEs (one space and one time dimension).
- Explicit finite-difference schemes. Implicit finite-difference schemes. Stability.
- Parabolic and hyperbolic PDEs in two and three space dimensions.
- Boundary value problems for elliptic PDEs.
Tentative Syllabus
- Week 1: Motivation and introduction to Scientific Computing. Floating point system.
- Week 2: Unix/Linux, introduction to Python & MATLAB.
- Week 3 & 4: Initial value problems for ODEs: singlestep and multistep methods, accuracy & stability, explicit vs implicit methods, geometrical integration.
- Week 5 & 6: Boundary value problems for ODEs: shooting method, finite difference method, Galerkin method.
- Week 7 & 8: Parabolic PDEs.
- Week 9 & 10: Hyperbolic PDEs.
- Week 11 & 12: Elliptic PDEs.
- Week 13 & 14: Review and writing code for complex problems.
Languages used
- MATLAB
- Python
- Any other language registered students might be interested in.
Grades policy
Grades will be evaluated on the following bases:- (Almost) weekly homework: 50%;
- Two take-home midterms: 2x15%;
- Final project: 20%.
Collaboration
Especially with online classes, teamwork is very important and will give you the occasion to interact with your classmates. You are encouraged in general to work with study partners and also to collaborate on homework. On the other side, you must write your solutions yourself, in your own words, and you must list all collaborators and outside sources of information.It is a serious violation of academic integrity to copy an answer without attribution.