| Instructor: Ed
Bueler Chapman 301C Phone: 474-7693 eMail: ffelb@uaf.edu Office Hours: T 10:30-12, WF 9:15-10:15 |
Class Time: MWF 10:30-11:30 Classroom: Gruening 206. Web Site: http://www.cs.uaf.edu/~bueler/ |
Course Description:
Methods for approximating partial differential equations (PDEs) and
related problems on computers. Mathematical analysis of these
methods. Abstract frameworks for understanding numerical analysis
of continuum problems.
You will do practical and abstract approaches to such
problems. Abstract consideration is
essential in order to
understand the choices one faces. The emphasis is on finite
difference methods, but I will also gloss spectral methods and finite elements. Frequent
emphasis on thinking in matrices; instead of a list of finite
difference schemes,
for instance, the theme will usually be how to see the underlying
matrix
structure. The course will include exposure to nonlinear
examples, as real problems are
nonlinear. Note that the scientific world functions by replacing
such problems with a
sequence
of approximating linear problems.
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. Matlab experience is desirable but not essential if you are a fast learner and have done other programming.
Formally, 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
There are, of course, many other textbooks on numerical analysis of
PDEs and such.
Grade = Projects + Homework : 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 component of (or simplification of) a thesis/dissertation project. 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. In both cases, actual programming and computing will be required, but it is expected that the first part will be preparatory for the more complete second part. Furthermore, at least one presentation of the project will be required during the semester---these presentations will be important to the class, because the class can then act as consultants to the presenter, giving suggestions for alternative methods, sources of existing code, and predictions of problem areas.
The other sixty percent of the course (and grade) will be
based
on not-quite-weekly homework assignments. Here is where
students
will be encouraged to gain breadth and perspective. You
will be encouraged to take a matrix/vector view of the structure of
these problems so you will use Matlab. On the whole you
will be in charge of learning Matlab
yourself--see below. You will be expected to crank out at
most a couple
of half-page-long Matlab programs per homework assignment
The last "homework assignment" will be worth double the previous assignments and may be regarded as a take-home final exam.
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 (203 WHIT, 474-7043) to provide
reasonable accommodation to student with disabilities.
Programming in the course: We
will use Matlab,
which is readily available in a $99 fully capable student version
(see, for instance, http://www.journeyed.com/itemDetail.asp?T1=42381696+R)
and in the Chapman 103
and other computer labs on campus.
Programs in
Matlab do and will appear on my website for use in homework
problems and in projects. Copious resources
are available for Matlab novices, but students with no
programming
experience will have a high hurdle to cross. The programming
experienced
in Math 310 is sufficient as preparation. (Students
who are very well-established and
secure in some other language may use
it. Use of other languages is fully the students responsibility,
and, in fact, may cause substantial disadvantage because
Matlab is a language designed to do what we want!)
An advertisement for Matlab: Programs can be written and run in Matlab in a highly traditional programming style, and thus it can be learned quickly. Mathematical and graphical inputs and outputs can be handled more directly in Matlab 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 Matlab, and require much more work in C or FORTRAN, for instance. Thus, even established C programmers, for instance, will find it a desirable prototyping tool.