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 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
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 16-20
- Midterm Exam:
March, 26Take Home, Due April 7th, Exam to be emailed - Thursday, May 14, 10:00am-12: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 D-170 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 well-labeled 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 open-source 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 Covid-19 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/past-qualifying-exams-numerical-analysis
Other Material
Python / SciPy
- Python 3 tutorial
- An introduction to NumPy and SciPy
- The SciPy (scientific Python) Lectures
- 100 NumPy Exercises
- Software-carpentry also has a good introduction to Python
- Jupyter Notebook Tutorial
- Project Euler (lots of practice problems)
- NumPy MedKit (Stefan van der Walt)
- Spyder IDE