(Rev. 30 September, 2001)

The course will cover theoretical and practical aspects of numerical analysis carried out on digital computers. The examples will be drawn from various fields including physics, engineering, ecology, and economics. The subjects covered will include solution of equations, evaluation of functions, and analysis of data.

Under the rubric of “practical aspects” will be emphasis on key elements of computer programming technique: clarity, simplicity, maintainability, documentation, and safety; as well as testing and debugging. Issues of algorithmic efficiency and execution speed will be discussed in detail.

Weighting for final grade | |||
---|---|---|---|

Item |
Weight |
||

HW (biweekly, about 6 assignments) |
30% | ||

Minor project | 25% | ||

Major project | 45% |

- Number systems used in (digital) computing
- Roots of transcendental equations and polynomials
- Newton's iteration
- Binary search
- Regula falsi
- Hybrid methods
- Classifying roots of polynomials
- Synthetic division

- Representing functions
- Evaluating functions
- Representing measurements
- Fourier analysis—fast Fourier transform
- Polynomial expansions—Gram polynomials, least-squares fitting

- Bounded-error estimates—Chebyschev polynomials

- Optimization
- Nonlinear least squares fitting — Conjugate gradient method (steepest descents)
- Functions of one variable
- Functions of several variables
- Downhill simplex
- Simulated annealing

- Linear programming (if time)

- Linear algebra and matrix problems
- Basic theorems
- Linear equations
- Gauss-Jordan elimination
- LU decomposition
- Eigenvalue problems
- Relation to integral equations

- Monte Carlo methods
- Random numbers—their use, generation and limitations
- Batting practice
- Non-uniform random variates
- Young's 2 slit experiment

- Numerical quadrature (evaluating integrals)
- Newton-Cotes formulae
- Gaussian formulae
- Adaptive methods
- Monte Carlo integration
- Multidimensional integrals

- Ordinary differential and difference equations
- Qualitative nature of solutions
- Calculus of finite differences
- Taylor's series

- Partial differential equations
- Qualitative nature of solutions
- Boundary conditions
- Representation as difference equations
- Monte-Carlo methods

- Integral equations
- Volterra equations
- Difference kernels
- Fredholm equations
- Nonlinear equations

- Symbolic manipulation and computer algebra
- Rule-based programming
- Parsing formulas
- Symbolic differentiation
- Gamma matrix algebra

- Digital data processing
- Analog to digital conversion
- Information content
- Data compression
- Error-correcting codes

- Programming in style
- Elementary considerations
- Readability
- Testability and safety
- Maintainability