This is the webpage for the Imperial College London Mathematics module MATH60024/MATH70024 - Computational Linear Algebra.
A PDF version of the course notes is available here. The lecture material for this course is available as videos linked from the web version of the notes.
The text for this part of the module is Trefethen and Bau Numerical Linear Algebra. Another very useful reference is Golub and van Loan Matrix Computations.
We provide a complete set of notes for the course below.
Lecture notes:ΒΆ
- 1. Getting ready for computational exercises
- 2. Linear algebra preliminaries
- 2.1. Matrices, vectors and matrix-vector multiplication
- 2.2. Range, nullspace and rank
- 2.3. Invertibility and inverses
- 2.4. Adjoints and Hermitian matrices
- 2.5. Inner products and orthogonality
- 2.6. Orthogonal components of a vector
- 2.7. Unitary matrices
- 2.8. Vector norms
- 2.9. Projectors and projections
- 2.10. Constructing orthogonal projectors from sets of orthonormal vectors
- 3. QR factorisation
- 4. Analysing algorithms
- 4.1. Operation count
- 4.2. Operation count for modified Gram-Schmidt
- 4.3. Operation count for Householder
- 4.4. Matrix norms for discussing stability
- 4.5. Norm inequalities
- 4.6. Condition number
- 4.7. Conditioning of linear algebra computations
- 4.8. Floating point numbers and arithmetic
- 4.9. Stability
- 4.10. Backward stability of the Householder algorithm
- 4.11. Backward stability for solving a linear system using QR
- 5. Finding eigenvalues of matrices
- 5.1. How to find eigenvalues?
- 5.2. Transformations to Schur factorisation
- 5.3. Similarity transformation to upper Hessenberg form
- 5.4. Rayleigh quotient
- 5.5. Power iteration
- 5.6. Inverse iteration
- 5.7. Rayleigh quotient iteration
- 5.8. The pure QR algorithm
- 5.9. Simultaneous iteration
- 5.10. The pure QR algorithm and simultaneous iteration are equivalent
- 5.11. Connections between power iteration, inverse iteration, and QR algorithm
- 5.12. The practical QR algorithm
- 6. Iterative Krylov methods for \(Ax=b\)
- 7. Preconditioning Krylov methods
- 7.1. Stationary iterative methods
- 7.2. Using splitting methods as preconditioners
- 7.3. Symmetric iterative methods
- 7.4. Convergence criteria for stationary methods
- 7.5. Splitting methods as preconditioners
- 7.6. Convergence analysis for Richardson
- 7.7. Convergence analysis for symmetric matrices
- 7.8. An example matrix (Non-examinable in 2024/25)
- 7.9. Chebyshev acceleration (examinable in 2024/25)
The automated documentation for the skeleton code is below.