Numerical Analysis. 4 Semester Hours.
An introduction to the numerical solution of mathematical problems. Primary
emphasis is upon the development of use of computational algorithms to obtain an
accurate numerical solution as well as methods for establishing error estimates
and bounds for this solution. These algorithms will primarily be implemented on
the computer using the Mathematica® system and a programming language such as
C/C++, FORTRAN, or Pascal. Some work will also be done by using a scientific
graphing calculator such as the TI-83 or TI-86. Grades will be based on
assignments and exams. Prerequisites: MATH 202, MATH 205, COMP 150, and
familiarity with the scientific graphing calculator. This course is cross-listed
as MATH 320. Students may enroll in either COMP 320 or MATH 320, but not both.
Mathematical-reasoning intensive.
The
textbook for this course is Numerical
Methods for Engineers, Third Edition, by Steven C. Chapra and Raymond P.
Canale (McGraw-Hill).
Notes and handouts (through hardcopy and file access) will also be used.
You will have access to all the files in our COMP 320 course folder
(subdirectory) on the Q-Drive during this course.
Selected class assignments, sample programs and data, and other
guidelines will be stored in this folder.
You will be using several numerical analysis tools during this course
including: a (TI) graphing calculator, a high-level language (C++, Fortran, or
Pascal), and Mathematica® (Q:\Class
Programs\Mathematica 4.bat).
All the references below are to the textbook unless otherwise indicated. Since one prerequisite for this course is COMP 150, it is assumed that you are familiar with using high-level programming language constructs through the topic of 1-D and 2-D arrays. It is also assumed that you are familiar with matrix algebra (MATH 205) as well as differential and integral calculus (MATH 201 and MATH 202). All of these disciplines will be used during this course.
•
Part I:
Modeling, Computers, and Error Analysis (Chapters 1-4)
- Mathematical
Modeling and Problem-Solving
- Analytic vs.
Numerical Solutions
- Computers,
Algorithms, and Software
- Convergence
-
Types
of Errors
- Roundoff Error, Underflow and Overflow
- Computer Arithmetic and its Sensitivity
- Taylor
Series and Truncation Error (Two Forms)
- Error
Propagation
- Problem
Condition and Algorithm Stability
- Total Numerical
Error
- Introduction to Mathematica®
- Programming Style and Documentation
•
Part
II: Roots
of Nonlinear Equations (Chapters 5-8)
-
Bracketing Methods: Bisection, False-Position
- Open
Methods: Fixed-Point Iteration, Secant, Newton-Raphson
- Polynomial
Evaluation and Root-Finding Methods
- Multiple
Roots and Complex Roots
- Error
Analysis
• Exam 1
•
Part III: Linear
Algebraic Systems of Equations (Chapters 9-12)
- Matrices,
Vectors and Linear Equations
- Vector
and Matrix P-Norms (P=1,2,¥)
- Direct
Solution Methods: Gaussian Elimination, Pivoting and LU Decomposition
- Ill-Conditioning
- System Solution vs. Matrix Inversion
- Iterative
Improvement
- Complex Linear Systems
- Indirect
(Iterative) Solution Methods: Gauss-Jordan, Gauss-Seidel
- Nonlinear
Systems of Equations
- Error
Analysis
•
Part IV: Optimization
(Chapters 13-16)
- Unconstrained
Optimization
- One-Dimensional Methods: Golden-Section Search,
Quadratic Interpolation
- N-Dimensional Methods: Direct, Gradient
- Constrained Optimization
- Linear Programming
- Nonlinear Programming
- Error Analysis
• Exam 2
•
Part V: Data
and Function Approximation (Chapters 17-18)
- Least-Squares Curve Fitting
- Linear and Multiple Regression (Basis Functions)
- Interpolation Methods: Lagrange, Newton
- Spline Fitting
- Error Analysis
•
Part
VI: Numerical
Differentiation, Integration and ODEs (Chapters 21-23, 25)
- Differentiation
Formulas: Forward, Backward, Central
-
Richardson Extrapolation
- Newton-Cotes and Gauss Integration Formulas
- Romberg Integration
- Differential Equation (IVP) Methods: Euler, Heun,
Runge-Kutta
- Error Analysis
•
Exam 3
•
Final Exam (Comprehensive)
James L. Noyes
Office: Room 329B Science.
Hours:
Regular hours are posted on office door; also by appointment.
Office Telephone:
327-7858
E-Mail:
jnoyes@wittenberg.edu (normally
checked 3-4 times daily on weekdays).
For more information, see the instructor’s
home page on the Web.
Learn
when numerical algorithms should be used for a given problem.
Learn
which numerical algorithms should be used for a given problem.
Learn
how to derive and use some of the more fundamental algorithms.
Learn
how to do an error analysis to bound or to estimate the approximate solution
accuracy.
Learn
effective and efficient computer science code implementations of algorithms.
Learn
to effectively use Mathematica in solving and checking solutions.
There
will be two types of assignments: programming assignments that implement and or
use numerical algorithms and analytical assignments to analyze properties of
algorithms and errors. Good program
design, style and documentation are (still) important in all of the programming
assignments. Clear and precise
logical steps and writing are important in all of the analytical assignments.
However, the main grading criteria is correctness.
If you have a question on any of the material you should raise it in
class as soon as possible. Assignments
will be accepted in class. They may
also be turned in at my office by 5:00pm on the day assigned with no penalty.
After that, up to 10% of the total points possible will be DEDUCTED
per day late (including weekends). Assignments
will not be accepted after three (3) days unless there is some type of
emergency situation or special arrangements are made ahead of time.
Late assignments should be slid under my office door (or under the
department door, if it is locked) - be sure my name is on it.
Exams
and quizzes are typically (although not always) based upon what has been covered
by lecture notes, assignments, handouts, and text material.
Exams and quizzes CANNOT be
taken later without a legitimately excused absence (e.g., death in the family,
personal illness, class field trip, necessary Witt-sponsored activity). This excuse should be in writing (e.g., e-mail), and the
instructor must be notified as far in ADVANCE
as possible.
The
grade for this course will be based upon assignments and projects (up to 500
points), three equally-spaced tests (100 points each), and a comprehensive final
examination (200 points). Some of
these points may also be obtained from unannounced quizzes. Assignments will be
due by 5:00pm on the day assigned with up to 10% of the total points possible
DEDUCTED per day late; assignments will not be accepted after three (3) days
unless special arrangements have been made.
Quizzes are typically unannounced and cannot be taken later. Exams cannot be taken later without advance notice and an
official excused absence. All
programming assignments MUST initially be submitted with a new 3.5"
diskette with a signed listing with the class account, date and time shown.
The diskette will contain the program itself as shown in the listing, and
any necessary data files. Class
attendance and participation is very important and will have a positive effect
on your grade. The final grade for
this course will be based upon the individual class average relative to the rest
of the class. If the score
distribution starts in the 90%-100% range, then a ten-point spread will probably
be used (e.g., 90% and above would be A-, A, or A+, 80% up to 90% is B-, B, B+,
etc.). (Note: All point values are approximate.)
Academic dishonesty of any kind on homework or exams is not
acceptable. This includes, but is
not limited to, plagiarism or collaboration with another student on homework or
tests. At a minimum it will
typically result in a reduced score (typically 0) for all parties involved and
it could result in a failing grade for this course.
In addition, there may be other University sanctions. See your Student
Handbook for additional details regarding Academic dishonesty.