1.  Announcements

  • Sep 3: The first lecture will take place on Thursday, September 5.
  • Sep 20: Assignment 1 is posted, due Oct. 10th.
  • Sep 20: There are no lectures on Sept. 23, 25; there are make-up lectures on Oct. 11, 18, 11-12, ICCS 206.

2.  Calendar

Date Lecture contents Suggested reading
5 Sep Introduction Saad Chapter 1
10 Sep Finite difference discretizations Saad Chapter 2
12 Sep Saddle-point systems Benzi, Golub and Liesen
17 Sep Stationary methods Lecture notes, pages 1-5
19 Sep Introduction to nonstationary methods Lecture notes, pages 5-8
1 Oct Projection methods Lecture notes, pages 10-12; Saad, Chapter 5
3 Oct Arnoldi and Lanczos Lecture notes, pages 12-15
8 Oct MINRES, GMRES, CG Lecture notes, pages 17-18
10 Oct Preconditioning: introduction Saad, Chapter 9
11 Oct Preconditioning: incomplete factorizations Saad, Chapter 10, Sections 10.3 and 10.4
15 Oct GMRES: the gory details Saad, Section 6.5
17 Oct CG: the gory details; Intro to Multigrid Demmel Chapter 6, Multigrid Tutotial
22 Oct Guest lecture, Eldad Haber: multigrid live coding and other treats
24 Oct Algebraic multigrid Multigrid Tutorial, Chapter 8
29 Oct Bi-Conjugate methods Saad, Chapter 7
31 Oct Direct methods: graphs, RCM Saad, Sections 3.1-3.3, my slide 1
5 Nov Direct methods: Minimum Degree Amestoy, Duff, and Davis; my slides 2-6
7 Nov Direct methods: Approximate Minimum Degree Amestoy, Duff, and Davis; my slides 7-10
12 Nov Eigenvalue problems: power and inverse power Demmel, Chapter 4
14 Nov Orthogonal iteration, QR iteration Demmel, Chpater 4
19 Nov Implicitly restarted Arnoldi Saad eig. book Chapter 7
21 Nov Jacobi-Davidson Hochstenbach and Notay paper
26 Nov Saddle-point systems preconditioning Slides
28 Nov The greatness of matrix computations An emotional speech

3.  Course Material

Click here (password protected)

4.  Course Overview

Formulation and analysis of algorithms for sparse matrices; direct and iterative solvers for sparse linear systems; eigenvalue problems; least-squares problems; applications.

Detailed Outline (click here)

Instructor. Chen Greif, ICCS 219, greif@cs.ubc.ca.

Office hours. Thursday, 3:30-4:30, ICCS 219, or by appointment.

Prerequisites. Basic background in linear algebra and numerical methods. Drop by to consult with the instructor if unsure.

Intended audience. Beginning or advanced graduate students specializing in computer science, mathematics, physics, geophysics, or engineering.

Suggested readings. There is no required textbook for this course. Useful texts are:

  • Uri Ascher and Chen Greif, A First Course in Numerical Methods (SIAM, 2011)
  • Tim Davis, Direct Methods for Sparse Linear Systems (SIAM, 2006)

  • Jim Demmel, Applied Numerical Linear Algebra (SIAM, 1997)

  • Gene Golub and Charles Van Loan, Matrix Computations (Johns Hopkins, 2012)

  • Yousef Saad, Iterative Methods for Sparse Linear Systems (SIAM, 2003)

  • Nick Trefethen and David Bau, Numerical Linear Algebra (SIAM, 1997)

Homework. There will be a few assignments throughout the term. You may collaborate and consult with other students in the course, but you must hand in your own assignments and your own code. All homeworks involve programming tasks in Matlab.

Course project. The project typically includes a written summary, computer code, and an oral presentation of your work on a research paper relevant to the material covered in the course.

Grading scheme (tentative).

Your grade will be determined approximately by the following scheme:
  • assignments: approximately a third of your grade
  • project: approximately two thirds of your grade

The instructor reserves the right to modify the grading scheme if it becomes necessary.

5.  Links and Resources

Matlab is a product of Mathworks. Their own guides can be found on their website. A couple of other resources, with many additional links:


The Scientific Computing Laboratory
The Scientific Computing and Applied & Industrial Mathematics group at UBC (SCAIM).