Introduction to Numerical Analysis
This is a survey of the basic numerical methods which are used to solve scientific problems. A numerical method is an algorithm, or a sequence of steps, for solving a set of equations. These can be linear equations, nonlinear equations, or differential equations. We will study the accuracy, stability, and efficiency of the some of the basic methods. The emphasis is evenly divided between the analysis of the methods and their practical applications. Some convergence theorems and error bounds are proved. Scientific problems were traditionally investigated by theory and experiment, but now computer simulations are also being used in problems such as airplane design, weather prediction, modeling the spread of an epidemic, and improving the efficiency of solar cells, to cite just a few examples. There are software packages that can be used as a black box, but in this course we will look under the hood and see how the methods work.
The course also provides an introduction to MATLAB, an interactive program for numerical linear algebra, as well as practice in computer programming. One goal of the course is to show how calculus and linear algebra are used in numerical analysis.
A Friendly Introduction to Numerical Analysis, by Brian Bradie, Pearson, 2006, ISBN-13:978-0130130549
A tentative list of topics to cover are (the indicated chapters are from the textbook by Bradie):
- Chapter 1: Floating Point Arithmetic and Error Propagation (1.2–1.4)
- Chapter 2: Rootfinding (2.1–2.7)
- Chapter 3: Systems of Equations & Numerical Linear Algebra (3.1–3.10)
- Chapter 5: Interpolation (5.1–5.8)
- Chapter 6: Numerical Integration (6.3–6.7)
- Chapter 7: Numerical Methods for Differential Equations (7.1–7.6)
- Chapter 8: Two-Point Boundary Value Problems (time-permitting)
Advice for Students
Questions are encouraged — if something is unclear during class, please ask, ask, ask, ask. Review your the notes after each class and make a list of points that are unclear. Ask me about these points either in class or office hours. Do not postpone understanding something.
Be in full control of your work. When a code you wrote works (i.e. gives you the “desired answer”) for example, make sure you understand completely why it worked instead of abandoning it immediately.
Make the point above a habit. If you do not understand why a method, an algorithm, a piece of code works, you do not know know when it will fail. The consequences of such failures are known to be catastrophic:
- Homework 1
- Homework 2
- Homework 3
- Homework 4
- Homework 5
- Homework 6
- Homework 7
- Homework 8
- Homework 9
- Homework 10
Below you may find a (n incomplete) set of lecture notes or codes written using Jupyter (see Jupyter) notebooks. The scientific computing software used in Math 471 was MATLAB. The notes provided here are just a proper subset of what is covered in class and they are meant to be supplementary only.