Aankondigings / Announcements
 Marks for Assignment 5 available here. Marks for Assignment 6 will not be available before the test on May 30.
 Solutions to both Assignments 5 and 6 available below. Marked assignments 5 can be picked up in the alphabetical boxes at Applied Math, 3rd floor.
 The second test is scheduled for Wednesday 30 May at 9:00. It will cover all the material of Weeks 6 through 13, as summarized in the schedule below. To help you prepare, here is the 2017 test.
 There is no subminimum enforced for the second test. Skipping it is not recommended, however, as some assignment marks will only be available after the test. Predicting a final mark is therefore risky.
 For students who do not have the required 50 percent average at the end of the term, a third test opportunity will be available in the week of 1822 June (time and date to be decided). This 2hour test will cover all the work of the semester (both terms), and it will replace the lowest score of the two prior tests. Should a passing score thus be obtained, a final mark of 50 percent will be assigned, regardless of the actual test mark.
 A flow chart for deciding on an iterative method for Ax = b can be found here (taken from CULA Tools)
 Derivation of the formula for the SSOR preconditioner as given on p.347 of the text.
 Handout that demonstrates conjugate directions vs steepest descent directions can be found here.
 This course assumes some previous experience with MATLAB or Python. If you need a refresher for MATLAB we strongly suggest reading the introductory slides (afr & eng) and/or completing the (free) online MATLAB Onramp (which takes about 2 hours). Note that MATLAB is now FREE for all SU students! Download instructions here.
Dosent / Lecturer
First term:
 Dr Nick Hale
 Office: A410
 Email nickhale@sun.ac.za
Second term:
 Prof. JAC Weideman
 Office: A315
 Email weideman@sun.ac.za
Rooster / Timetable
 Monday 11:00 @ M203
 Wednesday 09:00 @ M203
 Thursday 12:00 @ M203
Inligtingstukke / Information Sheets
 Information sheet available here.
Notas / Notes
 MATLAB Intro and accompanying lecture slides Afrikaans / English

Chapter 1;
Lecture Slides 1
(Background Material = Recommended Reading)
 Chapter 2; Lecture Slides 2 (Linear Systems)

Chapter 3;
Lecture Slides 3
(Least Squares)
(Undergraduate notes on least squares: English /Afrikaans)  Chapter 4; Lecture Slides 4 (Eigenvalues)
 Chapter 11 (pp.335350); Lecture slides 11 (long) / (short) (Direct and Iterative Methods for Sparse Systems)
Opdragte / Assignments
 Assignment 1 & Solutions 1
 Assignment 2 & Solutions 2
 Assignment 3 & Solutions 3
 Assignment 4 & Solutions 4
 Assignment 5 & Solutions 5
 Assignment 6 & Solutions 6
Tests
 Test 01 2018 and solutions
2018 Skedule / Schedule (tentative)
Week 1 (Chapter 1) Fundamentals (Undergraduate slides: eng1, eng2 / afr1, afr2)
 Linear systems; Existence and uniqueness of solutions
 Vector and matrix norms
 Intro to conditioning of linear systems. (Undergraduate slides: eng / afr)
 Solving linear systems
 Elimination
 LU factorization
 Gaussian elimination
 Instability and error growth factor
 Pivoting (Proof of PA = LU factorization)
 Algorithmic complexity
 ShermanMorrison formula
 Special types of linear systems (Reordering for sparse direct methods)
 Cholesky factorization
 Chapter 3: Least squares
 Normal equations
 QR Factorization
 Householder transformation
 Givens rotations
 GramSchmidt

Revision class (and public holiday)
Test week and Term break
Week 8 Similarity transformations, power iteration and its variants
 Rayleighquotient iteration, QR iteration
 Some implementation details of QR iteration, Hessenberg factorization
 Arnoldi and Lanczos algorithms
 Arnoldi & Lanczos continued
 Model problem, sparse matrices PDE model problem. Related undergraduate notes.
 Iterative methods for Ax = b: splitting methods; convergence
 Jacobi, GaussSeidel, SOR iterations (classroom demo).
 Jacobi, GaussSeidel, SOR iterations (continued)
 Incomplete LU and Cholesky
 Minimization methods for Ax = b when A is s.p.d.
 Method of steepest descent (Figure) (Implementation)
 Method of conjugate gradients (Implementation)
 Convergence of CG
 Preconditioned conjugate gradient method. (Clustering Demo) (Convergence of all methods)
 Rateofconvergence for the 2D Model Problem
MATLAB Kodes / MATLAB Codes
 decode_ieee.m  Decodes an IEEE 754 doubleprecision value.
 cos_demo.m  Demonstrate cancellation error.
 myhouseholder.m  Inefficient Householder.
 myhouseholder2.m  Efficient Householder.
 myhouseholder3.m  Efficient Householder in loop form.
 myhouseholder4.m  Efficient Householder storing v.
 mygivens.m  Inefficient Givens for a vector.
 mygivens2.m  Inefficient Givens for a matrix example (interactive).
 mygivens3.m  Efficient Givens for matrix example.
 GSdemo.m  Classical and modified GramSchmidt.