Back to Prof. Calhoun's Homepage

Math 567 : Finite difference methods for differential equations

This course will introduce you to methods for solving partial differential equations (PDEs) using finite difference methods. The course content is roughly as follows :

The course will have roughly 6 homework projects and two midterms.

Send me an e-mail

Please send me an e-mail at so that I can compile an e-mail list for the class. At the very least, include a subject header that says "Math 567". You may leave the message area blank, if you wish, or send me a short note about what you hope to get out of this course.

Basic course information

Instructor Prof. Donna Calhoun
Office Mathematics 241A
Time Tuesday/Thursday 9:00-10:15
Place Math 124
Office Hours Thursday 1:15-2:45
Prerequesites Math 465 (Introduction to Numerical Methods) or equivalent course

Return to top of page

Required textbook and other resources

Return to top of page


We will stick the following schedule as much as possible.

Week #1 (Aug. 22)
Tuesday --  Introduction to finite difference approximations
Thursday --  Finite difference approximations; Computing truncation errors
Codes written or demonstrated in class :
Some useful or interesting links
Thomas Algorithm for solving tridiagonal systems (Thomas Algorithm)
Anaconda for scientific computing in Python (Anaconda Python)
Project Jupyter for Jupyter notebooks (Jupyter)

Week #2 (Aug. 28)
Tuesday --  Chapter 1 : Designing finite difference stencils
Codes written or demonstrated in class :
Thursday --  Boundary value problems (2.1-2.5)

Week #3 (Sept. 4)
Tuesday --  Stability, Consistency and Convergence (2.6-2.10)
Thursday --  Green's Functions and max-norm stability (2.11)

Week #4 (Sept. 11)
Tuesday --  Mathworks on-campus visit: River Front Hall, Rm. 101 (9:00-11:00)
Some useful or interesting links
More information and to register (Mathworks visit)
Thursday --  Work through details of Section 2.11 on stability of BVP problem

Week #5 (Sept. 18)
Tuesday --  Neumann boundary conditions (2.12-2.13)
Thursday --  Variable coefficient problems (2.15); Direct methods for 2d elliptic problems (3.1-3.3)
Codes written or demonstrated in class :

Week #6 (Sept. 25)
Tuesday --  Splitting methods : Jacobi and Gauss Seidel (4.1 - 4.2)
Lecture slides :
Iterative Methods - Splitting techniques  (pdf)
Thursday --  Steepest descent methods; Conjugate Gradient (4.3)
Codes written or demonstrated in class :

Week #7 (Oct. 2)
Tuesday --  Matrix-vector multiply in 2d
Codes written or demonstrated in class :
Thursday --  Chapter 5 : Initial Value Problems; Basic numerical methods; One step methods

Week #8 (Oct. 9)
Tuesday --  Terminology (one-step; multi-step, and so on); Truncation error
Thursday --  Runge-Kutta Methods

Week #9 (Oct. 16)
Tuesday --  Midterm #1
Thursday --  Multi-step methods

Week #10 (Oct. 23)
Tuesday --  Numerical convergence study of ODE methods
Codes written or demonstrated in class :
Thursday --  Chapter 6 : Zero stabilty for one-step methods

Week #11 (Oct. 30)
Tuesday --  Zero stabilty for linear multi-step methods
Thursday --  Chapter 7 : Absolute stability for ODEs

Week #12 (Nov. 6)
Tuesday --  Absolute Stability (cont.)
Other items of interest :
Wolfgang Bangerth's slides on Mantle Convection (Bangerth_slides.pdf)
Thursday --  Plotting of stability regions
Codes written or demonstrated in class :

Week #13 (Nov. 13)
Tuesday --  Non-linear problems; Chapter 9 : Diffusion Equation
Thursday --  Diffusion Equation
Codes written or demonstrated in class :

Week #14 (Nov. 27)
Tuesday --  Scalar advection and hyperbolic schemes
Thursday --  Scalar advection and hyperbolic schemes
Codes written or demonstrated in class :

Week #15 (Dec. 5)

Return to top of page

Homework assignments

Homework assignments are due Thursday, at the start of class.

Homework #1

Due Sept. 7

Assignment :
Other resources :
test_errors.m  -- Errors needed for problem 1
Updates to homework :
 --  (8/30/2017) Fixed bug in problems 2(b) and 2(c).

Homework #2

Due Sept. 22

Assignment :
Updates to homework :
 --  (9/11/2017) Re-ordered the problems; minor re-wording of question in problems 5 and 6
 --  (9/17/2017) Problem #6 : N=8*2^n, i.e N is increasing powers of 2

Homework #3

Due Oct. 5

Assignment :
Other resources :
Updates to homework :
 --  (9/27/2017) Changed problems 1 and 4 slightly; Fixed minor typos.
 --  (10/2/2017) Right hand side in Problem 3(c) should be 3x1 (not 4x1)

Homework #4

Due Nov. 10

Assignment :
Updates to homework :
 --  (10/25/2017) Added two new problems
 --  (10/25/2017) Changed due date
 --  (11/7/2017) Changed due date

Return to top of page


We will have two midterms and (possibly) a final exam

Midterm #1 Date: TBA

Midterm #2 Date: TBA

Final Date: TBA

You can find the Final Exam calendar here.

Return to top of page

Grading policy

Homework will count for 60% of your final grade, and the rest will be made up with exams and a possible final or final project.

Return to top of page