Iterative and Multigrid Methods
CS556 :: Fall 2024
- Instructor: Paul Fischer
- Class Time/Place: 9:30-10:45, Tu/Th, 1302 Siebel Center
- Office Hours: 2:00-3:30, Wed, 4320 Seibel Center
- Syllabus: Syllabus
About the Course
Course page under construction. The following is subject to change.
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 Schwarz and multigrid). We will primarily follow the text of Yousef Saad.
Course-work includes homework (usually bi-weekly) and a final project focussed on multigrid. We will have weekly in class quizzes. 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:
- Quizzes 15
- Homework 50
- Midterm Project 15
- Final Project 15
- Attendance and handouts 5
Lectures
Lecture | Date | Material |
---|---|---|
08-27 | ||
08-29 | ||
09-03 | ||
09-05 | ||
09-10 | ||
09-12 | ||
09-17 | ||
09-19 | ||
09-24 | ||
09-26 | ||
10-01 | ||
10-03 | ||
10-08 | ||
10-10 | ||
10-15 | ||
10-17 | ||
10-22 | ||
10-24 | ||
10-29 | ||
11-05 | ||
11-12 | ||
11-14 |
Books
We will be using Saad's book Iterative methods for sparse linear systems
In addition, there are several other helpful texts (optional):
- Numerical Linear Algebra by Trefethen and Bau
- Iterative Methods for Large Liner Systems by van der Vorst
- A Multigrid Tutorial
Computing
We will be using matlab (Octave) and Python with the libraries numpy, scipy and matplotlib for assignments.
The majority of examples will be in matlab. Octave is the free version of matlab. If you don't have matlab, you should install octave on your laptop. Bring your laptop to class in order to be able to work on the in-class examples that will be presented daily. This is a relatively small class, so we can make it interactive.
Python and Numpy Help
- Python tutorial
- Facts and myths about Python names and values
- Dive into Python 3
- Project Euler (Lots of practice problems)
- Introduction to Python for Science
- The SciPy lectures
- The Numpy MedKit by Stéfan van der Walt
- The Numpy User Guide by Travis Oliphant
- Numpy/Scipy documentation
- More in this reddit thread
- Spyder (a Python IDE, like Matlab) is installed in the virtual machine. (Applications Menu > Development > Spyder)
- An introduction to Numpy and SciPy
- 100 Numpy exercises