** M371 - Alexiades**

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

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

______________________ *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)