Course content
This is the second semester of Numerical Methods, covering computational methods for ordinary and partial differential equations. It covers computational methods and their theoretical analysis. It emphasizes systematic derivation of higher order methods and methods with desired stability properties. For ODE, it covers Runge Kutta and linear multistep methods. For hyperbolic and parabolic PDE it covers stability via von Neunmann (Fourier) analysis and the consistency/stability argument. Stability regions for ODE solvers connect the ODE and PDE material. For elliptic PDE it covers basic discretization via finite difference and finite elements and some iterative solution methods. See Details and Weekly schedule for more information.
Computing
Computing exercises and experiments are an important part of this class. Students will see usefulness of good scientific visualization, the benefits of more sophisticated computational methods, and the importance of coding with flexibility and performance in mind. Coding will be done in Python 2.7 and a Python compiler (possibly cython).
Prerequisites
Mathematical prerequisies include basic analysis, linear algebra and differential equations. Some exposure to differential equations either through a differential equations class or through applications such as fluid mechanics, electro-magnetism, etc, is very desirable. Python is desirable, but students with experience in Matlab, C++, R, Java, etc., should be able to learn Python as we go.