Self Paced Course - Start anytime

Numerical Analysis (

Created by: Delivered by:

Numerical analysis is the study of the methods used to solve problems involving continuous variables. It is a highly applied branch of mathematics and computer science, wherein abstract ideas and theories become the quantities describing things we can actually touch and see.

The real number line is an abstraction where many interesting and useful ideas live, but to actually realize these ideas, we are forced to employ approximations of the real numbers. For example, consider marking a ruler at \sqrt{2}. We know that \sqrt{2} \approx 1.4142, but if we put the mark there, we know we are in error for there is an infinite sequence of nonzero digits following the 2. Even more: a number doesn’t have any width, yet any mark we make would have a width, and in that width lives an infinite number of real numbers. You may ask yourself: isn’t it sufficient to represent \sqrt{2} with 1.414? This is the kind of question that this course will explore. We have been trying to answer such questions for over 2,000 years (it is said that people have given their lives for the idea of \sqrt{2}, and they certainly wouldn’t think 1.414 sufficient). Modern computers can perform billions of arithmetic operations per second and trying to predict the path of a tropical storm can require many trillions of operations. How do we carry out such simulations and how do our approximations affect the result? The answer to the first question is certainly colored by the second!

Numerical analysis is a broad and growing discipline with many open questions. This course is designed to be a first look at the discipline. Over the course of this semester, we will survey some of the basic problems and methods needed to simulate the solutions of ordinary differential equations. We will build the methods ourselves, starting with computer arithmetic, so that you will understand all of the pieces and how they fit together in state of the art algorithms. Along the way, we will write programs to solve equations, plot curves, integrate functions, and solve initial value problems. At the end of some chapters we will suggest – in a section called “Of Things Not Covered” – some topics that would have been included if we had more time or other avenues to explore if you are interested in the topics presented in the unit.

Upon successful completion of this course, the student will be able to:

- Show how numbers are represented on the computer, and how errors from this representation affect arithmetic.

- Analyze errors and have an understanding of error estimation.

- Be able to use polynomials in several ways to approximate both functions and data, and to match the type of polynomial approximation to a given type of problem.

- Be able to solve equations in one unknown real variable using iterative methods and to understand how long these methods take to converge to a solution.

- Derive formulas to approximate the derivative of a function at a point, and formulas to compute the definite integral of a function of one or more variables.

- Choose and apply any of several modern methods for solving systems of initial value problems based on properties of the problem.

Course Requirements:

The prerequisites for taking this course are Linear Algebra , Differential Equations, and either Introduction to Computer Science I or a background in some programming language. Programming ideas will be illustrated in pseudocode and implemented in the open-source high-level computing environment.

More info: