The course is divided roughly into three parts: the basics of numerical linear algebra, iterative methods (such as CG, GMRES, BiCGStab, etc), and multilevel methods (for example geometric and algebraic multigrid). If there is time we will also cover some popular software packages such as PETSc.
The course involve several homeworks (usually bi-weekly) and two projects: a midsemester project focussesd on Krylov methods and a final project focussed on multigrid. There is also a strong participation grade based on your attendence (informal) and ability to keep up with handouts and other tasks. The tentative grade breakdown is:
The course homeworks and examples in class will be in Python. In particular, we'll use the sparse features in Scipy and the solvers in PyAMG.
Homeworks are due by the time posted above.
Guidelines and files
We will be using Saad's book Iterative methods for sparse linear systems
In addition, there are several other helpful texts (optional):
We will be using Python with the libraries numpy, scipy and matplotlib for assignments. No other languages are permitted.
While you are free to install Python and Numpy on your own computer to do homework, the only supported way to do so is using the supplied virtual machine image.