Math 371:   Numerical Algorithms

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),
231, 241 (or 247), 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
• errors in computation
• machine arithmetic
• conditioning
• Fundamental Algorithms for:
• Solving equations (finding roots)
• Solving linear systems
• Interpolation
• Numerical Differentiation and Integration
• Numerical methods for ODEs
• Curve fitting
• Approximation - FFT
• Optimization
______________________ Some Web Resources ______________________
• Numerical Methods with Applications by Kaw, Kalu, Nguyen (PDF, DOC, videos), seems good, detailed, with examples
• Numerical Methods Course Notes by Steven E. Pav, 2005   nice set of notes,   can download .pdf

• 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

______________________ 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)
• M.T.Heath, Scientific Computing, McGraw-Hill, 2002   slides excellent

• (useful only for Matlab)  C.Moler, Numerical Computing with Matlab , SIAM 2004 , book chapters (free)