CSC436 Numerical Algorithms
[Announcements]
[Material covered[
[Lectures, Tutorials, Assignments (with pass)]
Announcements, Course information for current students:
-
The first meeting of the course is
Tuesday 6 January 2026, 6-9 PM. (Starts at 6:10 PM).
The room is MP 134 (MacLennan Physics)
-
No classes
February 16-20, 2026 (Spring break / Reading week -- A&S calendar).
-
To access the assignment, or the notes, you will need to type
your CDF (teaching labs) username (same as UTorId) as loginname,
and last 5 digits of your student number as password.
This password (for accessing the website) cannot be reset,
and it is only for accessing the website.
If you registered for the course today, please wait a day,
to check access to the website.
Please note that to access the servers/computers,
the password is different.
There is an initial password set by the system (usually the student number),
and then you can set it to whatever you want.
-
Bulletin/discussion board for csc436 Spring 2026.
Need to register with your utoronto.ca e-mail address.
-
Important note on the use of bulletin boards:
No parts of or whole answers to the assignment/exam problems
should be posted to the boards (or anywhere else),
even after the assignment is due.
Questions and answers (even written by you) should never
be shared with anyone or anywhere.
Any violation of this rule will bring trouble to the poster.
Please use judgement before posting.
Any questions posted on the bulletin boards should be general enough
and should not reveal intermediate or final results (correct or wrong).
If unsure, ask by e-mail to instructor.
-
All assignments and exams are to be done individually by each student.
See the course outline
about academic integrity and additional information.
- Here is a latex example file,
with associated files
spyalt.eps, spyblock.eps,
trochoid1.m,
assign.bib, to compile correctly,
and output 436a1.pdf.
You can use it for assignments, but you may also use you own latex template.
Please always use font size 12 and linespread 1.1, as shown in the sample file.
Do NOT use dark background in any page or figure.
See the course outline for more details on presentation.
-
CDF/Teaching Labs:
Please see http://www.cdf.toronto.edu
or http://www.teach.cs.toronto.edu
(they are the same), especially the
Resources, Intro to new students tab, and the
Using Labs, Remote Access Server tab.
-
Running remotely, etc:
If you want to run matlab and other applications remotely
on teach.cs (CDF), and you are using Windows or Mac OS
on your computer/laptop, you will need the so-called
X forwarding on your computer/laptop.
X forwarding allows you to run any application, including matlab,
remotely on teach.cs (CDF) and the output/display/plots/etc
be shown on your computer/laptop.
See
https://www.teach.cs.toronto.edu/using_cdf/x2go.html
for a way to have X forwarding on your computer/laptop.
-
Matlab:
The basic Matlab is free for students. (UT pays for it.)
See https://www.mathworks.com/academia/tah-portal/university-of-toronto-676468.html
However, you need to first register with matlab, as shown
in the above page.
(You do this only once.)
You can also consider free (perpetually) alternatives to Matlab,
such as Octave.
-
To use matlab on cdf, through the linux shell, on the workstations
in the teaching labs,
first you need to register with matlab as in
https://www.mathworks.com/academia/tah-portal/university-of-toronto-676468.html
(You do this only once.)
Then, on one of the workstations in the teaching labs, you type
/usr/local/bin/matlab -softwareopengl
or
/usr/local/bin/matlab -nodesktop -softwareopengl
The first time it is slow, as it loads lots of stuff,
but the second time and on, it should be faster.
-
To use matlab on cdf, through the linux shell, remotely,
you need to register and use it once on the workstations in the teaching labs,
then, you can use it remotely.
You need to login via ssh
(on an xterm or other terminal in unix, linux, mac, or cygwin,
and on putty in windows,
or through some free X forwarding application such as mobaxterm, or X2Go)
with a command such as
ssh -X user@cdf.toronto.edu
or
ssh -l user -X -f wolf.cdf.toronto.edu xterm
where ``user'' is your cdf username, then, once on cdf, run
/usr/local/bin/matlab -softwareopengl
or
/usr/local/bin/matlab -nodesktop -softwareopengl
Within matlab, you may want to go to a certain directory, say ~/matlab,
and for this you can use the unix shell command
cd ~/matlab
within matlab. You may also want to have a startup.m file
in that directory, to always run some standard commands
(e.g. format compact) every time you start matlab.
-
Textbook: The textbook for this course is Michael Heath's,
Scientific Computing: an introductory survey,
SIAM 2018 (Revised Second Edition).
This is the same book used for CSC336 Spring 2025.
https://my.siam.org/Store/Product/viewproduct/?ProductId=30156464
The list price is approximately $94.00 USD, but
there is also a 30% discount for SIAM members
(students are able to take advantage of this if they sign-up
for a free SIAM Student membership).
https://www.siam.org/Membership/Join-SIAM/Individual-Members/Student
This book was also published by McGraw-Hill Inc in the past,
but because the price was quite higher,
we ordered custom-made copies through the UT bookstore,
which were cheaper.
This year we did not order those copies,
as the SIAM price is reasonable.
However, if you find those copies from past students,
they are equivalent (not identical, but equivalent) to the SIAM edition.
This book covers most of what is needed in the course.
-
Textbook web page (see educational modules)
-
Another textbook appropriate for this course is
Uri Ascher and Chen Greif's,
A first course in Numerical Methods, SIAM.
This book is available electronically at the UT library
(free for UT students)
-
Lecture and tutorial times
may be used interchangeably, when the need arises.
You should not be skipping the tutorials or the lectures.
Material to be covered covered in the course (Spring 2026):
(Textbook sections in parentheses:
H = Heath, AG = Ascher and Greif, KC = Kincaid and Cheney, BF = Burden and Faires)
You may consult any of the following references.
The primary textbook is Heath's.
-
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
First couple of lectures may go a bit fast over things that
were done in csc336. A few more things will be added.
Later lectures go on to new material.
2026-01-06 3 hrs
1 Interpolation
1.1 Approximation and interpolation - Introduction [H 7.1, KC 6.0, BF 3, AG 10.1]
1.2 Polynomial approximation - Weierstrass theorem [KC 6.1, BF 3]
1.3 Evaluating a polynomial -- Horner's rule (nested multiplication)
[H 7.3.1, KC 6.1, BF 2.6 pgs 92-94, AG 1.3 pgs 10-11]
1.4 Polynomial interpolation using monomial basis functions [H 7.3.1, KC 6.1, BF 3.1, AG 10.2]
1.5 Polynomial interpolation using Lagrange basis functions [H 7.3.2, KC 6.1, BF 3.1, AG 10.3]
1.6 Existence and uniqueness of polynomial interpolant [H 7.2, KC 6.1, BF 3.1, AG 10.1+2]
1.7 Polynomial interpolation using Newton's basis functions
and the Divided Differences Table [H 7.3.3, KC 6.1-2, BF 3.2, AG 10.4]
1.8 Comparison of the three bases
1.9 Error of the polynomial interpolant [H 7.3.5, KC 6.1, BF 3.1, AG 10.5]
Proof of Theorem
Remarks on Theorem
Theorems relating the polynomial interpolation error with Newton's DD
(we will do these next time)
1.10 Linear independence of functions/polynomials [BF 8.2, AG 10.1 pg 297]
1.11 Polynomial interpolation with derivative data [KC 6.3, BF 3.3, AG 10.7]
Most general (Birkoff) polynomial interpolation problem
A less general (Hermite) polynomial interpolation problem -- existence and uniqueness
An even less general (Hermite) polynomial interpolation problem
Standard Hermite polynomial interpolation problem
1.12 Hermite polynomial interpolation using monomial basis
1.13 Hermite polynomial interpolation using Lagrange basis [KC 6.3, BF 3.3]
1.14 Hermite polynomial interpolation using Newton's basis [KC 6.3, BF 3.3, AG 10.7]
2026-01-13 3 hrs
1.9b Remarks on polynomial interpolation error Theorem
Theorems relating the polynomial interpolation error with Newton's DD
1.10 Linear independence of functions/polynomials [BF 8.2, AG 10.1 pg 297]
Notes and handouts:
Course information
Outline
Access to the data below requires that
you type in your CDF (teaching lab) username
(as login) and
last 5 digits of your student number
(as pass).
This password (for accessing the website) cannot be changed.
Notes
- Interpolation 1 - monomials,
1-page,
- Interpolation 2 - Lagrange, Newton, error,
1-page,
- Interpolation 3 - Hermite (monomials, Lagrange, Newton), pitfalls,
1-page,
Tutorials
Assignments
If you are new to MATLAB, you may be interested in
A brief introduction to MATLAB,
Christina C. Christara and Winky Wai
Tutorial on MATLAB,
Christina C. Christara