Course 18.086: Computational Science and Engineering II
(Spring 2008)

Department of Mathematics
Massachusetts Institute of Technology



The grading will be based on homework exercises and a project. There will be no exams.


This course addresses students in engineering and related fields with interest in computational science. Presented will be fundamental principles and equations, thus equipping the audience with the ability to address specific problems in their future career.
The course consists of three main topics: initial value problems, solving large systems, and optimization. The goal of the course is to provide a good start into each of these fields, focusing more on fundamental ideas than on involved details. Focus will be given on the mathematical understanding as well as on applying the presented concepts. Homework will include programming exercises, using Matlab. Outline of the topics:
  1. Initial value problems
    Linear initial value problems such as the wave equation and the heat equation admit closed form solutions in simple geometries. In a more complex setup they have to be solved numerically. Many important aspects seen for the linear problems regarding stability and covergence transfer to nonlinear initial value problems. Important examples for these are flow problems (fluid flow, traffic flow, etc.). Solutions to nonlinear problems may become non-smooth, and numerical methods have to consider this fact.
    Topics: Stiff problems, wave equation, heat equation, Airy equation, convection-diffusion, conservations laws, front propagation, Navier-Stokes equations, Fourier methods, finite differences, consistency, stability, covergence order, Lax equivalence theorem, CFL-condition, leapfrog method, staggered grids, shocks, upwind, Lax-Wendroff, finite volume methods, level set method
  2. Solving large systems
    The discretization of partial differential equations by finite difference or finite element methods leads to large sparse linear systems, either directly for linear problems or as an auxiliary subproblem for many nonlinear problems. Gaussian elimination destroys the sparse structure, so solvers are required which make use of the specific sparse matrix structure.
    Topics: Applications yielding sparse matrices, elimination with reordering, iterative methods, preconditioning, incomplete LU, multigrid, Krylov subspaces, conjugate gradient method
  3. Optimization and minimum principles
    Optimization problems search for the minimizer of some quantity (cost function), possibly given constraints. Quadratic cost functions lead to linear systems using Lagrange multipliers and Kuhn-Tucker conditions. Saddle point problems, regularization and calculus of variations will be presented as fundamental concepts. A different world in encountered in the case of linear cost functions. Applications are operations research and network problems. Solution algorithms are the simplex method or interior point methods. The underlying principle in all approaches is the concept of duality.
    Topics: Weighted least squares, duality, constrained minimization, inverse problems, calculus of variations, saddle point problems, linear programming, simplex method, interior point methods, adjoint methods
What you get when you take this course: What this course does not offer:


1 Wed02/06 1Introduction & motivation
Fri02/08 2Fourier methods for linear initial value problems6.1
Mon02/11 3Finite difference methods & ordinary differential equations6.2
Wed02/13 4Von Neumann stability analysis6.1 & 6.2
Fri02/15 5Finite difference methods for the one-way wave equation6.3
project proposalTue02/19 6Modified equationLeVeque
Wed02/20 7Lax equivalence theorem6.3
21Fri02/22 8Numerical error analysis & convection-diffusion problems6.5
Mon02/25 9Wave equation, leapfrog, staggered grids6.4
Wed02/2710Conservation laws: examples, method of characteristics6.6
Fri02/2911Conservation laws: weak solutions6.6
Mon03/0312Conservation laws: high resolution shock capturing6.6
Wed03/0513Conservation laws: finite volume & particle methods6.6
32Fri03/0714Higher space dimensions
Mon03/1015Systems of initial value problems
Wed03/1216Level set method6.8
Fri03/1417Navier-Stokes equation6.7
Mon03/1718Navier-Stokes equation6.7
Wed03/1919Generating sparse matrices
3, midterm reportFri03/2120Elimination with reordering7.1
03/24-03/28Spring break
4 Mon03/3121ILU, preconditioning, iterative methods7.1 & 7.2
Wed04/0222Iterative methods7.2
Fri04/0423Multigrid methods7.3
Mon04/0724Multigrid methods7.3
Wed04/0925Krylov subspace methods7.4
Fri04/1126Krylov subspace methods7.4
Mon04/1427Least squares problems8.1
Wed04/1628Weighted least squares & duality8.1
54Fri04/1829Minimization with constraints8.1
04/21-04/22Patriot's vacation
Wed04/2330Regularization & pseudoinverse8.2
Fri04/2531Inverse problems8.2
Mon04/2832Tychonov regularization & ill posed operators in function spaces8.2
Wed04/3033Calculus of variations8.3
5Fri05/0234Calculus of variations8.3
Mon05/0535Saddle point Stokes problem8.5
Wed05/0736Linear programming8.6
Fri05/0937Linear programming8.6
final reportMon05/1238Adjoint methods8.7
Wed05/1439Project presentations

Course Materials

Homework Exercises

How to submit your solutions:

Matlab Programs

Please consult the Computational Science and Engineering web page for matlab programs and background material for the course.

Course Projects

The following project have been done in this course:

Project Presentations

The projects for the courses 18.086 and 18.336 will be presented on the Computational Saturday, May 10th, 2008, from 9:40am to 3:15pm, in 2-132 and 2-136.
The Program for the Computational Saturday can be downloaded here.

Video Lectures

There is information about the previous year's courses available on the MIT OpenCourseWare. In particular the video lectures by Gilbert Strang are strongly recommendable.
The course 18.085 is not a prerequisite for 18.086. Still, if you have not heard 18.085, you can watch some of the video lectures to get into the mood for numerical methods.


MIT Copyright © 2008 Massachusetts Institute of Technology