Course Information

Course Booklet Information Page

The course meets in B-block, from 8:30-9:30 AM on Tuesdays, Thursdays, and Fridays, in Room BP-5. My office hours are from 9:30-11:30 AM on Tuesdays and from 9:30-10:30 AM on Thursdays, in Room BP-212.

There will be roughly 6 homework assignments over the semester, which will be due between 1 and 2 weeks after they are distributed. These assignments will combine some pencil-and-paper exercises with programming questions. No late homework assignments will be accepted.
The programming for this course can be done in any language that you choose. Matlab is probably the easiest to pick up if you are not familiar with any other. All Tufts students have access to Matlab in the ITS Computing Center @ Eaton Hall. A free alternative to Matlab is Octave. Other possibilities include using python with numpy/scipy/matplotlib. If you would like to use another option, please discuss this with me.
The first homework assignment will not be distributed until the third week of class. I strongly suggest that you use this time to familiarize yourself with matlab (or your language of choice) if you do not already know it. Many good tutorials are available online. There will be no leniency granted for late assignments due to unfamiliarity with programming.
Final Projects
The course has a required final project, with presentation. You may choose a topic related to anything discussed in the course (or not discussed in the course but related to numerical methods for PDEs) and investigate it in more depth. Topic choices must be approved by me before you start work on the project. You must produce a final paper, describing what you did in your project, as well as a 10-minute presentation to be done during the last week of class. Group projects are allowed, although the expectations for a group project increase in proportion to the size of the group.
Final Grade
Your final grade in the course will be computed as a weighted average of your homework and final project grades. In this calculation, the final project will count as 3 homework assignments, while your lowest two homework assignments will count for one-half their normal value.

Reference Books

There are many books and websites that present material relevant to this course. The following are a few suggestions, but these are neither required reading nor a complete list of good references.

  • Finite Difference Schemes and Partial Differential Equations, by John C. Strikwerda, SIAM 2004
  • Finite Difference Methods for Ordinary and Partial Differential Equations, by Randall J. Leveque, SIAM 2007
  • Principles of Computational Fluid Dynamics, by Pieter Wesseling, Springer 2001
  • A First Course in the Numerical Analysis of Differential Equations, by Arieh Iserles, Cambridge University Press 1996
  • Introduction to Computational PDEs, by Hans De Sterck and Paul Ullrich, University of Waterloo 2009
  • The Mathematical Theory of Finite Element Methods, by Suzanne Brenner and Ridgeway Scott, Springer 1994
  • Finite Elements: Theory, fast solvers, and applications in solid mechanics, by Dietrich Braess, Cambridge University Press 2001
  • Finite Elements and Fast Iterative Solvers with applications in incompressible fluid dynamics, by Howard Elman, David Silvester, and Andy Wathen, Oxford Science Publications 2005
  • Matrix Iterative Analysis, by Richard Varga, Springer 2000
  • Iterative Methods for Sparse Linear Systems, by Yousef Saad, SIAM 2003. First edition available here
  • Iterative Methods for Solving Linear Systems, by Anne Greenbaum, SIAM 1997
  • A Multigrid Tutorial, by William Briggs, Van Emden Henson, and Steve McCormick, SIAM 2000. Accompanying slides available here
  • Multigrid, by Ulrich Trottenberg, Cornelis Oosterlee, and Anton Schüller, Elsevier 2001
  • Schedule

  • 1/21: Introduction
  • 1/22: Review: Integration by Parts & Chain Rule
  • 1/26: Review: Taylor's Theorem
  • 1/28: One-way Wave Equation
  • 1/29: Consistency and Convergence
  • 2/2: Stability and von Neumann Analysis (HW1 distributed)
  • 2/4: Systematic Analysis
  • 2/5: Lax Convergence and Equivalence Theorems
  • 2/9: Operator Norms, Discrete-Time Fourier Transforms (HW1 DUE!)
  • 2/11: DTFTs, von Neumann Stability Analysis
  • 2/12: Dissipation and Dispersion
  • 2/16: Numerical Dissipation and Dispersion (HW2 distributed)
  • 2/19: Implicit and Explicit Schemes
  • 2/23: Parabolic PDEs
  • 2/25: Elliptic PDEs and Weak Forms
  • 2/26: Ritz-Galerkin Approximation and Error Estimates (HW2 DUE!)
  • 3/2: Linear Finite Elements on [0,1]
  • 3/4: Error Estimates and Element Matrices (HW3 distributed)
  • 3/5: Function Spaces and Norms
  • 3/9: Lp and Sobolev Spaces
  • 3/11: Hilbert Spaces, Dual Spaces, and Riesz Representation
  • 3/12: Riesz Representation, Coercivity and Continuity (HW4 distributed)
  • 3/16: Lax-Milgram and Céa's Lemmas (HW3 DUE!)
  • 3/18: Poincaré-Friedrichs Inequality, Element Choice
  • 3/19: Approximation Properties, Non-elliptic problems
  • Spring Break!
  • 3/30: Least-Squares Finite Elements
  • 4/1: Direct vs. Iterative Methods (HW4 DUE!)
  • 4/2: Jacobi and Gauss-Seidel (HW5 distributed)
  • 4/6: Incomplete Factorizations
  • 4/8:
  • 4/9: Polynomial Methods (HW5 DUE!)
  • 4/13: Arnoldi Algorithm and GMRES
  • 4/15: Lanczos and Conjugate Gradient
  • 4/16: Cost of CG; analyzing Jacobi
  • 4/20: Coarse-grid correction, two-grid algorithm (HW6 distributed)
  • 4/22: Multigrid and the V-cycle
  • 4/23: How effective is multigrid?
  • 4/27: Final Project Presentations
  • 4/29: Final Project Presentations
  • 4/30: Final Project Presentations
  • 5/12: HW6 and final project paper DUE