Syllabus for Math 425, Fall 2002

Numerical Analysis of Differential Equations

Instructor and contact information: The course instructor is Alan Demlow, visiting assistant professor of mathematics. My office is Malott 201, and my phone number is 255-0126. However, the best way to reach me is generally by sending e-mail to demlow@math.cornell.edu. My currently scheduled office hours are 1:30-3:30 Tuesday in Malott 201, but these may change. Stay tuned to the course web site for further information.


TA and contact information: Dmitriy Leykekhman is the TA for the course. His e-mail is dmitriy@math.cornell.edu. His office hours will be announced later.


Course web page: http://www.math.cornell.edu/~demlow/425/


Course Overview: The numerical analysis of differential equations is a very large subject, so in a one-semester course it is necessary to restrict our focus to a few subjects. The main emphasis in this course will be on the finite element method for the solution of partial differential equations. However, we will not spend much time on partial differential equations in two or more dimensions. Instead, we will use a one-dimensional boundary value problem (and related time-dependent and nonlinear problems) as a model for more complicated equations. Throughout the course, we will emphasize both the mathematics of the numerical methods we are studying and principles of proper code construction and scientific computing. The following are the essential topics which I plan to cover in the course:

As time allows and the inclinations of the instructor and the students dictate, we may also study finite element methods for two-dimensional problems, eigenvalue problems, a-posteriori error estimation and adaptive meshing, or theoretical issues such as localization and superconvergence in finite element methods.


Course project: The bulk of the assigned work in this course will consist of creating a program (from scratch; no canned routines allowed!) for computing finite element solutions to differential equations. You will be asked to write and carefully debug portions of the code as we cover relevant topics during the course, then put the parts together to make a finite element code. Towards the end of the course you will be asked to choose several problems from a list to investigate using the code you have written (some may require additional coding). You will then write up the results of your investigations and turn them in during the final exam period. The project will count for about 80% of your final course grade.


Homework: There will be regular homework assignments, probably due about every two weeks. They will be worth about 20% of the final grade.


Text: There is no required textbook for the course, but I do plan to provide lecture notes covering at least the essential topics listed above. These will become available on the course website in installments as the semester progresses. I can also make a copy available for students to photocopy if this is preferable. I will also provide a list of references covering the essential topics in the course.


Academic integrity: I expect that students will abide by high standards of academic integrity at all times. You may work together on any homework assignments, but I expect that you will write up your answers yourselves (i.e., no direct copying from classmates). You may also consult with your classmates as you write computer codes, but you may not share code. You will be expected to investigate the questions on your final projects without help from others.


Computing resources: Occassionally, I may assign homework problems requiring the use of Matlab. However, the bulk of the computing work in this course will consist of your final project, which you may choose to code in C, Fortran, Matlab, or any other programming language which supports double precision machine arithmetic (I am best able to offer help with the languages listed should you run into trouble). The math department's Instructional Computer Lab in Stimson 206 (www.mathlab.cornell.edu) offers Matlab along with Fortran and C/C++ compilers (and a variety of other software) on relatively up-to-date machines running either Linux or Windows. If you don't have ready access to other computing facilities, I strongly encourage you to take advantage of this lab as they are well prepared to take care of your computing needs for this course.