Skip to content
David Ketcheson edited this page Feb 3, 2014 · 24 revisions

AMCS 252: Numerical Analysis of Differential Equations, Spring 2013

Time and location:

  • 2:30-4:00 p.m. Saturday and Tuesday
  • Classroom 9-2122

Instructor: David Ketcheson

Office: 4202, Al-Khwarizmi Building (#1)
david.ketcheson@kaust.edu.sa
Office Hours: By appointment (request in class or e-mail me)

Links

Textbook:

Additional references:

Links are to e-books accessible from KAUST campus.

  • Hans P. Langtangen. A Primer on Scientific Programming with Python. Springer.
  • Bertil Gustafsson, Heinz-Otto Kreiss, and Joseph Oliger. 1995. Time dependent problems and difference methods. Wiley-Interscience.
  • Strikwerda, John. 2007. Finite Difference Schemes and Partial Differential Equations. Society for Industrial and Applied Mathematics.
  • Thomas, J.W. 2010. Numerical Partial Differential Equations: Finite Difference Methods (Texts in Applied Mathematics). Springer.
  • Trangenstein, John A. Numerical Solution of Hyperbolic Partial Differential Equations. Cambridge University Press.

Overview

This course will introduce you to numerical methods for solving ordinary and partial differential equations, with a focus on finite difference methods. Your main goal should be to gain understanding of the methods through analysis of their accuracy and stability, and also by implementing and experimenting with the methods. We will begin with finite difference solution of boundary value problems, followed by the solution of initial value ODEs, and finally initial value PDEs, with emphasis on the heat equation and the advection equation.

You should possess knowledge of linear algebra, differential equations, and advanced calculus (especially Taylor series), and at least some programming experience. Prior knowledge of numerical analysis and PDEs is very helpful, but not strictly necessary.

Reading

For each class session, you will be given a reading assignment and 1-2 homework problems. It is essential that you devote substantial time to the reading, since I will not cover all topics in class. Instead, you should come to class prepared to ask questions. You may also email me before the lecture with questions or requests to cover particular concepts.

Homework

For each class session, you will be given 1-2 homework problems. You are allowed to work with other students on the homework; I recommend consulting with others after you have attempted a solution on your own. During each class, one student will be asked to present a homework solution. Presenting a perfect solution the first time is great, but you will not be penalized for minor mistakes or miscalculation. The point is to demonstrate that you understand the concepts (or to improve your understanding if you do not) and can communicate them clearly. The rest of the class will be invited to evaluate (and if necessary, correct) the solution presented. You will be graded based on both your presented solutions and your participation in evaluating the solutions presented by other students.

Programming

Numerical methods are implemented by programming, and this will be an essential part of the course. Some of the homework problems will require programming, and during some class sessions there will be short programming challenges that you may do individually or with a partner.

We will make use of the Python programming language, and especially of Python's numerical and mathematical packages (NumPy, SciPy, Matplotlib). No prior experience with Python is required, although prior MATLAB or Python experience is helpful. If you have not used Python before -- and especially, if you have done little programming before -- you should expect to devote a significant amount of time to learning the basics of Python programming, in addition to the expected mathematical concepts, during the first few weeks of the course.

Exam

One exam will be given, approximately one-half to two-thirds of the way through the semester. A list of exam topics will be provided prior to the exam.

Course project

After the exam, the course will be project-oriented. You will choose a topic that is interesting to you. The project will involve reading one or more papers on a research topic and performing your own implementation or analysis of some method or application. More details regarding project requirements will be given later.

Communication

All homework and reading assignments will be announced in class and here on the course Piazza page. You can also use the Piazza page to post questions or comments for your classmates or me.

Find our class page at: https://piazza.com/kaust.edu.sa/spring2014/amcs252/home

Special Accomodations

If you have a personal activity, family, or religious conflict with the course schedule, you can expect to be heard sympathetically. Please contact me by the end of the second week of the term to discuss appropriate accommodations for any conflicts that can be foreseen. For illness-related absences, there are standard procedures to follow.

Late work in this course will receive no credit. You should always turn in what you have completed by the deadline. If there are extenuating circumstances, come talk to me before the deadline.