Numerical Analysis (CS 450) Spring 2016
What | Where |
---|---|
Time/place | MWF 9:00am-9:50am 1404 Siebel / Catalog |
Class URL | https://bit.ly/cs450-s16 |
Class recordings | Echo 360 |
Web forum | Discuss » · Suggestions · Instant message |
Calendar | View » |
Quizzes
Please find the quizzes under their corresponding lecture in the class calendar.
Exams
Please find information on our upcoming exams in the corresponding section of the class calendar. Reserve your time slots in the testing facility as soon as possible--otherwise your preferred times may no longer be available.
Homework
- Homework Set 0
- Homework Set 1
- Homework Set 2
- Homework Set 3
- Homework Set 4
- Homework Set 5
- Homework Set 6
- Homework Set 7
- Homework Set 8
- Homework Set 9
- Homework Set 10
Project
Course Outline
-
1. Introduction to Scientific Computing
- Notes (complete, last updated Feb 10)
- Quiz: Policies
- Quiz: Errors
- Quiz: Floating Point
- Activity: Forward/Backward Error
- Activity: Conditioning Theory
- Activity: Floating Point
- Numpy (from the SciPy Lectures)
- 100 Numpy Exercises
- Dive into Python3
- What every computer programmer should know about floating point
- Demo: Catastrophic Cancellation
- Demo: Conditioning of Evaluating tan
- Demo: Density of Floating Point Numbers
- Demo: Floating Point and the Series for the Exponential Function
- Demo: Floating Point vs Program Logic
- Demo: Floating point and the Harmonic Series
- Demo: Picking apart a floating point number
- Demo: Truncation vs Rounding
- Demo: Vector Norms
-
2. Systems of Linear Equations
- Notes (complete, last updated Feb 10)
- Quiz: Matrix Norms
- Quiz: Lecture 6
- Quiz: Lecture 7
- Quiz: Lecture 8
- Quiz: Lecture 9
- Quiz: Lecture 10
- Activity: Matrix norms
- Activity: Matrix Conditioning
- Activity: Matrix Conditioning II
- Activity: LU Factorization
- Activity: Pivoting and LU
- Demo: Coding back-substitution
- Demo: Complexity of Mat-Mat multiplication and LU
- Demo: Condition number visualized
- Demo: Conditioning of 2x2 Matrices
- Demo: Elimination Matrices I
- Demo: Elimination Matrices II
- Demo: LU factorization
- Demo: LU with Partial Pivoting
- Demo: Matrix norms
- Demo: Sherman-Morrison
- Demo: Vanilla Gaussian Elimination
-
3. Linear Least Squares
- Notes (complete, last updated Feb 22)
- Quiz: Lecture 11
- Quiz: Lecture 12
- Quiz: Lecture 13
- Quiz: Lecture 14
- Quiz: Lecture 15
- Activity: Least Squares
- Activity: QR
- Activity: SVD
- Demo: 3x3 Givens demo
- Demo: 3x3 Householder demo
- Demo: Gram-Schmidt and Modified Gram-Schmidt
- Demo: Gram-Schmidt--The Movie
- Demo: Image compression
- Demo: Interactive Polynomial Fit
- Demo: Issues with the normal equations
- Demo: Keeping track of coefficients in Gram-Schmidt
- Demo: Normal equations vs Pseudoinverse
- Demo: Polynomial fitting with the normal equations
- Demo: Relative cost of matrix factorizations
-
4. Eigenvalue Problems
- Notes (complete, last updated Mar 7)
- Activity: Eigenvalues
- Activity: Eigenvalue Iteration
- Activity: QR Iteration and Krylov spaces
- Quiz: Lecture 16
- Quiz: Lecture 17
- Quiz: Lecture 18
- Quiz: Lecture 19
- Quiz: Lecture 20
- Demo: Arnoldi iteration
- Demo: Householder Similarity Transforms
- Demo: Orthogonal Iteration
- Demo: Power iteration and its Variants
- Demo: Rounding in characteristic polynomial using SymPy
-
5. Nonlinear Equations
- Notes (complete, last updated Mar 9)
- Quiz: Lecture 21
- Quiz: Lecture 22
- Quiz: Lecture 23
- Activity: Nonlinear equations in 1D
- Demo: Bisection Method
- Demo: Convergence of Newton's Method
- Demo: Convergence of the Secant Method
- Demo: Fixed point iteration
- Demo: Newton's Method
- Demo: Newton's method in n dimensions
- Demo: Rates of Convergence
- Demo: Secant Method
- Demo: Three quadratic functions
- Code: three-quadratics.py
-
6. Optimization
- Notes (complete, last updated Apr 3)
- Activity: Optimization
- Activity: Optimization Methods
- Quiz: Lecture 24
- Quiz: Lecture 25
- Quiz: Lecture 26
- Quiz: Lecture 27
- Quiz: Lecture 28
- Demo: Gauss-Newton
- Demo: Golden Section Proportions
- Demo: Nelder-Mead Method
- Demo: Newton's Method in 1D
- Demo: Newton's Method in n dimensions
- Demo: Sequential Quadratic Programming
- Demo: Steepest Descent
-
7. Interpolation
- Notes (complete, last updated Apr 8)
- Activity: Interpolation
- Quiz: Lecture 29
- Quiz: Lecture 30
- Quiz: Lecture 31
- Demo: Chebyshev interpolation
- Demo: Choice of Nodes for Polynomial Interpolation
- Demo: Composite Gauss Interpolation Error
- Demo: Interpolation Error
- Demo: Interpolation with Radial Basis Functions
- Demo: Jump with Chebyshev Nodes
- Demo: Monomial interpolation
- Demo: Orthogonal Polynomials
-
8. Numerical Integration and Differentiation
- Notes (complete, last updated Apr 18)
- Quiz: Lecture 33
- Quiz: Lecture 34
- Quiz: Lecture 35
- Demo: Accuracy of Newton-Cotes
- Demo: Finite Differences vs Noise
- Demo: Floating point vs Finite Differences
- Demo: Gaussian quadrature weight finder
- Demo: Newton-Cotes weight finder
- Demo: Richardson with Finite Differences
- Demo: Taking Derivatives with Vandermonde Matrices
- 9. Initial Value Problems for ODEs
- 10. Boundary Value Problems for ODEs
- 11. Partial Differential Equations and Sparse Linear Algebra
- 12. The Fast Fourier Transform
CAUTION!
These scribbled PDFs are an unedited reflection of what I wrote during class. They need to be viewed in the context of the class discussion that led to them. See the lecture videos for that.
If you would like actual, self-contained class notes, look in the outline above.
These scribbles are provided here to provide a record of our class discussion, to be used in perhaps the following ways:
- as a way to cross-check your own notes
- to look up a formula that you know was shown in a certain class
- to remind yourself of what exactly was covered on a given day
By continuing to read them, you acknowledge that these files are provided as supplementary material on an as-is basis.
- scribbles-2016-01-20.pdf
- scribbles-2016-01-22.pdf
- scribbles-2016-01-25.pdf
- scribbles-2016-01-29.pdf
- scribbles-2016-02-01.pdf
- scribbles-2016-02-03.pdf
- scribbles-2016-02-05.pdf
- scribbles-2016-02-08.pdf
- scribbles-2016-02-10.pdf
- scribbles-2016-02-15.pdf
- scribbles-2016-02-17.pdf
- scribbles-2016-02-19.pdf
- scribbles-2016-02-22.pdf
- scribbles-2016-02-24.pdf
- scribbles-2016-02-26.pdf
- scribbles-2016-02-29.pdf
- scribbles-2016-03-02.pdf
- scribbles-2016-03-04.pdf
- scribbles-2016-03-07.pdf
- scribbles-2016-03-09.pdf
- scribbles-2016-03-14.pdf
- scribbles-2016-03-16.pdf
- scribbles-2016-03-18.pdf
- scribbles-2016-03-28.pdf
- scribbles-2016-03-30.pdf
- scribbles-2016-04-01.pdf
- scribbles-2016-04-04.pdf
- scribbles-2016-04-06.pdf
- scribbles-2016-04-08.pdf
- scribbles-2016-04-11.pdf
- scribbles-2016-04-13.pdf
- scribbles-2016-04-18.pdf
- scribbles-2016-04-20.pdf
- scribbles-2016-04-22.pdf
- scribbles-2016-04-25.pdf
- scribbles-2016-04-27.pdf
- scribbles-2016-04-29.pdf
- scribbles-2016-05-02.pdf
- scribbles-2016-05-04.pdf
Team


Lishen He
(TA)
Email: lhe10@illinois.edu

Peter Sentz
(TA)
Email: sentz2@illinois.edu

Matt Wala
(TA)
Email: wala1@illinois.edu
Textbook

Michael T. Heath, Second Edition, McGraw-Hill.
Computing
We will be using Python with the libraries numpy, scipy and matplotlib for in-class work and assignments. No other languages are permitted. Python has a very gentle learning curve, so you should feel at home even if you've never done any work in Python.
Virtual Machine Image
While you are free to install Python and Numpy on your own computer to do homework, the only supported way to do so is using the supplied virtual machine image.
Grading Policies
Previous editions of this class
Python Help
(see section 1 of the outline for more)
- Python tutorial
- Facts and myths about Python names and values
- Learn Python the hard way
- Project Euler (Lots of practice problems)
Python workshop material
- Video: Located on Echo 360 along with the other class recordings
- Tutorial material
- Scipy lecture notes
- CSE workshop training material
Numpy Help
(see section 1 of the outline for more)
- Introduction to Python for Science
- The SciPy lectures
- The Numpy MedKit by Stéfan van der Walt
- The Numpy User Guide by Travis Oliphant
- Numpy/Scipy documentation
- More in this reddit thread
- Spyder (a Python IDE, like Matlab) is installed in the virtual machine. (Applications Menu > Development > Spyder)
- An introduction to Numpy and SciPy