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:
40% Homework
20% Mid-term Project
30% Final Project
10% Participation (attendence, weekly handouts, etc)
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.
Late Homework Policy Homeworks are due by the time posted above. If submitted for grading after the deadline, they will be graded at 50% credit up to one week late.
Homework 1 Due Tuesday September 6 at 10am
Homework 2 Due Friday September 16 at 4pm
Homework 3 Due Tuesday September 27 at 4pm
Homework 4 Due Wednesday October 5 at 4pm
Homework 5 Due Monday October 24 at 10pm
Homework 6 Due Friday November 11 at 4pm
Final Selection Due Monday November 14 at 4pm
Final Draft 1 Due Wednesday November 23 at 4pm
Final Draft 2 Due Wednesday December 7 at 7pm
Final Due Due Thursday December 15 at 7pm (this cannot be changed).
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.