M371 - Alexiades
Math 371: Numerical Algorithms
Catalog description:
Development and application of fundamental algorithms for finding
roots of equations, solving systems of linear equations,
interpolating,
fitting data using least-squares, differentiation, integration, and
solving ordinary differential equations.
Prereq: A high level programming language (e.g., Math171 or Computer
Science 102),
ODEs (231), and basic matrix algebra (e.g., 200 or 251 or 257).
3 credits
This is a first course in Scientific Computing, concerning
fundamental algorithms needed for
Computational Science
This course is as basic for Computational Science
as Calculus is for Science, namely indispensible!
Emphasis on: underlying problem, numerical algorithms,
hands-on implementation, why they work, pitfalls.
Computational Science : doing Science by means of computation ("in silico").
Involves: scientific problem → math problem
→ computational algorithm →
numerical solution →
implications for original scientific problem.
It has become the 3rd pillar of Science,
complementing Theory and Experiment.
Real scientific/technological/managerial problems canNOT be
solved explicitly/exactly.
We need to approximate them by simpler (easier)
ones with "nearly" the same solution... hopefully...
Thus, we need to develop effective approximations
and understant the effects of errors in the calculations.
Want algorithms to be as accurate as possible,
as reliable as possible, and
efficient and robust !
These aims often go against each other, so trade-offs need to be made...
Dictum: There is NO best algorithm for a given class of problems!
So, need a variety of algorithms, and more than one should be used on a given problem, to increase confidence in results...
Contents Outline
Introduction:
•
scientific computing as a tool for computational science
•
calculus review, Taylor expansion
•
machine arithmetic - roudoff
•
errors in computation
•
conditioning
Fundamental Algorithms for:
•
Solving equations F(x)=0 (finding roots)
•
Solving linear systems: Ax=b
•
Interpolation
•
Numerical Differentiation
•
Quadrature (Numerical Integration)
•
Numerical methods for ODEs
•
Curve fitting
•
Approximation - Signal processing (FFT) - Machine Learning (Neural Networks)
•
Optimization (...if time permits...)
Some Web Resources
Free book:
Numerical Methods with Applications by Kaw, Kalu, Nguyen
(PDF, DOC, videos), seems good, detailed, with examples
Free book: Numerical ODEs by Vuik et.al, 2015
(also contains roots, interpolation, quadrature)
youtube videos on various numerical methods
...some good, some bad...
Mathematics Source Library C & ASM brief description of core num. methods (and C codes) ...excellent
Numerical Recipes in Fortran 90, 2nd Ed. 1996
Numerical Methods on Wolfram MathWorld
If you are happy not having to pay for a book, you may want to
fill out this nomination form.
Some Relevant Books
Burden-Faires, Numerical Analysis, Brooks/Cole,
any edition, good book
(google it, older editions seem to be freely available...)
Steven Chapra Applied Numerical Methods with Matlab,
2nd ed., McGraw-Hill 2008
( looks good, compare prices )
W.Cheney - D.Kincaid, Numerical Mathematics and Computing,
any edition (good but expensive...)
C.F.Gerald - P.O.Wheatley, Applied Numerical Analysis,
7th ed., Addison-Wesley, 2003 (PDF seems to be freely available)
(useful only for Matlab) C.Moler, Numerical Computing with Matlab , SIAM 2004 ,
book chapters (free)