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)