CS 537 (same as MA-537 and EGR-537) - Numerical Analysis

Credits: 3

Course Description

Floating point arithmetic. Direct methods for the solution of systems of linear algebraic equations. Polynomial and piecewise polynomial approximation, orthogonal polynomials. Numerical integration: Newton Cotes formulas and Gaussian quadrature. Basic methods for initial value problems for ordinary differential equations. The emphasis throughout is on the understanding and use of software packages for the solution of commonly occurring problems in science and engineering.

Prereq: CS/MA 321 or equivalent or graduate standing or consent of instructor. Knowledge of a procedural computer language is required.

Needed Skills

Students need to have good mathematical background (Calc. 3 and Linear Algebra) knowledge of material covered in CS/MA321, knowledge of a high-level programming language (e.g., C, Fortran).

Learning Outcomes

Students will gain sound understanding of major concepts and problems of numerical analysis; be able to use already existing or design their own algorithms; fully understand floating-point errors and how to cope with them; gain a firm understanding of numerical methods for scientific problems.

Specifically students will be able to:

  1.  Estimate computation errors
  2. Analyze sensitivity of the problem to be solved
  3. Select/propose numerically stable methods
  4. Understand important properties for a number of basic methods (e.g., Gaussian elimination, Hermite and spline interpolation, basic and composite rules, uniform and least-square approximation techniques, iterative methods for nonlinear equations and fixed points)
  5. Modify problems (to increase their smoothness and/or reduce condition numbers) for better algorithm performance
  6. Analyze results computed in fl-arithmetic

Measures

These outcomes will be evaluated on the basis of student home-works, exams and class participation that will contain problems related to the outcomes.

CAC Categories

Topic

Core

Advanced

Math Fundamentals

30

10

Data Structures

0

0

Algorithms & Software Design

4

0

Computer Organization and Architecture

0

0

Concepts of Programming Languages

0

0

Social and ethical issues

1

0

Total

35

10

Math Fundamentals (40):

Core (30): estimation of condition numbers and fl-arithmetic errors, proving stability of algorithms, estimating truncation errors, designing and analyzing methods for specific problems.

Advanced (10): norms, elements of functional analysis, problems dealing with multivariate problems.

Data Structures: none

Algorithms and Software (4): Core (4): Writing and testing efficient codes for number of specific problems.

Computer Organization and Architecture: none

Concepts of Programming Languages: none

Social and Ethical Issues (1): Discussion of professional and academic integrity.

Oral Communication

none

Written Communication

5-7 home-works and projects

Content

Theoretical Content: 60%

Error estimation, approximation and discretization techniques, norms, function spaces (e.g., Hilbert spaces), specific mathematical/engineering problems to be solved numerically

Problem Analysis: 20%

Formulate the problem to be solved numerically, analyze its sensitivity and (eventually) propose a modification more suited for numerical computations

Solution Design: 20%

Choose/design a method that is most suited for particular problem, estimate the cost and verify stability of proposed methods, validate the theoretical results by empirical data

Student Evaluation and Feedback

Students are evaluated on their work (home-works, exams, class participation). Students receive back their homework and exams promptly (next class meeting). These papers are marked to indicate errors and to suggest different/better solutions. Moreover, all problems and their solutions are discussed during lectures.

Course Evaluation Questions

The course has helped me:

  • Understand fl-arithmetic and errors caused by it.
  • Learn basic numerical methods.
  • Identify efficient methods for specific problems.
  • Analyze/understand computed results.
  • Understand the relevance of continuous mathematics to numerical computations.

Possible Textbook

Numerical Analysis, Mathematics of Scientific Computing,
D. Kincaid and W. Cheney,
Brooks/Cole Publishing Company