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:30pm1:45pm
Instructor: Jacob B. Schroder, jbschroder unm.edu
Office Hours: SMLC 332
Wednesday: 12:30pm2:00pm
Thursday: 2:00pm3:30pm
Syllabus: PDF1 PDF2 (Room Updated Jan. 22)
Syllabus Update from Coronavirus: PDF3
Prerequisites:
 Math 464 or Math 514
 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.
 Spring Break: March 1620
 Midterm Exam:
March, 26Take Home, Due April 7th, Exam to be emailed  Thursday, May 14, 10:00am12:00pm (same room, different time)
The course grade will be determined by
 Homework: 45%
 Midterm Exam: 25%
 Final Exam: 30%
 A, 90% or above
 B, 80% or above
 C, 70% or above
 D, 60% or above
 F, below 60%
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.
 Course follows UNM handbook D170 https://handbook.unm.edu/d170/
 Note, the handbook says "A student with excessive absences may be dropped from a course by the instructor with a grade of W/P or W/F."
 If you need to miss more than two classes during the semester, please contact the instructor.
Some guidelines for your homework writeup are
 It should be legibly and neatly presented, and include all the required code, figures and tables, in the order assigned.
 Figures and tables should be welllabeled printouts.
 Any discussion and analysis should be either typed or neatly written.
 All sheets of paper must be stapled, your name written on front.
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 opensource PyAMG package. Please see https://github.com/pyamg/pyamg/wiki/Installing for tips on installing PyAMG.
Homework Assignments
 Homework 1 (PDF) Due: Beginning of class, Jan. 30
 Homework 2 (PDF) Due: Beginning of class, Feb 6
 Homework 3 (PDF) Due: Beginning of class, Feb 18
 Homework 4 (PDF) Due: Beginning of class, March 3
 Homework 5 (PDF) Due: Beginning of class, March 12
 NEW HW6 PDF!
Homework 6 (PDF) Due: Midnight, Sunday, March 29 on UNM LEARN
NEW HW6 PDF!  Homework 7 (PDF) Due: Midnight, Sunday, April 5 on UNM LEARN
 Homework 8 (PDF) Due: Midnight, Sunday, April 19 on UNM LEARN
 Homework 9 (PDF) Due: Midnight, Sunday, April 26 on UNM LEARN
 Homework 10 (PDF) Due: Midnight, Sunday, May 3 on UNM LEARN
 And that's it! No more HW after this.
Lectures will be given on the board, with some supplemental materials (mostly code) appearing here.

lecture1_2_3_basic_linalg.ipynb
scipy_tutorial.pdf  lecture4_svd.ipynb
 lecture5_svd.ipynb
 lecture6_proj.ipynb
 lecture7_QR.ipynb
 lecture8_QR.ipynb
 lecture10_HH.ipynb
 lecture11_LeastSq.ipynb polls.csv
 lecture12_Cond.ipynb

lecture13_FP.ipynb
Begin post Covid19 online part of the course

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

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

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

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 !!

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

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

Review Week (ending May 8) 
Mostly online office hours, Some discussion of preconditioning
⇒ Work Through lecture40_Precon.ipynb
See old qualifying exams at https://math.unm.edu/graduate/pastqualifyingexamsnumericalanalysis
Other Material
Python / SciPy
 Python 3 tutorial
 An introduction to NumPy and SciPy
 The SciPy (scientific Python) Lectures
 100 NumPy Exercises
 Softwarecarpentry also has a good introduction to Python
 Jupyter Notebook Tutorial
 Project Euler (lots of practice problems)
 NumPy MedKit (Stefan van der Walt)
 Spyder IDE