The
formal purpose of this course is to
introduce students of the sciences to some
of the numerical algorithms that are at the heart of all numericalcomputation
on digital computers. An
understanding of these algorithms requires
a knowledge and appreciation of the
following fundamentals of
numerical computation :
Computation
with finite precision in finite time.
Computation
with a small set of primitive operators
(+, -, *, / ).
Construction
and analysis of algorithms.
Perturbation
analysis of problems and error
estimation of algorithms .
Testing
and evaluation of numerical software.
The
informal purpose of the course is to
demonstrate that high-quality mathematical
software writing is a very demanding and
difficult task which is best left to
experts. A corollary to this is that there
is a lot of junk software in use today
because of the inability of users to
distinguish between good and bad
mathematical software.
Hence, the ultimate purpose of this course
is to make you critical mathematical
software users or consultants.
Course
Outline
Some of the links below may be broken while the notes are being
updated.
1.
Introduction (1 week)
1.1
Introduction 1.2
Standard Numerical Problems 1.3
General Numerical Algorithms 1.4
Numerical Software 1.5 Anomalies & Pitfalls
4.1
Non-Linear Equations
4.2 Single Non-Linear
Equation
4.3 The Bisection Algorithm
4.4 The Newton Algorithm
4.5 The Secant Algorithm
4.6 Poly-Algorithms
4.7 Zeros of Polynomial
Plagiarism is a very serious academic
offence. It is assumed that students understand the meaning and
consequences of plagiarism. See Plagiarism Policy and Procedures
for UCD's policy and information on plagiarism.
In courses that require students to write
programs for credit, plagiarism is particularly easy to do and particularly easy to detect.
Grading
The final
grade will have this composition :
Please note that this is
the official grade composition. Ignore all others.
Moler,
Cleve B. : Numerical
Computing with MatlabLINK.
Moler developed Matlab around 1980 and
knows what he is talking about. This is
an excellent book which is downloadable
free from the link above. Be sure to get
the Matlab programs that come with it.
Gratzer, George :More Math into LaTeX, 4th ed. (2008). This is a very good book,
especially for typesetting mathematics with AMS-LaTeX. If you use this
600-page book, you don't need the others.
Flynn,
P. : Beginner's
Introduction (zip
1.45MB) New
Version, obscurely called Formatting Information, here.
There is
no required text for this course. The notes
and links above are required reading and you
are responsible for downloading and printing
these and to have the appropriate notes with
you for each class.
Forsythe,
G.E. & Moler C.B. : Computer
Solution of Linear Algebraic Systems,
Prentice-Hall, 1967.
Forsythe,
G.E., Malcolm, M., and Moler, C.B. : Computer
Methods for Mathematical Computations,
Prentice-Hall, 1977.
Whittaker,
Sir E.T. & Robinson, G. : The
Calculus of Observations : An
Introduction to Numerical Analysis,
Dover, 1967, a republication of the
4th ed., 1944. First ed., Blackie &
Sons, 1924. From the Preface of the
First Edition, 1924: [Numerical
Analysis] is now included in the syllabus
for the Open Competitive Examination for
appointments in the Home and Indian Civil
Sevices, the Colonial Service, etc.
The present volume represents courses of
lectures given at different times during
the years 1913-1923 by Professor
Whittaker to undergraduate and graduate
students in the Mathematical Laboratory
of the University of Edinburgh, ...
Wilkinson,
James H. : Rounding
Errors in Algebraic Processes, Notes on Applied Science No. 32, Her Majesty's
Stationary Office, 1963. Also published by Prentice-Hall 1964. Reprinted by
Dover, 2000?
Wilkinson,
James H. : The Algebraic Eigenvalue
Problem, Oxford University
Press, 1965.
Not
Recommended Texts
Press,
W.H., Flannery, B.P., Teukolsky, S.A.,
and Vetterling, W.T. : Numerical
Recipes, Cambridge University Press,
1986, and 2nd Ed 1992 (See NR-Critics)
Software.
Thoughout
this course we will be using Matlab,
and to small extent Maple. Both
of these are excellent packages but they are
expensive (€700-1000 depending on
add-ons). There are free or cheap
alternatives. I have listed some of these on
my Alternative
Software page.
Discussion Groups.
There
are many discussion groups on Matlab and LaTeX.
Code
Comments a good place to start for
programming languages.
Math
Forum has discussions on
many mathematical topics : theory, software, history.
If you have questions about
Matlab, LaTex, Maple, etc., these sites may help, but you need practice using
them to get the best results.
This
is one of the best places to search for
technical
papers
Interactive Algorithm Simulators.
These are web-based interactive
programs that allow you to see how various algorithms and number systems
work.
Computer Arithmetic Algorithms
Simulator : This website
demonstrates the basic arithmetic operations at the bit-hardware
level. It goes into great detail about integer and floating point
hardware operations such as +, - , *, /, and the elementary functions.
Interactive
Educational Modules in Computational
Science : This website
covers a broad range of algorithms using floating point arithmetic.
Included are Nonlinear and Linear Equations, Eigenvales, Random Numbers,
etc.