J. B. Schroder Home

Math 504/CS 575, Introductory Numerical Analysis: Numerical Linear Algebra
Spring, 2020

Overview  ::  Dates  ::  Grading  ::  Homework  ::  Lecture Materials  ::  Other Materials

Time and Place: Tuesday / Thursday, DSH 126, 12:30pm-1:45pm
Instructor: Jacob B. Schroder, jbschroder -att- unm.edu
Office Hours: SMLC 332
    Wednesday: 12:30pm-2:00pm
    Thursday: 2:00pm-3:30pm

Syllabus: PDF1  PDF2 (Room Updated Jan. 22)
Syllabus Update from Coronavirus:  PDF3


  1. Math 464 or Math 514
  2. We will be programming in numerical Python (can learn along the way)

Text: Numerical Linear Algebra by Trefethen and Bau, 1st Edition

Course Description: This course will introduce you to numerical (or applied) linear algebra. We will cover direct and iterative methods for the solution of linear systems of equations, least squares problems, eigenvalue problems, error analysis, and numerical stability. An introduction to geometric multigrid will take place, time permitting. Assignments will be a mixture of theoretical and programming problems. Programming will be done in numerical Python.

This is a required course for Applied Mathematics Masters students (Plan I and II), and is a standard prep class for the NA Qualifying Exam taken by PhD students.

Schedule of topics, course goals, and desired learning outcomes: Please see the syllabus.

Important Dates:



The course grade will be determined by

The final grade for the class will be based on the summed weighted percentages above. Letter grades will be assigned as follows:

The instructor reserves the right to curve grades to offset unforeseen circumstances. Such a curve will never decrease a student's letter grade below that from the above scheme.

Exams: There are two exams, a midterm and a final. Cheating on an exam will be handled in accordance with the dishonesty policy in the syllabus. There are no makeup exams; however, I am sympathetic to a student who is unable to take a scheduled test due to a hardship. Please contact the instructor before the exam (if possible), should such a hardship occur.

Exam grading disputes must be submitted in writing within one week after the work is returned.

Absences Policy: It is expected that each student regularly attend class.


Homework: Homework will be posted every 1 to 2 weeks on the course webpage (i.e., here). Each homework will consist of a combination of computer and theoretical problems. You need to hand in a written report on the due date at the start of class. All plots/figures in the report must be generated in Python and not hand drawn (unless otherwise specified in the homework question). If using a Jupyter notebook with text and Latex blocks, a print-out of the notebook may be sufficient to answer some homework problems.

Some guidelines for your homework writeup are
  1. It should be legibly and neatly presented, and include all the required code, figures and tables, in the order assigned.
  2. Figures and tables should be well-labeled printouts.
  3. Any discussion and analysis should be either typed or neatly written.
  4. All sheets of paper must be stapled, your name written on front.
You are encouraged to work with each other on the homeworks, but the codes and your writeups have to be your own. That is, each student must turn in an individual and unique homework writeup.

Homework may be submitted late up to a week for 50% credit. Homework grading disputes must be submitted in writing within one week after the work is returned.

Software: Use of numerical Python will be required to complete the course homework assignments. Some homeworks may require use of the open-source PyAMG package. Please see https://github.com/pyamg/pyamg/wiki/Installing for tips on installing PyAMG.

Homework Assignments
  1. Homework 1 (PDF)    Due: Beginning of class, Jan. 30
  2. Homework 2 (PDF)    Due: Beginning of class, Feb 6
  3. Homework 3 (PDF)    Due: Beginning of class, Feb 18
  4. Homework 4 (PDF)    Due: Beginning of class, March 3
  5. Homework 5 (PDF)    Due: Beginning of class, March 12
  6. NEW HW6 PDF!
    Homework 6 (PDF)    Due: Midnight, Sunday, March 29 on UNM LEARN
    NEW HW6 PDF!
  7. Homework 7 (PDF)    Due: Midnight, Sunday, April 5 on UNM LEARN
  8. Homework 8 (PDF)    Due: Midnight, Sunday, April 19 on UNM LEARN
  9. Homework 9 (PDF)    Due: Midnight, Sunday, April 26 on UNM LEARN
  10. Homework 10 (PDF)    Due: Midnight, Sunday, May 3 on UNM LEARN
  11. And that's it! No more HW after this.


Supplemental Lecture Materials:

Lectures will be given on the board, with some supplemental materials (mostly code) appearing here.
  1.      lecture1_2_3_basic_linalg.ipynb
  2.      lecture4_svd.ipynb
  3.      lecture5_svd.ipynb
  4.      lecture6_proj.ipynb
  5.      lecture7_QR.ipynb
  6.      lecture8_QR.ipynb
  7.      lecture10_HH.ipynb
  8.      lecture11_LeastSq.ipynb      polls.csv
  9.      lecture12_Cond.ipynb
  10.      lecture13_FP.ipynb

    Begin post Covid-19 online part of the course

  11. By Friday March 27   |   Read Lecture 16 in TB
     ⇒  Watch   lecture 16 video
        →    Lecture 16 notes PDF
     ⇒  Work Through   lecture16_HH_Stability.ipynb

  12. By Friday April 3   |   Read Lecture 17 in TB
     ⇒  Watch   lecture 17 video (Part 1)
     ⇒  Watch   lecture 17 video (Part 2)
     ⇒  Watch   lecture 17 video (Part 3)
        →    lecture 17 parts 2 and 3 notes PDF

  13. By Friday April 10   |   Read Lecture 20 in TB
     ⇒  Watch   lecture 20 video
        →    lecture 20 notes PDF

  14. By Friday April 17   |   Read Lectures 21, 24 in TB   |   Skim short lecture 22
     ⇒  Watch   lecture 21 video
     ⇒  Watch   lecture 24 video
        →    lecture 24 notes PDF
     ⇒  Work Through   lecture22_GE_stability.ipynb  ⇐ ⇐  Added !!

  15. By Friday April 24   |   Read Lectures 27, 33 in TB   |   Skim short lecture 32
     ⇒  Watch   lecture 27 video
        →    lecture 27 notes PDF
     ⇒  Work Through   lecture27_Rayleigh.ipynb

     ⇒  Watch   lecture 33 video
        →    lecture 33 notes PDF
     ⇒  Work Through   lecture33_34_Arnoldi.ipynb

  16. By Friday May 1   |   Read Lectures 35, 38, 40
     ⇒  Watch   lecture 35 video
        →    lecture 35 notes PDF
     ⇒  Work Through   lecture35_GMRES.ipynb

     ⇒  Watch   lecture 38 video
        →    lecture 38 notes PDF
     ⇒  Work Through   lecture38_CG.ipynb  with     cg.py

  17. Review Week (ending May 8)   |   Mostly online office hours, Some discussion of preconditioning
     ⇒  Work Through   lecture40_Precon.ipynb
Review Questions:
See old qualifying exams at   https://math.unm.edu/graduate/past-qualifying-exams-numerical-analysis


Other Material

Python / SciPy And more Python / SciPy..