Skip to main content
Ctrl
+
K
Introduction to Numerical Methods and Analysis with Python
1. Introduction
2. Revision notes and plans
3. Root-finding
3.1. Root Finding by Interval Halving (Bisection)
3.2. Solving Equations by Fixed Point Iteration (of Contraction Mappings)
3.3. Newton’s Method for Solving Equations
3.4. Taylor’s Theorem and the Accuracy of Linearization
3.5. Measures of Error and Order of Convergence
3.6. The Convergence Rate of Newton’s Method
3.7. Root-finding Without Derivatives
4. Linear Algebra and Simultaneous Equations
4.1. Row Reduction/Gaussian Elimination
4.2. Machine Numbers, Rounding Error and Error Propagation
4.3. Partial Pivoting
4.4. Solving
\(Ax = b\)
with LU factorization,
\(A = L U\)
4.5. Solving
\(Ax = b\)
With Both Pivoting and LU factorization
4.6. Error bounds for linear algebra, condition numbers, matrix norms, etc.
4.7. Iterative Methods for Simultaneous Linear Equations
4.8. Faster Methods for Solving
\(Ax = b\)
for Tridiagonal and Banded matrices, and Strict Diagonal Dominance
4.9. Computing Eigenvalues and Eigenvectors: the Power Method, and a bit beyond
4.10. Solving Nonlinear Systems of Equations by generalizations of Newton’s Method — a brief introduction
5. Polynomial Collocation and Approximation
5.1. Polynomial Collocation (Interpolation/Extrapolation)
5.2. Error Formulas for Polynomial Collocation
5.3. Choosing the collocation points: the Chebyshev method
5.4. Piecewise Polynomial Approximating Functions and Spline Interpolation
5.5. Least-squares Fitting to Data
5.6. Least-squares Fitting to Data: Appendix on The Geometrical Approach
6. Derivatives and Definite Integrals
6.1. Approximating Derivatives by the Method of Undetermined Coefficients
6.2. Richardson Extrapolation
6.3. Definite Integrals, Part 1: The Building Blocks
6.4. Definite Integrals, Part 2: The Composite Trapezoid and Midpoint Rules
6.5. Definite Integrals, Part 3: The (Composite) Simpson’s Rule and Richardson Extrapolation
6.6. Definite Integrals, Part 4: Romberg Integration
7. Minimization
7.1. Finding the Minimum of a Function of One Variable Without Using Derivatives — A Brief Introduction
7.2. Finding the Minimum of a Function of Several Variables — Coming Soon
8. Initial Value Problems for Ordinary Differential Equations
8.1. Basic Concepts and Euler’s Method
8.2. Runge-Kutta Methods
8.3. A Global Error Bound for One Step Methods
8.4. Systems of ODEs and Higher Order ODEs
8.5. Error Control and Variable Step Sizes
8.6. An Introduction to Multistep Methods: Leap-frog
8.7. Adams-Bashforth Multistep Methods
8.8. Implicit Methods: Adams-Moulton
8.9. Predictor-Corrector Methods — Coming Soon
8.10. Introduction to Implicit Methods and Stiff Equations
9. Exercises (under construction)
9.1. Exercises on the Bisection Method
9.2. Exercises on Fixed Point Iteration
9.3. Exercises on Error Measures and Convergence
9.4. Exercises on Newton’s Method
9.5. Exercises on Root-finding Without Derivatives
9.6. Exercises on Machine Numbers, Rounding Error and Error Propagation
9.7. Exercises on Solving Simultaneous Linear Equations
9.8. Exercises on Approximating Derivatives, the Method of Undetermined Coefficients and Richardson Extrapolation
10. Python Tutorial
10.1. Getting Python Software for Scientific Computing
10.2. Suggestions and Notes on Python and Jupyter Notebook Usage
10.3. Notes on Python Coding Style (under construction)
10.4. Python Basics
10.5. Python Variables, Including Lists and Tuples, and Arrays from Package Numpy
10.6. Decision Making With if, else, and elif
10.7. Defining and Using Python Functions
10.8. Iteration with
for
10.9. Iteration with
while
10.10. Code Files, Modules, and an Integrated Development Environment
10.11. Recursion (vs iteration)
10.12. Plotting Graphs with Matplotlib
10.13. Numpy Array Operations and Linear Algebra
10.14. Package Scipy and More Tools for Linear Algebra
10.15. Summation and Integration
10.16. Random Numbers, Histograms, and a Simulation
10.17. Formatted Output and Some Text String Manipulation
10.18. Classes, Objects, Attributes, Methods: Very Basic Object-Oriented Programming in Python
10.19. Exceptions and Exception Handling
11. Bibliography
12. Appendices
12.1. Notebook for generating the module
numericalMethods
12.2. Linear algebra algorithms using 0-based indexing and semi-open intervals
Index