If you have programmed before and if you've already taken a course in numerical analysis and numerical linear algebra then you might also want to audit or enroll in CSC 446/2310 "Computational Methods for PDE" which is meeting W1-3, F2-3 in BA B024. This course will have a different flavour than mine and so I recommend it as well.

For the finite difference methods, I have asked that "Finite difference schemes and partial differential equations" by John C. Strikwerda be put on reserve at the engineering library.

For the spectral methods, I have asked that "Spectral Methods: Fundamentals in Single Domains" by Claudio Canuto be put on reserve in the math/stat library.

Note that both Strikwerda's and Canuto's books have some content available at google books.

Matlab is proprietary. You can buy a student version of it in the textbook section of the UofT bookstore for $117 before taxes. If you're in the math department, you have access to matlab on the computer "sphere". Log in to coxeter and from there log in to sphere. If you aren't in the math department then you have to hope that matlab's installed on the machine you have access to.

Octave is free software which has the matlab look and feel. You can install it on your own computer and the matlab code I provide should work just fine.

SciPy is an open source software which is a python-based scientific computing environment. It's well worth looking into.

Syllabus

Lecture Notes: Jan 6, 2009

Lecture Notes: Jan 8, 2009

Lecture Notes: Jan 13, 2009

Homework 1. due on Tuesday January 27. Note: you're only being asked to hand in problems 2-4.

Lecture Notes: Jan 15, 2009

Here's the demo from class on Jan 15. It needs heat1.m, heat3.m, and heat_cn.m found here.

Lecture Notes: Jan 20, 2009

Lecture Notes: Jan 22, 2009

Lecture Notes: Jan 27, 2009

Homework 2. due on Thursday February 12.

Here's the demo from class on Jan 29. It needs heat_eul_neu.m found here.

Here's another demo. It needs buggy_heat_eul_neu.m found here.

Here's another demo. It needs subopt_bcs_heat_eul_neu.m found here.

Lecture Notes: Jan 29, 2009

Some notes on the diffusion equation in higher dimensions, if you want them...

Lecture Notes: Feb 3, 2009

Lecture Notes: Feb 5, 2009

You can find the in-class demos for the advection equation here.

Convergence studies of schemes for initial data with different amounts of smoothness.

Lecture Notes: Feb 10, 2009

Homework 3. due on Thursday February 26.

The take-home exam will be due at 11:10 on Tuesday March 3. I will email it to you by 11am on Monday March 2.

Lecture Notes: Feb 12, 2009

Lecture Notes: Feb 24, 2009

Lecture Notes: Feb 26, 2009

You can find the in-class demos from Feb 26 here.

Homework 4. due on Tuesday March 17. Note: the first version I put up of this HW had a first problem which was identical to the last problem on HW3. It involved finding a modified equation. You don't need to do that problem.

Lecture Notes: Mar 3, 2009. The proof of the Lax-Wendroff theorem is provided for those of you who're curious to read it. It's not required reading.

Lecture Notes: Mar 5, 2009.

You can find the in-class demos from March 5 here.

Lecture Notes: Mar 10, 2009.

Lecture Notes: Mar 12, 2009. Supplemental reading, if you want it.

Lecture Notes: Mar 17, 2009.

You can find the in-class demos from March 17 here.

Lecture Notes: Mar 19, 2009.

Homework 5. due on Thursday April 2. The script class_Mar17.m may be helpful for problem 2e.

Lecture Notes: Mar 24, 2009.

Lecture Notes: Mar 26, 2009.

Lecture Notes: Mar 31, 2009.

You can find the in-class demos from March 31 here.

Lecture Notes: Apr 2, 2009.

Lecture Notes: Apr 7, 2009.

Homework 6. due on Monday April 20 along with your final exam.

You can find the in-class demos from April 7 here.

Lecture Notes: Apr 9, 2009.

You can find the in-class demos from April 9 here.