This course is an introduction to numerical analysis with an emphasis on practical applications, implementation, and algorithm design. The primary objective of this course is to gain an  understanding of the algorithms and pitfalls encountered when performing numerical operations on computational systems, including algorithm design and the proper understanding and use of available numerical algorithms.

Course Outline

Homework 1 (Math)

P1.2, P1.3, P1.6, P1.9, P1.15

Homework 2 (Data Types)

P2.2: Write a program that takes a series of numbers as command-line arguments and outputs their sum

Complexity and Error

Discrete Math
Defining Error
Representing Numbers

Homework 3 (Complexity)

P3.1, P3.2

Homework 4 (Error)

P4.1, P4.2, P4.5
P5.1, P5.2, P5.5, P5.6, P5.7

Loss of Precision

Catastrophic Cancellation
Reformulation
Taylor Approximations

Solving Equations

Bracketing Methods
Householder Methods
Hybrid Methods