Resources for learning about numerical methods. This document is a work in progress, but nevertheless contains useful information. Indended audience has little or modest experience with numerical methods. Assumed knowledge is an undergraduate linear algebra course and the calculus/diff. eq. sequence.
Disclaimer: Most linked content is not licensed, owned, or maintained by S. H. Bryngelson, nor can I ensure the correctness of any of the below resources. Use for educational purposes and at your own risk.
- Linear algebra refresher
- Error analysis
- Floating point numbers
- Linear systems
- Least squares
- Eigenvalues
- Solving nonlinear equations
- Optimization
- Interpolation
- Numerical integration and quadrature
- Initial value problems
- Ordinary differential equations
- Partial differential equations
Numerical analysis and linear algebra are fundamentally entangled. Forget your lin. alg. basics at your own risk. Fortunately, there are many great resources to get you up to speed, so dust off your copy of Gil Strang's book and check out the links below.
- What Is Backward Error? by Nick Higham
- Some examples of error analysis from Doug Hundley
- Lecture notes on conditioning and error analysis from Jim Lambers
- Lecture slides on the same topic from Jan Verschelde
- Some examples with solutions in an IPython Notebook
- Computerphile (video)
- IEEE standards (video)
- GeeksForGeeks
- Other floating point number formats
- Avoiding catastrophic cancellation with quadratic formula
- Lecture notes from Richard Krueger of UT
- What Every Computer Scientist Should Know About Floating-Point Arithmetic by David Goldberg
- Rounding and chopping to a floating point number by Ming Gu
- Lecture slides on floating point rounding by Bei Wang
- Code examples
-
Don't invert that matrix!
-
Direct linear solvers
- John Foster (video) and accompanying notes
- LU Decomposition
-
Using linear solvers to benchmark supercomputers
-
Code examples
- Examples from Andreas Klöckner of UIUC (Python)
- LU Decomp. via Doolittle from Quantstart (Python)
- LU from John Foster (Python)
- LU in Matlab and with pivoting
- Computing Reduced Row Echelon Form from Stelios Sfakianakis (Python)
- Computing LU and tridiagonal solves in (Matlab) from ashsepra
- Sherman Morrison formula (Python)
-
Steve Brunton on linear systems, least squares, and more (video)
-
QR and its flavors
-
Code examples
-
Introduction
-
Videos from Prof. Gil Strang (MIT)
-
Other comprehensive lecture notes
-
- From Michael Heath's book:
Computing the coefficients of the characteristic polynomial for a given matrix is, in general, a substantial task. The coefficients of the characteristic polynomial can be highly sensitive to perturbations in the matrix, and hence their computation is unstable. Rounding error incurred in forming the characteristic polynomial can destroy the accuracy of the roots subsequently computed. Computing the roots of a polynomial of high degree is another substantial task (indeed, one of the better ways of computing the roots of a polynomial is to compute the eigenvalues of its companion matrix using the methods we use for eigenvalues.
- From Michael Heath's book:
-
Krylov Subspace Methods
-
QR for Eigenvalues
-
Power method (or iteration)
- Wikipedia entry
- Video lecture from Jeffrey Chasnov: Part 1 and Part 2
- Lecture from Jacob Bishop (video)
- Lecture notes from of Jeffrey Wong of Duke
-
Secant method convergence rate is the golden ratio
-
Lecture notes on the topic
-
Lecture slides on the topic
-
Visualizing 2D root solving
- 2D Newton iteration from Daniel Korenblum
- Another great example from SamuraiMath (video) on 2D Newton's method
- 1D and 2D Bisection Method from Oscar Veliz (video)
-
Systems of nonlinear equations from Jeff Chasnov (video)
-
Code examples
- Bisection, Newton's method, and more from Andreas Klöckner of UIUC (python)
- 2D Newton's method from Hub on IT (python)
- Broyden method from Tim Kelly (Matlab)
-
Notes
- Great online notes from Leonid Kovalev of Syracuse including code examples in Matlab.
- Theoretical and mathematical underpinnings of optimization from Angelia Nedić of ASU
- The Golden section method from @NumericalGuy
- A bit math-heavy lecture notes from Georgia Tech's Arkadi Nemirovski
-
Video resources
- Successive parabolic interpolation from Oscar Veliz
- Comprehensive videos from Christopher Lum, see his other videos as well!
-
Code examples
- Newton's method, steepest descent, and more from Andreas Klöckner of UIUC (python)
- Nelder-Mead from François Chollet (python)
- Steepest decent, Newton's method, and more from Eirini Mitsopoulou (matlab)
-
Splines and all that
- What's the difference between splines and piecewise interpolants? Check out this SE.math Q/A and this one too
- There are many types of splines. Check out Quasar Chunawala's comments on the topic!
-
Orthogonal polynomials
- Chebyshev interpolation notes from Nicholas Marshall of Oregon State
- Runge's phenomenon (yes, that Runge) and the Chebyshev cure from John Cook
- The zoology of orthogonal polynomials
-
Great and rather comprehensive lecture notes from Leonid Kovalev on polynomial interpolation, Chebyshev polynomials, and splines
-
Video resources
- Spline examples and derivations from Jacob Bishop and The Math Guy
- Bicubic interpolation with application to image scaling by the beloved Mike Pound (computerphile)
-
Code examples
- Monominals, orthogonal polynomials, and more from Andreas Klöckner of UIUC (python)
- Chebfun! (a classic, in Matlab)
-
Lecture notes and slides
- Comprehensive lecture slides from Joseph Mahaffy (SDSU) on quadrature rules
- Lecture notes on quadrature from Kevin Kreider of UAkron
-
Video resources
-
Notes on the conditioning and stability of quadrature rules by Miriam Mehl of TUM
-
Code examples
- Newton-Cotes and Gaussian quadrature, finite differences from Andreas Klöckner of UIUC (python)
- quadpy: A Python package for quadrature rules
- Embedded notes and Newton-Cotes quadrature examples from Jennifer Klay, Matt Moelter, Jodi Christiansen, and more (python)
- Trapazoidal rule in Matlab from Christoffer Bredo Lillelund
- Embedded notes and quadrature examples in Matlab (interactive courseware) from Emma Smith Zbarsky
-
Videos from Prof. Steve Brunton (Washington)