Course Description
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. The secondary objective is to gain practical programming experience with C/C++ and Matlab, including algorithm design and the proper understanding and use of available numerical algorithms.
Syllabus [ PDF ]
Textbooks
[ PDF ] Numerical Methods in Practice  (in progress)
Lectures
01 [ PPTX ]  Introduction to numerical methods, quantization errors, and programming tools 
2.1 [ YouTube ] [ PDF ] 2.2 [ YouTube ] [ PDF ] 
Computational complexity, Horner's algorithm, polynomial derivatives 
3.1 [ YouTube ] [ PDF ] 3.2 [ YouTube ] [ PDF ] 
Numerical representation, error, loss of precision HexEdit website: hexed.it 
4.1 [ YouTube ] [ PDF ] 4.2 [ YouTube ] [ PDF ] 
Methods for mitigating precision loss, rearranging terms, Maclaurin series 
5 [ YouTube ] [ PDF ]  Roots of Equations and Optimization 
6.1 [ YouTube ] [ PDF ] 6.2 [ YouTube ] [ PDF ] 6.3 [ YouTube ] [ PDF ] 
Linear Systems, Gaussian elimination, and instabilities 
7 [ YouTube ] [ PDF ]  Probability, random number generators 
Review 1 [ PDF ]  
8 [ YouTube ] [ PDF ]  Finite difference calculus 
9 [ YouTube ] [ PDF ]  Numerically solving partial differential equations [ Python ] [ MATLAB ] 
Review 2 [ PDF ]  
10 [ YouTube ] [ PDF ]  Numerical integration, MonteCarlo methods 
11 [ YouTube ] [ PDF ]  Least squares fitting 
12 [ YouTube ] [ PDF ]  Interpolation 
13 [ YouTube ] [ PDF ]  Kessel Run Programming Assignment MATLAB Euler example 
Review 3 [ PDF ] 
Homework and Programming Assignments
Homework 1  Review Chapters 1 and 2 (math and C/C++ review) Get an account on Tuxedo (Engineering Computer Lab) Submit: a program that echos user input. input: (assuming your executable is the default "a.out") ./a.out repeat this text output: echo: "repeat this text" 
Homework 2  Read Chapter 3 Submit: P3.1, P3.2 
Programming 1A  Chapter 3, Programming Assignment Horner's Method (no submission yet) 
Homework 3  Read Chapters 5 and 6 5.1 #6, 5.2 #2, 5.3 through 5.10, 6.4, 6.12, 6.16 
Programming 1  Chapter 7 Programming Assignment Implement the Newton Horner Method 
Practice Exam #1  Practice Exam #1 Answers 
Homework 4  8.1, 9.1A, 9.7, 10.1, 10.2 
Programming 2  Python Benchmark: lup_benchmark.py
Usage:

Practice Exam #2  Practice Exam #2 Answers 
Programming 3: instructions slides Euler example 
Implement the Kessel Run Cluster files: cluster1.mat 
Practice Exam #2  Practice Exam #3 Answers 