Math 621 - Numerical Methods for Partial Differential Equations
Spring 2017 - Syllabus - Matthias K. Gobbert
This page can be reached via my homepage at
http://www.umbc.edu/~gobbert.
Basic Information
- Matthias K. Gobbert,
Math/Psyc 416, (410) 455-2404, gobbert@umbc.edu,
office hours: TuTh 11:30-12:30 or by appointment
- Classes: SHER 148C (conference room inside office suite SHER 148),
TuTh 01:00-02:15;
see the detailed schedule for more information.
- Prerequisites: Math 620 and 630; familiarity with a high-level
procedural programming language such as Matlab/Octave/Julia, C, or Fortran;
or consent of instructor
- Copies of the following books are on reserve in the library,
and selected portions of them are on e-reserves for this course.
-
There is no required textbook.
Several books are recommended for various parts of the course, namely
Evans for the mathematical background on PDEs,
Watkins for linear solvers
(particularly the conjugate gradient method),
Iserles for ODE methods (in the context of time-dependent PDEs)
and finite differences for parabolic problems,
Braess for finite elements for elliptic problems,
Thomée for finite elements for parabolic problems, and
Strikwerda for finite differences for hyperbolic problems.
Among these, the book by Braess is a particularly
important one, since we will follow it for the rigorous
analysis of the finite element method for the Poisson equation.
See my webpage on
recommended literature for the complete citations.
- Recommended textbook:
Arieh Iserles,
A First Course in the Numerical Analysis of Differential
Equations, Cambridge Texts in Applied Mathematics,
Cambridge University Press, second edition, 2009.
Associated webpage:
Click on "Textbook" in the author's webpage
http://www.damtp.cam.ac.uk/user/na/people/Arieh.
I formally chose this book as recommended textbook because it does
cover the breadth of material of the course at the right level;
its coverage is in some cases complementary to the approach in class;
we will mostly follow other sources, as characterized above
and in the detailed schedule.
-
Recommended book on Matlab:
Desmond J. Higham and Nicholas J. Higham,
Matlab Guide, third edition, SIAM, 2017.
The associated webpage
http://www.maths.manchester.ac.uk/~higham/mg/
includes useful links to other resources including code
including useful links to other places.
Matlab's documentation is excellent, but along with its functionality
has reached a scale that requires a lot of sophistication to fully
understand. Moreover, there is a definite role for a book that
is organized by chapter on topics such as all types of functions
(inline, anonymous, etc.), efficient Matlab programming
(vectorization, pre-allocation, etc.), Tips and Tricks, and more.
-
Recommended book on LaTeX:
Leslie Lamport, LaTeX: A Document Preparation System,
second edition, Addison-Wesley, 1994.
This introduction to LaTeX by the author of the software himself
starts with the philosophy of LaTeX as a mark-up language.
It is still the best explanation of the purpose of LaTeX that I know.
Every professional LaTeX user should have read this compact book.
- Grading rule:
Homework and Quizzes
| Participation
| Class Project
|
45%
| 10%
| 45%
|
-
The homework assignments will be posted in
the Blackboard site of our course; see below.
The detailed schedule indicates
the due date of each homework.
A late assignment accrues a deduction of
up to 10% of the possible score
for each day late until my receiving it;
I reserve the right to exclude any problem from scoring
on late homework, for instance, if we discuss it in class,
or to exclude the whole homework if I cannot get it to the
grader before he/she grades homework from other students.
The homework includes
the computer assignments that are vital to understanding
the course material,
and you are expected to work all problems.
The quizzes can be unannounced and brief,
for instance to initiate class discussion, or they
can be formally handed out and longer,
for instance to give me feedback on your learning.
The quizzes will include the use of learning groups
formed by the instructor.
They may be technical or non-technical in nature.
-
The graded participation component rewards
your professional behavior and active involvement
in all aspects of the course.
Examples of expected professional behavior include
attending class regularly,
reading assigned material when requested,
cooperating with formal issues such as
submitting requested material on time, and
participating constructively in class, specifically in group work.
-
It is increasingly important
at this point in your education to learn
how to work on a larger project on your own
(with guidance by the instructor)
and to present your results in the form of a
professional-grade type-set report
and a prepared oral class presentation.
The class project will include all these components:
substantial work on an individual project;
a written report;
and an oral class presentation.
Additional details or changes will be announced as necessary.
See also general rules and procedures
for more information.
Announcements may be made in class, by e-mail, or in Blackboard.
You are responsible for checking
your UMBC e-mail address sufficiently frequently.
-
Blackboard
is a course management system that allows for posting
and communicating among registered participants of a course.
We will actively use only the "Course Materials"
and the "Discussions" areas of our course in Blackboard.
I will post class summaries and PDF transcripts of the lecture notes
as well as other material including the homeworks and quizzes
under "Course Materials".
The "Discussions" area is for all contents questions;
for efficiency in communications, I cannot reply to e-mails
on contents-questions; please post them under "Discussions" instead.
I will also use Blackboard to send e-mail to the class,
which goes to your UMBC account by default.
Therefore, you must either check your UMBC e-mail regularly
or have the mail forwarded to an account that you check frequently.
Course Description
Many models for physical processes in nature and in
engineering consist of partial differential equations.
The models are as varied as reality itself, but often non-linear
and often involving systems of partial differential equations.
In all but some textbook examples, an analytic solution is impossible.
That necessitates the use of numerical methods for partial
differential equations, and this area forms a vast field
itself and is one of the major driving forces behind research in
many other fields like numerical linear algebra, scientific computing,
and the development of parallel computers.
Despite their many forms, many equations share certain
fundamental mathematical properties and can be classified into the
three basic categories of elliptic, parabolic, and hyperbolic
partial differential equations. It makes therefore sense to study
the mathematical properties and numerical methods for prototype
equations of each type. Classical examples for the three types
are the Poisson equation, the heat equation,
and the scalar transport equation, respectively.
This course will provide an overview of the types of equations,
their most fundamental mathematical properties, and demonstrate
numerical methods for them.
It will have a strong focus on parabolic problems
such as systems of time-dependent reaction-diffusion equations,
but we will also cover elliptic and hyperbolic prototype problems.
Two large classes of methods are finite
difference and finite element methods, and we will discuss examples of both
methods. We will use this as the basis for
discussing the associated issues of discretizing the time-direction
and solving large sparse systems of linear equations efficiently
with respect to memory and computing time.
One specific goal of this course is to understand the
method of lines approach to transient reaction-diffusion equations
including all numerical techniques necessary to deal with the
spatial and time discretizations as well as non-linear and linear solvers.
For the finite difference methods, we will write our own code;
we will use Matlab
or equivalently Octave
or Julia
for this purpose because of their ease of programming.
You should have a foundation in using Matlab, equivalent to its
Getting Started guide; see a link to my Matlab webpage below.
But you should expect to learn additional commands and
techniques to get the best resolution and fastest performance.
For the finite element method,
we will use the state-of-the-art
finite element package COMSOL Multiphysics
to give you experience with a
full-featured professional-grade numerical package
or the software ONELAB
to experiment with open-source research code.
We will focus both on computational experiments
and on rigorous mathematical analysis of the numerical methods considered,
but with a slant towards the computational side of the subject.
This course was originally designed
for second-year graduate students in Applied Mathematics,
hence you are ordinarily expected to have knowledge of
Numerical Analysis (Math 620) and
Numerical Linear Algebra (Math 630),
though we will cover all crucial concepts from the background briefly.
The course is taught without expecting a formal background in
the theory of partial differential equations, but you should be ready to learn
some background information when necessary.
The approach of this course is designed to accomodate a varied background
of the audience, and it has been successfully taken both by applied mathematics
students with different ranges of experience and by scientists and engineers
from a variety of departments.
Please contact me if you have any questions about the expectations.
Learning Goals
By the end of this course, you should:
-
understand and remember the key ideas, concepts, definitions,
and theorems of the subject.
Examples include classification of partial differential equations
and their key properties, the fundamental ideas of
finite difference and finite element methods,
the main error results for both types of methods,
and basic issues of computer implementations of these methods.
More broadly, you should also understand the purpose of
numerical methods for and some of their major applications.
--> This information will be discussed in the lecture as well as
in the books, papers, and notes.
You will apply and use them on homework and quizzes.
-
have experience using a professional software package,
writing code in it, and understanding how some of its functions work.
We will use MATLAB/Octave/Julia and COMSOL Multiphysics/ONELAB in this course,
which are professional-grade packages.
Writing code in this context includes the requirements to deliver code
in a form required, such as writing code to stated specifications,
using a requested method, complying with a required function interface, etc.
The knowledge and skills in this item are valuable job skills,
which justifies the emphasis here.
--> This is one of the purposes of the homework and most
learning will take place here.
-
have some experience how to learn information from a research paper
and to discuss it with peers.
Group work requiring communication for effective collaboration
with peers and supervisors is a vital professional skill,
and the development of professional skills is a declared learning goal
of this course.
--> I will supply some research papers carefully
selected for their readability and relevance to the course.
-
have experience with independent work and presenting it both
in a written report and in an oral presentation.
It is vital to gain experience with setting your own goals,
estimating a realistic time line, working with peers and supervisors
on regular updates and giving and receiving suggestions,
submitting and editing a written report to standards of a research paper,
and presenting your results in an oral presentation as part of a
conference session.
--> The class project will cover all of these components,
and we will discuss the various steps necessary in class.
Reading the research papers above will give you a frame of reference
for how the report should look like.
Other Information
UMBC Academic Integrity Policy
By enrolling in this course, each student assumes the responsibilities of
an active participant in UMBC's scholarly community in which everyone's
academic work and behavior are held to the highest standards of honesty.
Cheating, fabrication, plagiarism, and helping others to commit these acts
are all forms of academic dishonesty, and they are wrong.
Academic misconduct could result in disciplinary action that may include,
but is not limited to, suspension or dismissal.
To read the full Student Academic Conduct Policy, consult the
UMBC Student Handbook, the Faculty Handbook, the UMBC Integrity
webpage oue.umbc.edu/home/academic-integrity,
the
UMBC Undergraduate Student Academic Conduct Policy
(PDF)
for undergraduate students,
or the
University of Maryland Graduate School, Baltimore (UMGSB)
Policy and Procedures for Student Academic Misconduct
(PDF)
for graduate students.
Copyright © 2001-2017 by Matthias K. Gobbert. All Rights Reserved.
This page version 1.3, March 2017.