MA 346 - Numerical Methods

MA 346 - Numerical Methods

This course begins with a brief introduction to writing programs in a higher level language, such as Matlab. Students are taught fundamental principles regarding machine representation of numbers, types of computational errors, and propagation of errors. The numerical methods include finding zeros of functions, solving systems of linear equations, interpolation and approximation of functions, numerical integration and differentiation, and solving initial value problems of ordinary differential equations.

Prerequisites:    MA 116, MA 124

Corequisites:    MA 221

Course Objectives

This course introduces basic methods, algorithms and programming techniques to solve mathematical problems. The course is designed for students to learn how to develop numerical methods and estimate numerical errors using basic calculus concepts and results, as well as writing programs to implement the numerical methods with a software package, such as Matlab.

Learning Outcomes

  1. Machine Numbers: understand IEEE standard binary floating point format, machine precision and computer errors;
  2. Bisection Method: use the bisection method to solve the equation f(x)=0 and estimate the number of iterations in the algorithm to achieve desired accuracy with the given tolerance;
  3. One-Point Iteration: use the iterative method to find the fixed point of the function f(x), and analyze the error of the algorithm after n steps;
  4. Higher-order Rootfinding Methods: use Newton's method, Newton-Raphson's method, or the secant method to solve the equation f(x)=0 within the given tolerance;
  5. Aitken Extrapolation: understand the order of a convergent sequence and use Aitken's method to accelerate the convergence of the sequence, as well as determining the order of convergence using the iterative method combined with the Taylor formula;
  6. Roots of Polynomials: combine Horner's method with Muller's method to compute roots of a polynomial and analyze whether a numerical root is truly a complex root, or if its imaginary part results from numerical errors.
  7. Polynomial Interpolation: use polynomial interpolations, including the Lagrange polynomial, the Hermit polynomial and cubic spline functions, for curve fitting, or data analysis; use Neville's iterative algorithm, Newton's divided difference or cubic spline algorithms to evaluate the interpolations;
  8. Newton Divided Differences: derive difference formulas to approximate derivatives of functions and use the Lagrange polynomial to estimate the errors of the approximations;
  9. Newton-Cotes Integration Methods: use the closed Newton-Cotes formula, including the Trapezoidal rule and Simpson's rule, to approximate definite integrals; use the Lagrange polynomial to estimate the degree of accuracy; derive the composite numerical integration using the closed Newton-Cotes formula;
  10. Richardson Extrapolation: use Richardson's extrapolation to derive higher order approximation formulas for numerical differentiation and integration;
  11. Adaptive Integration Methods: approximate integrals using adaptive quadrature methods and estimate numerical errors;
  12. Programming Skills: write numerical programs, such as Matlab programs, to solve the above problems;


Burden, R. L. and J. D. Faires, Numerical Analysis, eighth edition, Thomson–Brooks/Cole Publication.