Numerical Mathematics and Computing
Overview of Content and Purpose: solving equations and systems of
equations, interpolation, numerical
differentiation and integration, numerical solutions to ordinary differential equations, numerical calculations
of eigenvalues and eigenvectors, analysis of algorithms and errors, computational efficiency.
For whom: Graduates and undergraduates (third or fourth year majors in
computer science or mathematics)
needing a basic familiarity with numerical techniques for solving problems.
Prerequisites: MATH 1960 (cal II), MATH 2050 (Applied Linear Algebra).
Objectives: The purpose of this course is to introduce the student:
1. Techniques for finding numerical approximations to solutions to mathematical problems of various types,
2. Considerations of algorithm efficiency and error control in numerical procedures, and
3. The use of packaged computer algorithms in the solution of numerical problems.
Course objectives and expected student outcomes
The main objectives and expectation of this course is that students learn methods for computing accurate
numerical solutions to mathematical and scientific problems, and acquire an understanding of when and why a
particular methods work, and how reliable, accurate and efficient they are.
The first main topic is a review of Taylor polynomials, which are a basic
tool in numerical computation
because they allow the approximation of many functions by polynomials, which are easy to evaluate. Then we
consider general issues of how to describe and measure the accuracy of numerical solutions, and sources of
inaccuracy such as rounding in arithmetic. We will see methods for numerically solving problems such as
nonlinear equations, systems of simultaneous equations, approximating functions by polynomials, fitting
straight lines and simple curves to experimental data, and approximating derivatives and definite integrals:
mainly from Chapters 1-12 of the textbook, but not all sections of each chapter. We will also look briefly at
solving differential equations, to preview an important topic that you are likely to see in later courses.
Description: This course will emphasize the development of numerical
methods to provide solutions to
common problems formulated in science and engineering. Students will study topics in Numerical Analysis
from the applications point of view. They will be able to apply numerical methods to the problems that do not
have analytic solutions. Students will be able to use the numerical analysis approach to solve real world
The student should become familiar with techniques for solving numerically
large problems. In particular,
he/she should become familiar with Numerical techniques for solving nonlinear equations, approximation by
polynomials, quadrature and ordinary differential equations. Topics include:
• Numerical techniques for solving nonlinear equations including the study
of error analysis and rate of
convergence. Solving systems of linear equations by direct and iterative methods.
• The error estimate for numerical solutions in matrix algebra: Solution of eigenvalue problems.
• Numerical methods for differentiation and integration with the discussion of error estimate.
• Interpolation and approximation of functions by polynomials and splines.
• Numerical solutions of ordinary differential equations
Methods to be used: Primarily lecture and
discussion, although work with computer implementations of algorithms
will provide an important body of experience.
Student role in the course: Students will be expected to attend lectures, participate in discussions, and
complete the written homework and programming assignments.
Theoretical content: The majority of the topics covered in this course are theoretical.
Problem analysis: Various techniques for obtaining
numerical estimates of solutions to problems are
presented in this course.
Solution design: Students design algorithmic solutions or select appropriate tools to obtain numerical
solutions to a variety of problems.
Homeworks: Homework outlined on the course syllabus
will be collected and involving a mixture of written
and programming work;. Read each section and do homework weekly as assigned. Homeworks will be set
each Thursday and due the following Thursday unless otherwise notified. The due dates will be posted on the
course web page. An assignment will be considered late if it is not handed in by the end of the class period on
the day that it is due. Late assignments will be not be accepted. All homework should be an individual effort
unless otherwise specified. I will usually set reading at the end of each class, and start each class with time for
questions on the reading, current assignments and such.
When computing the final grade for each individual at the
end of the semester, the lowest 2 homework
assignment grades will be dropped to allow for occasionally missing a class for whatever reason
Computers and Software: You may use one of the
following programming languages (Matlab,
Mathematica, Maple, C or C++). I strongly suggest you use Matlab for all your homeworks, which provides a
powerful interactive system for basic numerical computing and graphing, and also the ability to write
programs for larger problems. Familiarity with computer programming is assumed.
Mid-Term/ Final: Dates are listed on the syllabus.
Exams will be closed book and closed note, unless
Grading and Evaluation Criteria: Students are
expected to do reading and assignments as they are assigned.
Graded work will include homework problems, one mid-term exam and a final exam. The final grade will be
calculated using the following weights: mid-term 25%; final 25% and homeworks 50%. Also, special activity
points will be awarded to students for active participation in class, solving problems or pointing out my
mistakes. You may get up to 5% activity points to be added to your total score. Percentages of at least 90, 80,
70, 60 guarantee grades of at least A-, B-, C-, D- respectively.
Missed Work: If a student fails to take an exam or
fails to hand in an assignment on time, his/her score is
zero unless the reasons are beyond the student's control. It is to the student's advantage to inform the instructor
of such reasons before missing the work.
Make-up exams will only be given under exceptional
circumstances, such as in the incidence of a serious
illnesses or dire family emergency. In the incidence of such an emergency, the student must make every effort
to inform the instructor of his or her request to take a make-up exam before the start of the scheduled exam.
Attendance: Students are expected to attend every
class meeting and to arrive on time. If a student is absent
from class, he/she is responsible for all material, announcements and assignments missed. I will not check
attendance, but you are responsible for knowing what happens in each class including assignments,
information about test topics, and due dates. Thus if you miss a class, check for news, either from a classmate
or from me: checking the course web page should also help.
Honor: Students may study together but when doing
their homework, take-home or in-class exams, they must
do it completely alone. Students are not allowed to ask anyone for help on computer programming problems
except the Instructor. The honor code applies to all graded work in this course. Copying from others, either
from fellow students or off the internet, or from any other source, except as expressly indicated by me in
writing and fully documented, is strictly forbidden and may constitute grounds for failure.
Special Needs Students: Any student with special
needs or circumstances should feel free to meet with me
during office hours or to schedule an appointment.
Note: I will make every effort to make this course
enjoyable and profitable to you. However, numerical
analysis is not a spectator sport. You must have a positive attitude toward computer science, mathematics,
theory, and the pursuit of knowledge. I can present, clarify, and query, but I cannot learn for you. You must
make the effort to learn. For example, you should study your notes, read your text, and use the library without
Accommodations are provided for students with verified
disabilities. For more information contact Services
for Students with disabilities in EAB 117 or 554-2872, TTY 554-3799.
Table of Contents
1.1 Preliminary Remarks.
1.2 Review of Taylor Series.
2. FLOATING-POINT REPRESENTATION AND ERRORS.
2.1 Floating-Point Representation.
2.2 Loss of Significance.
3. LOCATING ROOTS OF EQUATIONS.
3.1 Bisection Method.
3.2 Newton’s Method.
3.3 Secant Method.
4. INTERPOLATION AND NUMERICAL DIFFERENTIATION.
4.1 Polynomial Interpolation.
4.2 Errors in Polynomial Interpolation.
4.3 Estimating Derivatives and Richardson Extrapolation.
5. NUMERICAL INTEGRATION.
5.1 Lower and Upper Sums.
5.2 Trapezoid Rule.
5.3 Romberg Algorithm.
6. ADDITIONAL TOPICS ON NUMERICAL INTEGRATION.
6.1 Simpson’s Rule and Adaptive Simpson’s Rule.
6.2 Gaussian Quadrature Formulas.
7. SYSTEMS OF LINEAR EQUATIONS.
7.1 Naive Gaussian Elimination.
7.2 Gaussian Elimination with Scaled Partial Pivoting.
7.3 Tridiagonal and Banded Systems.
8. ADDITIONAL TOPICS CONCERNING SYSTEMS OF LINEAR EQUATIONS.
8.1 Matrix Factorizations.
8.2 Iterative Solutions of Linear Systems.
8.3 Eigenvalues and Eigenvectors.
8.4 Power Method.
9. APPROXIMATION BY SPLINE FUNCTIONS.
9.1 First-Degree and Second-Degree Splines.
9.2 Natural Cubic Splines.
9.3 B Splines: Interpolation and Approximation.
10. ORDINARY DIFFERENTIAL EQUATIONS.
10.1 Taylor Series Methods.
10.2 Runge-Kutta Methods.
10.3 Stability and Adaptive Runge-Kutta and Multistep Methods.
11. SYSTEMS OF ORDINARY DIFFERENTIAL EQUATIONS.
11.1 Methods for First-Order Systems.
11.2 Higher-Order Equations and Systems.
11.3 Adams-Bashforth-Moulton Methods.
12. SMOOTHING OF DATA AND THE METHOD OF LEAST SQUARES.
12.1 Method of Least Squares.
12.2 Orthogonal Systems and Chebyshev Polynomials.
12.3 Other Examples of the Least-Squares Principle.