Computer Science 290H, Fall 2005:
Preconditioning Iterative Methods in Computational Science and Engineering

John R. Gilbert

Mon/Wed 9:00-10:50
Trailer 932
Enrollment code (see CS office)

Schedule, reading assignments, and slides
Final project ideas
Homework 1 (due Mon 17 Oct)
Homework 2 (due Mon 7 Nov)
Homework 3 (due Mon 21 Nov)

Preconditioning is the key to solving the large systems of linear equations that limit the performance of many numerical computations in science and engineering. A good preconditioner often combines the discrete structure of direct methods, the numerical structure of iterative methods, and the specifics of the problem domain.

This course will present several general approaches to preconditioning iterative methods, including incomplete factorization, sparse approximate inverses, multigrid and domain decomposition, and support graphs.

The prerequisites are some knowledge of linear algebra (Gaussian elimination, eigenvalues and eigenvectors) and analysis of algorithms. I expect to have students with a variety of different backgrounds; if you have an application from a scientific or engineering field that includes solving a system of linear equations I encourage you to talk to me about the course.

Students will do homework assignments (probably three) and a term project. The term project can be an algorithms implementation experiment, a survey paper, or an application to a real computational science problem.

Approximate course outline:


No textbook is required, though several will be on reserve at the library. Handouts and readings from the literature will be assigned.


CS 211A or permission of instructor. (CS 211A is the same course as ECE 210A, ME 210A, Math 206A, and Chem Eng 211A.)