Introduction to Numerical Methods and Analysis with Python
Contents
Introduction to Numerical Methods and Analysis with Python#
Brenton LeMesurier College of Charleston, Charleston, South Carolina lemesurierb@cofc.edu, with contributions by Stephen Roberts (Australian National University)
Last revised November 20, 2022
Recent changes:
Brought over some revisions from the Julia version; in progress (see TO DO list)
Added a draft section Piecewise Polynomial Approximating Functions and Spline Interpolation, based on notes by Stephen Roberts.
Added a draft section Choosing the collocation points: the Chebyshev method, based on notes by Stephen Roberts.
Added first drafts of some sections on multi-step methods: leapfrog, Adams-Bashforth methods and Adams-Moulton methods.
Filled in several incomplete sections on ODE’s.
Better labelling of graphs and improved examples on ODE’s.
More typos corrected
This Jupyter book is a sibling of “… with Julia”, both of which are based on Elementary Numerical Analysis with Python, my notes for the course Elementary Numerical Analysis at the University of Northern Colorado in Spring 2021.)
The material is based in part on Jupyter notebooks and other materials for the courses MATH 245, MATH 246, MATH 445 and MATH 545 at the College of Charleston, South Carolina, as well as MATH 375 at the University of Northern Colorado.
To Do:
Transfer updates from the Julia version from Finding the Minimum of a Function of One Variable Without Using Derivatives — A Brief Introduction onwards.
Expand some sections that are only stubs or very brief; e.g. Mimimization, multi-step for ODEs and determining their stability.
More exercises
Gather exercises at the end of each sextion, with links from their current locations scattered through the text.
This is published at http://lemesurierb.people.cofc.edu/introduction-to-numerical-methods-and-analysis-python/
The primary language used for computational examples is Python and the related packages Numpy and Matplotlib, and it also contains a tutorial on using Python with those packages; this is excerpted from the Jupyter book Python for Scientific Computing by the same author.
Plans: I am working on an evolution of this to cover further topics, and with some more advanced material on analysis of methods, to make it suitable for courses up to introductory graduate level.
There is also a parallel edition that presents examples using the Julia programming language in place of Python; this can be found at the predictable location http://lemesurierb.people.cofc.edu/introduction-to-numerical-methods-and-analysis-julia/
Some Further Reading on Numerical Methods and Analysis#
[Sauer, 2019] Numerical Analysis by Timothy Sauer, 2nd or 3rd edition.
[Burden et al., 2016] Numerical Analysis by Richard L. Burden and J. Douglas Faires, 9th edition.
[Chenney and Kincaid, 2012] Numerical Mathematics and Computing by Ward Chenney and David Kincaid.
[Kincaid and Chenney, 1990] Numerical Analysis by David Kincaid and Ward Chenney.
[SciPy Lecture Notes] online at https://scipy-lectures.org/; a free reference mainly on the SciPy package, but also with some general information on using Python for scientific computing. It is available both as a web-site or downloadable as PDF or HTML — for off-line access, I prefer the HTML version rather than the PDF.
This work is licensed under Creative Commons Attribution-ShareAlike 4.0 International