Skip to main content
Back to top
Ctrl
+
K
Numerical Methods and Analysis with Python
Frontmatter
Introduction
Main
1. Root-finding
1.1. Root Finding by Interval Halving (Bisection)
1.2. Solving Equations by Fixed Point Iteration (of Contraction Mappings)
1.3. Newton’s Method for Solving Equations
1.4. Taylor’s Theorem and the Accuracy of Linearization
1.5. Measures of Error and Order of Convergence
1.6. The Convergence Rate of Newton’s Method
1.7. Root-finding Without Derivatives
1.8. Further Exercises on Root-finding
2. Linear Algebra and Simultaneous Equations
2.1. Row Reduction (Gaussian Elimination)
2.2. Machine Numbers, Rounding Error and Error Propagation
2.3. Partial Pivoting
2.4. Solving
\(Ax = b\)
with LU factorization
2.5. Solving
\(Ax = b\)
With Both Pivoting and LU factorization
2.6. Error bounds for linear algebra, matrix norms, condition numbers, etc.
2.7. Operation Counts for Solving Simultaneous Linear Equations
2.8. Iterative Methods for Simultaneous Linear Equations
2.9. Faster Methods for Solving
\(Ax=b\)
with Tridiagonal and Banded Matrices
2.10. Computing Eigenvalues and Eigenvectors: the Power Method and Beyond
2.11. Solving Nonlinear Systems of Equations by generalizations of Newton’s Method — an introduction
2.12. Further Exercises on Linear Algebra
3. Polynomial Collocation and Approximation
3.1. Polynomial Collocation (Interpolation/Extrapolation)
3.2. Errors and Error Formulas for Polynomial Collocation
3.3. Choosing the Collocation Points: the Chebyshev Method
3.4. Piecewise Polynomial Approximating Functions and Spline Interpolation
3.5. Least-squares Fitting to Data
3.6. Least-squares Fitting to Data: Appendix on The Geometrical Approach
4. Derivatives and Definite Integrals
4.1. Approximating Derivatives by the Method of Undetermined Coefficients
4.2. Richardson Extrapolation
4.3. Definite Integrals, Part 1: The Building Blocks
4.4. Definite Integrals, Part 2: The Composite Trapezoid and Midpoint Rules
4.5. Definite Integrals, Part 3: The (Composite) Simpson’s Rule and Richardson Extrapolation
4.6. Definite Integrals, Part 4: Romberg Integration
5. Optimization
5.1. Finding the Minimum of a Function of One Variable Without Using Derivatives
5.2. Finding the Minimum of a Function of Several Variables
6. Initial Value Problems for Ordinary Differential Equations
6.1. Background and Some Examples
6.2. Euler’s Method
6.3. Runge-Kutta Methods
6.4. A Global Error Bound for One Step Methods
6.5. Systems of ODEs and Higher Order ODEs
6.6. Error Control and Variable Step Sizes
6.7. An Introduction to Multistep Methods: Leap-frog
6.8. Adams-Bashforth Multistep Methods
6.9. Implicit Methods: Adams-Moulton
6.10. Predictor-Corrector Methods — Future Topic
6.11. Introduction to Implicit Methods and Stiff Equations — Future Topic
7. Future Topics
7.1. Special Methods for ODE IVPs of Second Order and Conservative Systems
7.2. Finite Difference Methods for ODE Boundary Value Problems
7.3. The Galerkin Method for ODE Boundary Value Problems
Some Templates for Exercises
1. Root Finding by Interval Halving, Exercise 1 template
2. Root Finding by Interval Halving, Exercise 2 template
Python Tutorial
1. Introduction to the Python Tutorial
2. Getting Python Software for Scientific Computing
3. Suggestions and Notes on Python and Jupyter Notebook Usage
4. Python Basics
5. Notes on Python Coding Style
6. Python Variables, Including Lists and Tuples, and Arrays from Package Numpy
7. Decision Making With if, else, and elif
8. Defining and Using Python Functions
9. Iteration with
for
10. Iteration with
while
11. Code Files, Modules, and an Integrated Development Environment
12. Recursion (vs iteration)
13. Plotting Graphs with Matplotlib
14. Numpy Array Operations and Linear Algebra
15. Package Scipy and More Tools for Linear Algebra
16. Summation and Integration
17. Random Numbers, Histograms, and a Simulation
18. Formatted Output and Some Text String Manipulation
19. Classes, Objects, Attributes, Methods: Very Basic Object-Oriented Programming in Python
20. Exceptions and Exception Handling
Appendices
1. Introduction to the appendices
2. Notebook for generating the module
numerical_methods
3. Linear algebra algorithms using 0-based indexing and semi-open intervals
4. Some Possible Projects
4.1. Project on ODE Eigenvalues (template)
4.2. Project on Minimizing Functions (template)
4.3. Project on the Kepler Problem (template)
5. Bibliography
6. Revision Notes and Plans
7. Notes for authors
Index