Math 615 (Applied) Continuum Numerical Analysis
Course Description, Goals, etc:
3.0 credits. Methods for approximating partial differential
equations (PDEs)
and
related problems on computers. PDEs are the underlying equations
for most problems of flow, fields, thermodynamics, deformation, quantum
stuff,
curvature, and etc. Mathematical analysis of these
methods. Conceptual frameworks for understanding numerical
analysis
of such problems. Both practical and abstract
approaches to
problems, including discussion of application contexts.
Most classtime will be spent with my lecture,
with Matlab/Octave/Pylab (MOP)
demonstrations
when I can
fit them in. I will help
you started with MOP, but you
must show initiative in learning to do actual numerical
computation. Homework assignments and a student-chosen project
will include practical parts and will require actual implementation (in
MOP). Abstract thought
is,
however,
essential in order to
understand the choices (e.g. among numerical methods) one faces in
solving major problems. Thus all homework assignments will
have
mathematical exercises, and in these you will frequently be asked to
"show" and
"prove". Formal proof style is not important, but clear
presentation of sufficiently-general logical arguments is important.
The emphasis is on finite
difference methods. I will also gloss spectral methods and finite
elements. We will seek to think in terms of vectors and matrices,
and
not just
manipulate lots of numbers in a computer program. Instead of a
list of
finite
difference schemes,
for instance, we will seek the underlying linear algebra
structure. The course will include some real nonlinear
examples, for which one inevitably uses a
sequence
of approximating linear problems.
Thus, at the end this course you will not be a professional numerical
analyst. But you will be able to evaluate and use many numerical
tools for solving scientific and engineering problems, and you will be
able to code some of the basic methods (i.e. for the purpose of
prototyping more serious solutions). Furthermore you will have
some of the mathematics necessary to take the next steps to learn
mathematical finite element method, spectral methods, parallel-izable
matrix methods, and so on, and some appreciation of the mathematics of
Fourier analysis and stability analysis.
Calendar: A
day-to-day tentative schedule for the semester is a
Prerequisites: Informally: undergraduate ordinary
differential equations, undergraduate
linear
algebra, exposure to the basic ideas of numerical analysis, and
exposure to Fourier series and separation of variables (for solving the
classical linear PDE boundary value problems).
Also some exposure to computer programming.
Formally: The prerequisites are
MATH 302, MATH
310, MATH 314, and MATH 421 or permission of the instructor. The
list in the catalogue is in error. CS 201 and MATH 422 are not
specifically needed, though they are nice things to know.
Textbook: The required
text is K. Morton and D.
Mayers, Numerical
Solution of Partial Differential Equations, 2nd ed. Cambridge
Univ.
Press 2005.
There are, of course, many other textbooks on numerical analysis of
PDEs, but I actually like
this one. We will cover chapters 1, 2, 3, 4, first half of 5,
some of 6, and a little of 7. Four other texts are recommended,
of which two are freely available online a page at a time. See http://www.dms.uaf.edu/~bueler/Math615S10.htm
Your Grade = Homework + Project:
Sixty percent of the course, and the grade, will be
based
on nearly weekly homework assignments. Here is where you
will learn the mathematics and gain breadth and
perspective. You will be asked to think abstractly on some
problems and to use MOP on many others. (Expect to
produce at
most a couple
of half-page-long MOP programs per assignment.)
The last assignment will be worth double the value of a
previous
assignment, and it must be worked on solo. It may be regarded as
a take-home
final exam.
It is assumed that students in this class have in mind (or can
acquire)
specific
continuum modelling problems in applied
fields. These will mostly, but not exclusively, be PDE
problems, and they are
supposed to be nontrivial problems. Frequently they are a
significant simplification of a thesis/dissertation project, for
instance. I am
eager to help and advise on choosing and refining such problems. Forty
percent of the grade in the course will be on a project based on
such
a problem. Two project assignments will be given, one due
midsemester,
and one due at the finals time, with the first part a preparatory stage
for the more complete second part. Both mathematical analysis and
actual numerical
computation will be required on your project.
Furthermore,
at least one presentation of the project will be required
during
the semester. The presentation can be either oral or on a
poster. These presentations are important to the class, as
the class will act as consultants to the presenter.
The course grade will be determined by points on the
homework and project, according to the schedule at right --->
I will use plus/minus grades as indicated. |
Percent
91 --100 %
88 -- 90 %
84 -- 87 %
76 -- 83 %
73 -- 75 %
69 -- 72 %
61 -- 68 %
57 -- 60 %
41 -- 56 %
0 -- 40 %
|
Grade
A
A-
B+
B
B-
C+
C
C-
D
F |
Policies and makeup exams: The
department
has specific policies on incompletes, late withdrawals, and early final
examinations, etc; see http://www.dms.uaf.edu/dms/Policies.html.
You are covered by the UAF Honor Code. I will work with
the Office of Disabilities Services (208 Whitman, 474-5655) to provide
reasonable accommodation to student with disabilities.
Programming in the course: You
will use Matlab, Octave, or Pylab (=Python+scipy+matplotlib), called "MOP" from now on. Matlab is commercial while Octave and Pylab are free and open
source. Octave is so
close to Matlab that I can
confidently recommend it as a very usable clone.
Programs in
MOP will appear on my website, and these can be
used in
homework
problems and in projects. Copious resources
are available for learning Matlab/Octave
, with many for Pylab also,
but in more geeky form.
See my modest Matlab/Octave tutorial
and links page (www.math.uaf.edu/~bueler/MatlabEx.htm).
Students with no
programming
experience, or fear of fiddling around at a command line, will have a
high hurdle to cross. The programming
experienced
in Math 310 should be sufficient as preparation, however, as should be
any
standard computer science programming course.
Students
who are very well-established and
secure in programming environments are encouraged to learn both Matlab/Octave and the Pylab tools. (Use of other
languages than these, like C
and FORTRAN, is fully the
students responsibility,
and, in fact, may cause substantial disadvantage.)
An ad for the MOP languages might
look like
this:
MOP is a language designed to do numerical analysis
coursework. Programs can be
written and run in MOP
in a highly traditional programming style.
Mathematical and graphical inputs and outputs can be handled more
directly
in MOP than in most compiled programming languages.
Matrices
appearing in problems can be easily analyzed. Many of the
operations
appearing in numerical problems are natural and quick in MOP,
and require much more work in compiled languages like C or FORTRAN.
Even
established compiled-language programmers will find
it
a desirable prototyping tool.