Instructor: Anil Damle


Office hours: Monday 3 - 4 pm and Tuesday 10:30 - 11:30 am in 423 Gates Hall.

TA: Mariia Soroka


Office hours: Wednesday 1 - 2 pm in Rhodes 523 and Fridays 1 - 2 pm in Rhodes 406.

Lectures: Monday and Wednesday from 10:10 to 11:25 am in Hollister Hall 320.

Course description: Stable and efficient algorithms for linear equations, least squares, and eigenvalue problems. Both direct and iterative methods are considered. Specific examples include QR and LU factorizations, Krylov subspace methods, the QR algorithm, and stationary iterative methods. Numerical programming is used extensively.

Course websites: Homeworks and exams will be turned in using Gradescope and the course also has a discussion website using Ed.

Credit hours and grading schemes: This course is 3 credit hours and can be taken for a letter grade, S/U, or audit (auditing is only available to graduate students).

Prerequisites: This course requires sufficient mathematical maturity, particularly in linear algebra though we will also use some calculus and approximation theory. There will also be implementation based questions on the homeworks and exams, and therefore some programming knowledge is required as well.

Homework and exams

Your grade in this course will be determined based on your performance on the homework and exams. Please also read through the given references for each lecture.


Your grade on individual assignments will be determined based on both the correctness of your solutions and the clarity of their exposition (e.g., plots should be readable and clearly articulate what you are asked to show). Your final grade in the course will be computed based on the homework and exams in the following manner:



We will not be explicitly following any single textbook in this course. Nevertheless, the books by Golub and Van Loan, and Trefethen and Bau collectively cover the material for the course and are recommended. Most suggested readings are assigned out of these two texts. Three additional texts are provided that complement these texts and are useful for further study (or to gain another perspective).


In addition to the above textbooks there are numerous other online resources that you may find useful listed below. In particular, the first provides coverage of much of the background material for this course.


A tentative schedule follows, and includes the topics we will be covering, relevant reference material, and assignment information. It is quite possible the specific topics covered on a given day will change slightly. This is particularly true for the lectures in the latter part of the course, and this schedule will be updated as necessary.

Date Topic References Notes/assignments
8/21 Introduction (Anil away; David lecturing) The definition of numerical analysis by Nick Trefethen
8/23 Fundamentals TB: 1-5, GVL: 2.7 (Anil away; David lecturing) On the early history of the singular value decomposition by G. W. Stewart
8/28 Sensitivity and conditioning plus floating point TB: 12 and 13
8/30 Accuracy and stability TB: 14 and 15
9/4 Labor Day, no class
9/6 Projection matrices, Least Squares, and QR factorization TB: 6, 7, and 11 HW 1 due on 9/7
9/11 Algorithms for QR factorization TB: 8, 10, and 16; GVL 5.1, 5.2, and 5.3
9/13 Algorithms for QR factorization TB: 8, 10, and 16; GVL 5.1, 5.2, and 5.3
9/18 Least squares sensitivity and rank-deficient problems TB 19 and GVL 5.5
9/20 Triangular factorizations (Pivoted LU) TB: 20, 21, 22, and 23; GVL 3.1 - 3.5 HW 2 due
9/25 Triangular factorizations (Cholesky) TB: 23 and GVL: 4.2
9/27 Stationary iterative methods GVL 11.2 HW 3 due; Midterm released on 9/28
10/2 Krylov methods: Arnoldi and Lanczos TB 33 and 36, and GVL 10.1 and 10.5.1
10/4 Krylov methods: CG and MINRES TB 35 and 38, and GVL 11.3 and 11.4 Midterm due on 10/5
10/9 Indigenous Peoples' Day, no class
10/11 Krylov methods: convergence analysis and GMRES TB 35 and 38, and GVL 11.3 and 11.4
10/16 Krylov methods: Least squares and preconditioning TB 40 and GVL 11.4.2
10/18 Krylov methods demo
10/23 Eigenvalue/vector problems: subspace distance and sensitivity TB 24 and 25, and GVL 7.1, 7.2, and 8.1
10/25 Eigenvalue/vector problems: power iteration and orthogonal iteration TB 27 and GVL 7.3 and 8.2
10/30 Reduction to Hessenberg form and QR iteration TB 26, 28, and 29, and GVL 7.4, 7.5, and 8.3 HW 4 due
11/1 QR iteration (with shifts) TB 26, 28, and 29, and GVL 7.4, 7.5, and 8.3
11/6 Divide and conquer Demmel 5.3.3
11/8 Computing the SVD TB 31 and GVL 8.6
11/13 Lanczos for eigenvalues/vectors GVL 10.1 and 10.3
11/15 Lanczos for singular values/vectors TB 36 and GVL 10.4
11/20 Randomized NLA Finding Structure with Randomness by Halko, Martinsson, and Tropp HW 5 due
11/22 Thanksgiving Break, no class
11/27 FEAST
11/29 Rank-revealing algorithms
12/4 Research in NLA HW 6 due
TBA (12/8 - 12/16) Final Exam due

Course policies


You are encouraged to actively participate in class. This can take the form of asking questions in class, responding to questions to the class, and actively asking/answering questions on the online discussion board. We will also be soliciting feedback mid-semester to hopefully improve the course.

Collaboration policy

You may discuss the homework freely with other students, but please refrain from looking at code or writeups by others. You must ultimately implement your own code and write up your own solution. In contrast, the take home exams are to be completed yourself, and should not be discussed with anyone.

Late work and grading

Except for the final exam, all work is due at 11:59 pm on the due date. Homework and exams must be submitted via Gradescope. For each homework assignment you are allowed up to two "slip days". You may not use slip days for the take-home exams.

Grades will be posted to Gradescope, and regrade requests must be submitted within one week.

Academic integrity

The Cornell Code of Academic Integrity applies to this course.


In compliance with the Cornell University policy and equal access laws, I am available to discuss appropriate academic accommodations that may be required for student with disabilities. Requests for academic accommodations are to be made during the first three weeks of the semester, except for unusual circumstances, so arrangements can be made. Students are encouraged to register with Student Disability Services to verify their eligibility for appropriate accommodations.


You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let the instructors know so that the issue can be addressed. We are personally committed to this, and subscribe to the Computer Science Department’s Values of Inclusion. [Statement reproduced with permission from Dan Grossman.]

Mental health resources

Cornell University provides a comprehensive set of mental health resources.