Introduction to Numerical Analysis
Curriculum guideline
Lecture: 4 hours/week
and
Tutorial: 1 hour/week
Classroom time will be used for lectures, demonstrations, discussions, problem-solving practice, in-class assignments (which may include work in groups), and computing assignments.
Computer arithmetic
- Number representations: binary, decimal, floating point
- Error in number representations: round-off, relative, absolute, significant digits
- Floating point arithmetic
- Error propagation and loss of significance
- Algorithms and stability
Solution of nonlinear equations
- Bisection method
- Fixed point iteration
- Newton’s method
- Secant method
- Convergence rate
- Convergence acceleration: Aitken's delta-squared method, Aitken-Steffensen iteration
Systems of linear equations
- Gaussian elimination
- Pivoting strategies in Gaussian elimination
- LU-factorization and PA=LU-factorization
- Norms, condition number and conditioning
- Iterative methods: Jacobi, Gauss-Seidel, successive over-relaxation
Interpolation and approximation
- Polynomial interpolation and interpolation error: Lagrange form, divided differences, Chebyshev
- Cubic spline interpolation
- The method of least squares for data fitting
Differentiation and integration
- Numerical differentiation: Finite difference methods, Richardson extrapolation
- Numerical integration: Trapezoidal rule, Simpson's rule, Newton-Cotes formulas, composite numerical integration, Romberg integration, Gaussian quadrature
Ordinary differential equation initial value problems
- Euler's method
- Higher-order Taylor methods
- Runge-Kutta methods
- Convergence, stability and stiffness
- Systems of differential equations
Upon successful completion of the course, students should be able to:
- describe the normalized floating-point number system and computer arithmetic of floating-point numbers;
- define round-off error, absolute error, relative error, and significant digits;
- describe error propagation and identify operations that produce large errors in computer arithmetic;
- describe the efficiency, accuracy, and stability of an algorithm;
- distinguish between the condition of a problem and the stability of an algorithm;
- derive and implement root finding methods to solve nonlinear equations in one variable;
- define and determine rates of convergence for solution methods to nonlinear equations in one variable;
- derive and implement methods for accelerating convergence in solution methods to nonlinear equations in one variable;
- solve a system of linear equations directly using Gaussian elimination, and represent the process in matrix factored form;
- explain and apply pivoting strategies in Gaussian elimination;
- solve linear systems numerically using matrix factorization and the matrix inverse;
- determine the computational complexity of algorithms used to perform Gaussian elimination;
- define and compute the norm and the condition number of a matrix, and use the results to discuss the conditioning of a system of linear equations;
- solve linear systems numerically using iterative methods;
- construct an interpolating polynomial for a given set of data points;
- approximate a function using an interpolating polynomial, and estimate the error in the approximation;
- implement cubic spline interpolation with natural or clamped boundary conditions;
- implement the method of least squares to find an approximating polynomial for a given set of data points;
- explain and implement numerical differentiation methods for approximating derivatives, and estimate the error in the approximation;
- explain and implement numerical integration (quadrature) methods for approximating integals, and estimate the error in the approximation;
- solve initial value problems using numerical methods and estimate the error in using the method;
- explain and apply the concepts of convergence, stability, and stiffness when solving initial value problems numerically;
- solve systems of ordinary differential equations using numerical methods;
- write programs that implement and test numerical algortihms using a programming language such as Python, or numerical software such as MATLAB.
Assessment will be in accordance with the Douglas College Evaluation Policy. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following:
Tutorials: 0-10%
Term Tests: 20-60%
Assignments: 10-25%
Quizzes: 0-15%
Attendance: 0-5%
Final Examination: 30-40%
Total: 100%
Consult the Douglas College Bookstore for the latest required textbooks and materials. Example textbooks and materials may include:
Burden, Richard L. and Faires, J. Douglas. (current edition). Numerical Analysis. Cengage.
Ascher, Uri M. and Grief, Chen. (current edition). A First Course on Numerical Methods. SIAM.
Sauer, Timothy. (current edition). Numerical Analysis. Pearson.
None
None
None