Numerical algorithms are behind designing shapes
(e.g. shapes for cars, planes, fonts), computing intensities
for displaying graphics, animating moving objects,
studying the spread of diseases,
modelling the orbit of planets and satellites,
supporting search engines such as google,
and many more practical problems modelled by mathematics.
In this course we will look at a variety of such problems
and learn how to develop accurate and efficient
numerical algorithms for solving them.

Prerequisite: CSC336H1/CSC350H1

Recommended preparation: exposure to multivariate calculus
(e.g. partial derivatives)

- Aims
- Outline
- References
- Prerequisites
- Schedule for Fall 2020
- Marking scheme for Fall 2020
- Announcements for current students
(
**this is the site for currently registered students**)

- Formulate numerical methods for approximation, integration, eigenproblems and ODEs.
- Evaluate numerical methods with respect to their convergence, stability, and efficiency.
- Develop and practice computer skills in implementing numerical methods efficiently on the computer.
- Use high level software for studying numerical methods.

- Interpolation
- Introduction
- Polynomial interpolation - Weierstrass theorem
- Monomial basis - Vandermonde matrix
- Lagrange basis
- Newton's basis - Newton's divided differences
- Existence and uniqueness of interpolating polynomial
- Evaluation of a polynomial - Horner's rule
- Error of polynomial interpolation
- Polynomial interpolation with derivative data - Hermite interpolation
- Langrange basis
- Newton's basis - Newton's divided differences
- Existence and uniqueness of Hermite interpolating polynomial
- Error of Hermite interpolation
- Problems with polynomial interpolation - Runge's function
- Piecewise polynomial interpolation - splines
- Piecewise linear interpolation - error formula
- Hermite piecewise cubic interpolation
- Cubic spline interpolation - choice of end-conditions
- B-spline basis functions
- B-spline interpolation, linear and cubic

- Quadrature Rules
- Introduction, interpolatory rules, Newton-Cotes rules, polynomial degree of a rule, linearity
- Midpoint rule and error
- Trapezoidal rule and error
- Simpson's rule and error
- Corrected trapezoidal rule and error
- Orthogonal and orthonormal polynomials
- Gauss rules and use of tables, transformation
- Compound quadrature rules, introduction
- Compound midpoint rule and error
- Compound trapezoid rule and error
- Compound Simpson's rule and error
- Romberg integration
- Adaptive quadrature rules
- (Semi-)infinite integrals (truncation and translation), singularities (change of variables)

- Eigenvalues and eigenvectors
- Introduction and some properties
- QR factorization of matrices
- Non-square linear systems -- Least squares solution
- Computation of eigenvalues and eigenvectors
- Power iteration
- QR iteration

- Ordinary Differential Equations
- Introduction to ODEs
- Stability of ODEs and systems of ODEs, Jacobian, stiff ODEs
- Introduction to num. methods for ODEs
- Euler's method
- Implicit methods, backward Euler's (BE) and trapezoidal method (TM)
- Runge-Kutta (RK) methods
- Taylor's series methods
- Linear Multistep Methods (LMMs)

General Numerical Analysis |
||

Michael Heath | Scientific Computing: an introductory survey | SIAM 2018 (or McGraw-Hill Inc.) |

Uri Ascher and Chen Greif | A first course in Numerical Methods | SIAM 2011 (e-book on library) |

David Kincaid and Ward Cheney | Numerical Analysis | Brooks/Cole |

Richard L. Burden and J. Douglas Faires | Numerical Analysis | Brooks/Cole |

James Epperson | An introduction to Numerical Methods and Analysis | Wiley |

Samuel D. Conte and Carl de Boor | Elementary Numerical Analysis | SIAM 2018 (also McGraw-Hill Inc.) |

L. W. Johnson and R. D. Riess | Numerical Analysis | Addison Wesley |

David Kahaner, Cleve Moler and Stephen Nash | Numerical Methods and Software | Prentice Hall |

G. Dahlquist and A. Bjorck (trans. N. Anderson) | Numerical Methods | Prentice Hall |

J. Stoer and R. Bulirsch | Introduction to Numerical Analysis | Springer Verlag |

Charles Van Loan | Introduction to Scientific Computing | Prentice Hall 2000 |

Numerical Linear Algebra |
||

William W. Hager | Applied Numerical Linear Algebra | Prentice Hall 1988 |

Gene Golub and Charles Van Loan | Matrix computations | John Hopkins University Press 1996 |

- General: Ability to handle notation and to do algebraic manipulation.
- Calculus: Differentiation and integration of polynomial, trigonometric, exponential, logarithmic and rational functions, continuity, limits, graphs of functions, Taylor series, Rolle's theorem, mean-value theorem, de l' Hospital's rule, multivariate differentiation, etc.
- Linear Algebra: Matrix and vector addition and multiplication, elementary row operations, linear (in)dependence, inverse matrix, etc.
- Numerical Linear Algebra (included in CSC350/336): Linear solvers for banded and sparse matrices, Nonlinear equations solvers.
- Computational methods: Understanding of round-off error, computer arithmetic, etc.
- Programming: knowledge of some programming language, such as FORTRAN, C or MATLAB.
- Other Mathematics: induction.

Lectures | Monday 15:00-17:00 | Room BA 2185 and online |

Tutorial | Wednesday 15:00-16:00 | Room BA 2185 and online |

Office Hours | Monday 13:00-14:00 | Online (and Room TBD for very special cases) |

** Tentative marking scheme for Fall 2020 **

Homework 1 | 2% |

Homework 2 | 4% |

Homework 3 | 4% |

Assignment 1 | 12% |

Assignment 2 | 13% |

Assignment 3 | 13% |

Term test 1 | 13% |

Term test 2 | 13% |

Final test | 26% |