Course manual 2025/2026

Course content

This course covers how a number of standard linear algebra problems can be solved or numerically approximated in an efficient and stable way. As such, the course is not only valuable for students who aim to work outside the academic world, but also for those who wish to contribute to the theoretical developments that are still in progress. The charm of the course lies in two aspects. Firstly, the most obvious solution method is not necessarily the most efficient, and secondly, while designing an algorithm, one has to take into account its stability: although a computed solution to a problem usually does not solve that problem exactly, it should preferably solve a problem that is, in some norm, in some sense, close to the original problem (this will be made precise in the course). This can lead to surprising insights and results.

It is a common misconception that rounding errors are central in Numerical Linear Algebra. Although it cannot be denied that they play an important role, they are not fundamental. Indeed, it is also true that even if a computer were not to make any rounding error during all its computations, it still would not be able to compute eigenvalues or singular values of a larger matrix exactly (Abel-Ruffini Theorem). Thus, approximations and their error analysis are not just a consequence of the computer's finite precision arithmetic limitations, more often they are a mathematical necessity. 

The course treats a large part of the book ``Numerical Linear Algebra'' by L.N. Trefethen and D. Bau, a book used by graduate students at universities as Cornell, MIT, and Oxford. The first author is an influential contemporary numerical analyst. We refer to his personal website for parts of the book, and some interesting essays on the meaning of Numerical Analysis.

Apart from that, we will add a number of additional topics, such automorphism groups of nondegenerate bilinear forms, and bi-orthogonality for which hand-outs will be made available. Furthermore,  certain topics of the book will be treated in more detail than in the book, hence we strongly advice active participation and presence in class.

Topics to be covered: QR-decomposition using Gram-Schmidt, modified Gram-Schmidt, Givens rotations and Householder reflections, automorphism groups, linear least-squares problems (full rank and rank-deficient), conditioning and stability, finite precision arithmetic, LU-decomposition with partial pivoting, Cholesky-decomposition, bi-orthogonalization, power method, inverse iteration, QR-iteration with shifts, bisection for eigenvalues, Sturm sequences, Jacobi method for eigenvalues.

Study materials

Literature

  • Lloyd N. Trefethen and David Bau III: `Numerical Linear Algebra', SIAM Society for Industrial and Applied Mathematics, Philadelphia.

Other

  • A number of pdfs written by the lecturer.

  • Slides that are used at the lectures

  • Short instruction videos

Objectives

  • The student can describe the following algorithms for linear algebra problems:  Classical Gram-Schmidt; Modified Gram-Schmidt; Householder-QR; Givens-QR; Least-squares using QR, Least-squares using Gauss' Normal Equations; LU-decomposition with partial pivoting; Cholesky-decomposition; reduction to Upper Hessenberg form; Power method; Inverse Iteration; QR-iteration with shifts; Bisection for eigenvalues; Jacobi method for eigenvalues.
  • The student can prove and/or explain why the above algorithms produce (or converge to) the desired outcome;
  • The student is able to implement the above algorithms, to experiment with the programs, and to analyse and critically comment their outcomes;
  • The student is also able to perform the algorithms by hand in some very simple illustrative examples;
  • The student knows how a computer performs elementary calculations (addition, subtraction, multiplication and division) on numbers and also which numbers are exactly representable within the computer;
  • The student understands the concepts of `conditioning' and '(backward) stability' of problems and algorithms and is able to determine the conditioning of some simple linear algebra problems and the stability of some algorithms;
  • The student grasps some new theoretical topics in linear algebra, such as the direct reduction to similar upper Hessenberg (or tridiagonal) form; understands the duality between power iteration and inverse iteration present in the QR-iteration.
  • The student knows what automorphism groups are, in particular orthogonal and unitary groups as well as matrix groups such as GL_n and T_n.
  • Students has gotten acquainted with the programming package/language Matlab, its basic linear algebraic features and built-in functionalities.

Teaching methods

  • Lecture
  • Self-study
  • Exercise Class
  • Computer lab session/practical training

Lectures provide explanations and illustrations of the material from the book and motivation of the relevance of the topics covered. Often, more details that in the book will be given, and also some topics that are not in the book.

Exercise classes are there to solve both theoretical problems and computer programming assessments. The ability to tackle such problems and assessments gives the student insight in the level of understanding of the material.

Students are encouraged to hand in exercises to obtain feedback. 

Learning activities

Activiteit

Aantal uur

Computerpracticum

16

Werkcollege

16

Tentamen

10

Hoorcollege

26

Zelfstudie

100

 

Attendance

Attendance requirements for the program (OER - Part B):

  • Active participation is expected from every student in the course component for which the student is enrolled.
  • In addition to the general requirement that the student actively participates in the education, the additional requirements per component are described in the study guide. It also specifies which parts of the component have a mandatory attendance requirement.
  • If a student is unable to attend a mandatory part of the program due to personal circumstances, the student must report this in writing as soon as possible to the relevant lecturer and the study advisor.
  • It is not permitted to miss mandatory parts of a component if there are no personal circumstances.
  • In cases of qualitatively or quantitatively insufficient participation, the examiner may exclude the student from further participation in the component or part of it. Conditions for sufficient participation are determined in advance in the study guide and on Canvas.

Assessment

Item and weight Details

Final grade

70%

Tentamen

Must be ≥ 5

30%

Assignments

1 (50%)

Assignment 1

1 (50%)

Assignment 2

In case of a resit for the exam, the final grade is computed as above, with the resit score replacing the final exam score. Also the resit of the final exam has a minimal requirement of 5.0 out of 10.

The final grade is a pass only if before rounding, it is at least 5.5.

Inspection of assessed work

Contact the course coordinator to make an appointment for inspection.

Assignments

Practical assignments

  • two programming assignments handed in as video presentations

Each of the two assignments can be made and handed in together with at most one fellow student. Both students by default get the same grade. The composition of couples may be different at each occasion. The assignments must be handed in as video recording in which student(s) present and explain their computer codes and their output, as well as solutions of theoretical questions. Such a video can be created in a Zoom session in which students record the meeting and use screen sharing.

In case two students hand in a video together, the students must have equally contributed to the solution of the assignment and have equal (visible and audible) roles in the video. It is considered fraud either to try to pass yourself, or to help a fellow student pass the assignment by including them in the assignment without them having done that equal amount of work.

Fraud and plagiarism

The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

Course structure

Week   Topics Course material
1   For a detailed weekly overview of course topics, slides, exercises, codes, videos and more, see canvas.  
2      
3      
4      
5      
6      
7

 

   
       
8      
       
9

 

   
10      
11      
12      
13      
14      
       
15      

Honours information

Due to the recently introduced bi-yearly rotation of Numerical Linear Algebra with Numerical Analysis, the course Numerical Analysis Honours will be adapted this year for students who have done at least one of these two. It will be given in Period 5. See DataNose for details.

Additional information

Students enrolling in this course should have a good grasp of linear algebra. In particular, geometrical and abstract algebraic insight is indispensable. Furthermore, they are supposed to have good general computer programming abilities.

This corresponds to especially the following first-year courses in the UvA Bachelor Mathematics:

  • Linear Algebra, Analysis, Algebra 1 (Group Theory)
  • Programming  for Mathematicians

The second year course in Topology (compulsory in the UvA bachelor Mathematics) is useful.

Note: the programming language in the short videos is Matlab. Example codes on Canvas are given in Matlab. Students are however also allowed to make their computational assignments in Python.

This means that students can choose between:

  • learn Matlab during the course, better understand the short video's, and obtain short example codes;
  • not learn Matlab (saves time) but do the short codes in Python yourself (costs time).

Matlab is available to students via DataNose. 

Contact information

Coordinator

  • dr. Jan Brandts

For questions and remarks about this course manual, please send mail to: J.H.Brandts@uva.nl