## Computer Science 290I: Preconditioning Iterative Methods in Computational Science and Engineering

### John Gilbert

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

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.

Approximate course outline:

• Introduction:
• Linear solvers and their complexity
• Krylov-subspace iterations:
• GMRES, BiCGSTAB, SYMMLQ, and friends
• General-purpose preconditioners:
• Incomplete factorization
• Sparse approximate inverses
• Support theory
• Hierarchical preconditioning:
• Multigrid
• Domain decomposition
• Fast multipole
• Domain-specific preconditioning:
• Fluid dynamics
• Structural mechanics
• Electromagnetics
• Multiphysics systems
• Optimization
• Applications:
• This isn't the focus of the course, but we will have a few guest speakers on applications, and I hope some of the students will bring applications from their own work to speak about as well.
• Preconditioning symmetric indefinite and nonsymmetric problems

Text:

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

Prerequisite:

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