CSC336 Numerical Methods

Fall 2023 Bulletin board for csc336 Fall 2023 -- course outline -- MarkUs

Course information for current students:

Textbook web page (see educational modules)

Material to be covered in the course (with textbook sections in parentheses)

2023-09-12 (3 hours)
0.   What is Scientific Computing? (1.1, 1.2.1)
1.   Computer arithmetic; data and computational errors
1.1  (Human) Representation of nonnegative integers
   - Algorithm for converting base b integers to decimal
   - Algorithm for converting decimal integers to base b
1.2  (Human) Representation of reals
   - Algorithm for converting base b fractions to decimal
   - Algorithm for converting decimal fractions to base b
1.3  Computer representation of numbers (1.3.1-7)
   - floating-point numbers, mantissa, exponent, normalized mantissa,
     significant digits, overflow, underflow, range of representable numbers,
     representable numbers, chopping, rounding
   - The IEEE Standard
1.4  Round-off error (1.3.5)
1.5  Absolute and relative errors (1.2.2)
1.6  Computer arithmetic -- saturation in addition (1.3.8)
1.7  Machine epsilon (1.3.5)
1.8  Error propagation in simple arithmetic calculations (1.3.8-9)
   - Multiplication, division, addition/subtraction
   - catastrophic cancellation
1.9  Error propagation in computation: conditioning of problems (1.2.6)
   - condition number of function
1.10 Error propagation in computation: stability of algorithms (1.2.7)
1.11 Forward and backward errors (1.2.3-5)
     Propagated data error
     Truncation (discretization) and rounding errors, computational error
     Total error
1.12 Taylor series
2023-09-19 (3 hours)
1.13 O(n^b) and O(h^a) notations

Tutorial on matlab
Tutorial on computer arithmetic

2023-09-26 (3 hours)
2.   Direct methods for solving square linear systems
2.1  Vectors and matrices -- review of terminology and properties
2.2  Solving lower triangular linear systems [2.4.2]
     Forward substitution (f/s)
2.3  Solving upper triangular linear systems [2.4.2]
     Back substitution (b/s)
2.4  Equivalent linear systems - row operations [2.4.1]
2.5  An example of solving a linear system by GE and b/s
2.6  Gaussian elimination (GE) [2.4.3, 2.4.4, 2.4.6-7]
2.7  LU factorization [2.4.3, 2.4.4, 2.4.7]
     elementary Gauss (elimination) transformation matrices
2.8  Symmetric and symmetric positive definite matrices [2.5.1, 2.5.2]
     LDL^T and Choleski factorizations
2.9  Banded matrices [2.5.3]
     Banded LU/GE and b/f/s
2.10 Computing the inverse of a matrix [2.4.7]
     Properties of inverse
     [more on elementary Gauss (elimination) transformation matrices]
2023-10-03 (3 hours)
     Properties of inverse (end)
Tutorial 3 (matrices, operation counts, GE/LU, inverse)
2.11 GE with partial pivoting [2.4.5-6]
     breakdown or instability of GE, interchanges of rows, columns
     types of pivoting
     elementary Gauss transformation matrices; elementary permutation matrices
2.12 Scaled partial pivoting [2.4.10]
2.13 Complete pivoting
2.14 Effect of pivoting to special matrices -- symmetry and bandedness
2.15 MATLAB and solution of linear systems
2.16 Mathematical software [2.7]
2023-10-10 (3 hours)
Tutorial 4 (GE/LU pivoting)

2.17 Inner products
2.18 Norms [2.3]
2.19 Vector norms [2.3.1]
2.20 Matrix norms [2.3.2]
2.21 Condition number of a matrix [2.3.3-5]
     Other interpretations of the condition number of a matrix
Tutorial 5 (norms and condition numbers of matrices), Q1-4
2023-10-17 (3 hours)
Discussion on A1
Tutorial 5 (norms and condition numbers of matrices), Q5-10

3.   Nonlinear equations and systems [5.1, 5.2]
     roots, multiplicity
3.1  Fixed points and roots of functions [5.2]
     systolic or contractive functions
3.2  Existence and uniqueness of root and fixed point [5.2]
     Theorems 1, 2, 3, 4 with proofs
2023-10-24 (3 hours)
     Theorems 1, 2, 3, 4 with proofs (end)
3.3  Numerical methods for solving nonlinear equations [5.3, 5.4, 5.5]
     Nonlinear solvers, residual, stopping criteria
3.4  Convergence rate of iterative methods [5.4]
3.5  The bisection method [5.5]
2023-10-31 (3 hours)
3.6  Fixed-point (functional) iteration methods [5.5]
     Convergence of fixed-point iteration (Th 4b, Th 5)
     Rate of convergence of fixed-point iteration (Th 6 with proof)
3.7  Newton's method (Newton-Raphson method) [5.5]
     Rate of convergence of Newton's method
3.8  The secant method [5.5]
3.9  Numerical methods for solving nonlinear systems of equations [5.6]
     Newton's method
3.10 Overview of iterative methods for nonlinear equations and systems
Fall break
2023-11-14 (3 hours)
Tutorial 6 (nonlinear equations)

4    Interpolation
4.1  Approximation and interpolation - Introduction [7.1]
4.2  Polynomial approximation - Weierstrass theorem
4.3  Evaluating a polynomial -- Horner's rule (nested multiplication) [7.3.1]
4.4  Polynomial interpolation using monomial basis functions [7.3.1]
4.5  Polynomial interpolation using Lagrange basis functions [7.3.2]
2023-11-21 (3 hours)
4.6  Existence and uniqueness of polynomial interpolant [7.2]
4.7  Polynomial interpolation using Newton's basis functions
     and the Divided Differences Table [7.3.3]
4.8  Comparison of the three bases
4.9  Error of the polynomial interpolant [7.3.5]
Tutorial 7 (polynomial interpolation)
4.10 Pitfalls of polynomial interpolation [7.3.5]
4.11 Piecewise polynomials and splines [7.4]
4.12 Linear spline interpolation (Lagrange form) [7.4.2]
     Error in linear spline interpolation
2023-11-28 (3 hours)
4.13 Cubic spline interpolation -- choice of end-conditions [7.4.2]
     Error in cubic spline interpolation
4.14 Spline interpolation in MATLAB
4.15 Construction of a clamped cubic spline interpolant
4.16 Piecewise cubic Hermite interpolation
4.17 Overview of spline and pp interpolating methods
Tutorial 8 (piecewise polynomial and spline interpolation)
2023-12-05 (2 hours)
extra note on Q4 of Tutorial 8
A2 discussion

Notes and handouts:
Note on use of notes: Notes will be available when the course starts. While it may be convenient to study for the course by reading the notes, it should be made clear that the notes are not there to substitute the textbook or any relevant book. Notes are always more condensed and give less overall information than books.
Notes with math notation, etc, are difficult to read online. It may be preferable for some of you to print out the 4-page style notes on paper (preferably double-sided).

Access to the data below requires that you type in your CDF (teaching labs) username (same as UTorId) and last 5 digits of your student number as password. This password (for accessing the website) cannot be reset.

Lecture notes

Tutorial notes Assignments Other