Math 228A: Numerical Solutions of Differential Equations (Fall 2009)

Department of Mathematics
University of California, Berkeley

Description: Theory and practical methods for numerical solution of differential equations. Runge-Kutta and multistep methods, stability theory, stiff equations, boundary value problems. Finite element methods for boundary value problems in higher dimensions. Direct and iterative linear solvers. Discontinuous Galerkin methods for conservation laws. Prerequisites: Math 128A or equivalent knowledge of basic numerical analysis, some MATLAB programming experience. Course control number: 54797.
Web page: http://persson.berkeley.edu/228A
Lecturer: Per-Olof Persson, persson@berkeley.edu, Evans 1089, Phone (510) 642-6947
Office hours: Tue 2:00pm - 3:30pm and Fri 2:30pm - 4:00pm in Evans 1089
Lectures: MWF 1-2pm, Room 70 Evans
GSI: Trevor Potter, potter@math.berkeley.edu, Evans 1075
Office hours: Thu 1-3pm in Evans 1075
Textbooks: Required:
[I] A. Iserles, A First Course in the Numerical Analysis of Differential Equations, Second Edition, Cambridge University Press, 2008. ISBN 978-0521734905.

Recommended:
[HNW] E. Hairer, S. P. Norsett and G. Wanner, Solving ordinary differential equations, Second Edition (2 vols.), Springer, 2008. ISBN 978-3540566700, 978-3540604525.
[L] R. J. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations, Steady State and Time Dependent Problems, SIAM, 2007. ISBN 978-0-898716-29-0.
Other readings: [Str] J. Strain, Lecture notes Math 228A Fall 2008 (web)
[Wil] J. Wilkening, Lecture notes Math 228A Fall 2007 (PDF)
[Pat] A. Patera, Lecture notes MIT 16.920 Fall 2003 (PDF1, PDF2, PDF3, PDF4)
[Tre] Lloyd N. Trefethen, Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations (web)
[Bar] Barrett et al, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM 1993 (PS, HTML)
[ML] The MATLAB Online Documentation (web)
[Mol] C. Moler, Numerical Computing with MATLAB (web)
[Sha] L. Shampine, M. Reichelt, The MATLAB ODE Suite (PDF)
[Ryc] C. H. Rycroft, Iterative Methods for Linear Systems (PDF)

Lecture slides will be provided on the course web page.
Other material: Numerical Schemes for ODEs
Grading: Grades will be based entirely on the problem sets. Please start early, it might be hard to get help the last few days before the due dates. Collaboration on the problem sets is encouraged, but each student must write his/her own solutions, understand all the details of them, and be prepared to answer questions about them.
Syllabus: This syllabus is preliminary and will be updated during the semester.

Lec Date Topic Slides Readings Other
01 Wed 08/26 Overview, ODEs (IVPs, BVPs), PDEs      
02 Fri 08/28 IVP Theory Full, 6pp I:1.1,A.2.3, L:5.1-5.2, Str:1-2  
03 Mon 08/31 Basic Numerical Methods for IVPs Full, 6pp I:1.2,2.1,3.2, L:5.3  
04 Wed 09/02 MATLAB, the ODE Suite   ML, Mol, Sha  
05 Fri 09/04 Convergence of Euler's Method   I:1.2, Str:3.2  
  Mon 09/07 Labor Day - No Lecture      
06 Wed 09/09 Stiff Equations   I:4.1-4.2, L:8.1-8.2, Str:3.3  
07 Fri 09/11 Linear Stability Theory, A-stability   I:4.2, L:7.1-7.6, Str:3.5-3.6 PS1 Due
08 Mon 09/14 Implicit Methods   I:7.1-7.3, Str:3.4  
09 Wed 09/16 Taylor Series Methods   L:5.6, Str:2.6  
10 Fri 09/18 Explicit Runge-Kutta (ERK) Methods   I:3.2, L:5.7, Str:4.1-4.4  
11 Mon 09/21 Implicit Runge-Kutta (IRK) Methods   I:3.3  
12 Wed 09/23 Runge-Kutta Order Conditions   I:3.C, Str:4.5  
13 Fri 09/25 Gaussian Quadrature Full, 6pp I:3.1 PS2 Due
14 Mon 09/28 IRK Methods from Collocation Full, 6pp I:3.4  
15 Wed 09/30 Iterative Methods for Linear Systems   Ryc  
16 Fri 10/02 A-stability of Runge-Kutta Methods Full, 6pp I:4.3, Str:4.6-4.8  
17 Mon 10/05 L-stability and B-stability Full, 6pp L:8.3, Str:4.9-4.10  
18 Wed 10/07 Linear Multisteps Methods, Adams Methods Full, 6pp I:2.1, L:5.9, Str:10.1-10.3  
19 Fri 10/09 Backward Differentiation Formulae (BDF) Methods Full, 6pp I:2.3, L:8.4, Str:10.4 PS3 Due
20 Mon 10/12 Order and Convergence of Multistep Methods Full, 6pp I:2.2, L:6.4, Str:11.1-11.5  
21 Wed 10/14 A-stability of Multistep Methods Full, 6pp I:4.4, L:7.3, Str:11.6  
22 Fri 10/16 Stepsize and Error Control Full, 6pp I:6.1-6.2  
23 Mon 10/19 The Multigrid Method   Ryc  
24 Wed 10/21 Embedded Runge-Kutta Methods Full, 6pp I:6.3, Str:5.1-5.4  
25 Fri 10/23 Finite Difference Approximations Full, 6pp I:8.1, L:1.1-1.5 PS4 Due
26 Mon 10/26 Convergence of BVPs Full, 6pp L:2.1-2.10  
27 Wed 10/28 Boundary Layers and Nonuniform Grids Full, 6pp L:2.12-2.17  
28 Fri 10/30 Structured Mesh Generation Full, 6pp    
29 Mon 11/02 Unstructured Mesh Generation Full, 6pp    
30 Wed 11/04 Finite Element Methods, the Poisson Problem   Pat: 2.2-2.3  
31 Fri 11/06 Neumann and Inhomogeneous Dirichlet Problems   Pat: 2.1,2.4 PS5 Due
32 Mon 11/09 FEM Discretization for BVPs   Pat: 2.5,3.2  
  Wed 11/11 Veteran's Day - No Lecture      
33 Fri 11/13 Implementation of Finite Element Methods Full, 6pp Pat: 4.2,4.4  
34 Mon 11/16 (Cont'd)   Pat: 4.2,4.4  
35 Wed 11/18 A Priori Error Estimation   Pat: 3.1  
36 Fri 11/20 Scalar Conservation Laws, Riemann Problems     PS6 Due
37 Mon 11/23 Discontinuous Galerkin Methods for Conservation Laws      
38 Wed 11/25 (Cont'd)      
  Fri 11/27 Thanksgiving - No Lecture      
39 Mon 11/30 Krylov Subspace Method      
40 Wed 12/02 Sparse Direct Solvers      
41 Fri 12/04 Preconditioning and Incomplete Factorizations     PS7 Due
42 Mon 12/07 Review      
43 Wed 12/09 Review      
Problem sets:
PS Due Date Assignment Solutions
1 Fri 09/11 PDF PDF
2 Fri 09/25 PDF PDF
3 Fri 10/09 PDF PDF
4 Fri 10/23 PDF PDF
5 Fri 11/06 PDF PDF
6 Fri 11/20 PDF  
7 Fri 12/04 PDF  
MATLAB Codes: Lecture 4: rk4.m, ball1.m, ballanim.m
Lecture 6: ball2s.m, heat1d.m, conv1d.m
Lecture 7: stab_region_demo.m, plt_ts_region.m
Lecture 8: heat_impl.m, pendulum_impl.m
Lecture 13: gaussquad.m
Problem Set 2: pendplot.m
Problem Set 3: struct_data.mat, struct_plot.m
Problem Set 4: heat2d_data.mat, heat2d_plot.m
Lecture 21: lmmrasplot.m, lmmrasdemo.m
Lecture 24: erk1.m, erk1ml.m, erk2.m
Lecture 27: blayer.m
Lecture 28: struct_mesh_demo.zip
Problem Set 5 Solutions: ps5.zip
Problem Set 6: tplot.m, boundary_nodes.m
Problem Set 7: dg1.m