Course Objectives:To provide students with a strong knowledge and understanding of the important algorithms in numerical matrix computations, as well as the difficulties involved in practical implementation and use of these algorithms. The course also gives students an increased understanding of the basic problems in the area, together with the sensitivity of each problem.

Detailed Description:

- Norms and floating-point arithmetic.
- Cholesky factorization and symmetric positive definite linear systems.
- LU factorization and general linear systems.
- Toeplitz linear systems.
- Sensitivity of problems and numerical stability of algorithms.
- Blocking algorithms for higher performance.
- QR factorization and linear least squares problems.
- Singular value decomposition and generalized inverses.
- Theory of matrix eigenvalue problems.
- QR algorithm and the inverse power method for eigenvalue problems.
- The Lanczos algorithm for large sparse symmetric eigenvalue problems.
- Conjugate-gradient method for large sparse symmetric positive definite linear systems.

Prerequisites:Facility with a high level scientific programming language such as C, C++, Java, or Fortran, and a good introductory matrix theory course. Previous experience of numerical computations is also important, such as COMP 350 or MATH 317. Some assignments will be done by using MATLAB.