You're not currently signed in.
Sign in »
Numerical Methods (CS 357) Spring 2015
What | Where |
---|---|
Time/place | Tue/Thu 12:30pm-1:45pm (M) / 3:30pm-4:45pm (N) / Catalog |
Class URL | https://bit.ly/cs357-s15 |
Class recordings | Echo 360 |
Web forum | Discuss » · Suggestions (for Andreas) |
Material | Notes » Demos » Worksheets » Class scribbles » |
Calendar | View » |
Homework
- Homework 0
- Homework 1
- Homework 2
- Homework 3
- Homework 4
- Homework 5
- Homework 6
- Homework 7
- Homework 8
- Homework 9
- Homework 10 (Extra credit)
Course Material
-
0. Introduction
- PDF: intro.pdf
- Activity: Complexity of linear system solve
- The Python language (from the SciPy Lectures)
- Numpy (from the SciPy Lectures)
- 100 Numpy Exercises
- Dive into Python3
- Demo: Arithmetic on Squiggles
- Demo: Python 1: Types
- Demo: Python 2: Names and Values
- Demo: Python 3: Indexing
- Demo: Python 4: Control flow
- Demo: Python 5: Functions
- Demo: Python 6: A few more things
- Demo: Python 7: Ways of using Python
- Demo: numpy 1: Introduction
- Demo: numpy 2: Indexing
- Demo: numpy 3: Broadcasting
- Demo: numpy 4: Tools
-
1. Linear Algebra and Computation
- PDF: linear-algebra-and-computation.pdf
- Video: Linear Algebra Review Guide
- Quiz: Linear Algebra Review
- Activity: Computational Linear Algebra
- Linear Algebra Review (from a class at Stanford)
- Demo: Images as Vectors
- Demo: Matrices for geometry transformation
- Demo: Matrices for graph traversal
- Demo: Matrices for image blurring
- Demo: Shapes as Vectors
- Demo: Sounds as Vectors
- Code: gvmagic.py
- Code: html5_audio.py
- 2. Norms
-
3. LU Factorization
- PDF: lu.pdf
- Video: LU Factorization
- Quiz: LU Factorization
- Activity: LU factorization
- Demo: Coding back-substitution
- Demo: Complexity of Mat-Mat multiplication and LU
- Demo: Elimination Matrices I
- Demo: Elimination Matrices II
- Demo: Gaussian Elimination with elimination matrices
- Demo: LU factorization
- Demo: LU with Partial Pivoting
- Demo: Vanilla Gaussian Elimination
- Demo: Why pivoting is a good idea
- 4. Applications of LU
-
5. Orthogonality
- PDF: orthogonality.pdf
- Video: Inner Products
- Video: Orthogonalization
- Video: Gram-Schmidt process
- Video: QR factorization
- Quiz: Inner Products
- Quiz: Orthogonalization
- Quiz: Gram-Schmmidt process
- Quiz: QR factorization
- Activity: Gram-Schmidt
- Activity: Projection
- Activity: QR factorization
- Demo: Complexity of LU and QR
- Demo: Gram-Schmidt and Modified Gram-Schmidt
- Demo: Gram-Schmidt--The Movie
- Demo: Keeping track of coefficients in Gram-Schmidt
- Demo: Orthogonal projection
- Demo: Orthogonalizing three vectors
- Demo: Orthogonalizing vectors
- Demo: Point-normal form and signed distance
- 6. Applications of QR
-
7. Eigenvalues
- PDF: eigenvalues.pdf
- Video: Eigenvalues
- Video: Power Iteration
- Quiz: Eigenvalues
- Quiz: Power Iteration
- Activity: Eigenvalues
- Eigenvalues and eigenvectors explained visually
- Demo: Finding an equilibrium distribution using the power method
- Demo: Orthogonal Iteration
- Demo: Power iteration and its Variants
- 8. Singular Value Decomposition
- 9. Applications of the SVD
-
10. Function Spaces
- PDF: function-spaces.pdf
- Video: Interpolation
- Video: Interpolation Error
- Video: Fourier Analysis
- Quiz: Interpolation
- Quiz: Interpolation Error
- Quiz: Fourier Analysis
- Quiz: Differentiation
- Activity: Interpolation
- Activity: Interpolation: Error and Piecewise
- Activity: Numerical Differentiation
- Activity: Numerical Integration
- Demo: Accuracy of Simpson's rule
- Demo: Audio Synthesis with Sines
- Demo: Choice of Nodes for Polynomial Interpolation
- Demo: Computing the weights in Simpson's rule
- Demo: Finite Differences vs Noise
- Demo: Finite Differences
- Demo: Fourier Interpolation
- Demo: Frequency-domain audio experiments
- Demo: Interpolation Error
- Demo: Interpolation with Generalized Vandermonde Matrices
- Demo: Interpolation with Radial Basis Functions
- Demo: Jump with Chebyshev Nodes
- Demo: Monomial interpolation
- Demo: Orthogonal Polynomials
- Demo: Taking Derivatives with Vandermonde Matrices
- Code: html5_audio.py
-
11. Nonlinear Equations
- PDF: nonlinear-equations.pdf
- Video: Rate and Order of Convergence
- Video: Newton's method
- Quiz: Rate and Order of Convergence
- Quiz: Newton's method
- Activity: Nonlinear Equations
- Demo: Bisection Method
- Demo: Convergence of Newton's Method
- Demo: Convergence of the Secant Method
- 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
-
12. Optimization
- PDF: optimization.pdf
- Video: Optimization
- Video: Constrained Optimization
- Quiz: Optimization
- Quiz: Constrained optimization
- Activity: Optimization
- The zen of gradient (=steepest) descent
- 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
- 13. Floating Point
Textbook

Coding the matrix
Philip N Klein, $31 Paperback, Newtonian Press, 2013
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.
On the web
- What every computer programmer should know about floating point (A gentler version of the original article by David Goldberg)
Previous editions of this class
Python Help
- Python tutorial
- Facts and myths about Python names and values
- Dive into Python 3
- Learn Python the hard way
- Project Euler (Lots of practice problems)
Numpy Help
- 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
- 100 Numpy exercises
Team








Grading Policies
Please take this short tutorial on our grading policies, followed by a for-credit quiz.