Numerical Methods II (MATH-GA.2020-001 / CSCI-GA.2421-001)

This course (3pts) will cover fundamental methods that are essential for the numerical solution of differential equations. It is intended for students familiar with ODE and PDE and interested in numerical computing; computer programming assignments in MATLAB/Python will form an essential part of the course. The course will introduce students to numerical methods for (approximately in this order):

  1. The Fast Fourier Transform and pseudo-spectral methods for PDEs in periodic domains
  2. Ordinary differential equations, explicit and implicit Runge-Kutta and multistep methods, IMEX methods, exponential integrators, convergence and stability
  3. Finite difference/element, spectral, and integral equation methods for elliptic BVPs (Poisson)
  4. Finite difference/element methods for parabolic (diffusion/heat eq.) PDEs (diffusion/heat)
  5. Finite difference/volume methods for hyperbolic (advection and wave eqs.) PDEs (advection, wave if time permits).

Logistics

The class will take place in person in WWH 102 on Tuesdays 5:10-7pm.

Instructors

Aleksandar Donev, 1016 Warren Weaver Hall, contact by Email. Office hours: 3:15 to 4:45pm Wednesdays or by appointment

Grader/TA: Mariya Savinov (mas10009@nyu). Office hours, Mondays 2pm-3pm, 905 WWH.

Reading Materials

The primary required textbook for this class is:

  1. Finite Difference Methods for Ordinary and Partial Differential Equations” by Randy LeVeque. This textbook is now available freely to you in PDF format, and Matlab and latex files are available from the author’s webpage. Everyone ready to take this course should be able to follow this textbook without a problem.

However, this does not cover spectral methods/representation. There is no great book on this that I know of, but the closest is:

  1. Spectral Methods in Matlab” by Nick Trefethen, which includes lots of MATLAB codes, and focuses on Fourier and Chebyshev representations for elliptic PDEs.

For more advanced material consult my Computational Methods for PDEs class.

Advanced students can also use as a very good resource this book available to you in PDF format:

  1. Hundsdorfer, W., & Verwer, J.G. (2003). Springer Series in Computational Mathematics [Series, Vol. 33], Numerical Solution of Time-Dependent Advection-Diffusion-Reaction Equations, New York, NY: Springer-Verlag.

Prerequisites

This course requires Numerical Methods I or equivalent graduate course in numerical analysis (as approved by instructor). In particular I will assume you are comfortable with the topics in the NM-I as class taught by Michael Overton. If you did not get at least B in NM-I you will have a rather hard time with this course! Things I will expect you to be very familiar / comfortable with include:

Assignments and grading

There will be several computational assignments / exercises during the semester, each of which will involve coding, analyzing/plotting results, and preparing a typeset report (preferably in LaTex). Academic integrity policies will be strictly enforced for homework assignments and exams. In particular, group work is not allowed and will be treated as a violation of academic integrity. You may discuss strategies to solve the problems with peers, but every line of code and everything in the solution (including figures) for each homework must be 100% yours. Allowing others to copy code or solutions from you is considered cheating.

Each student will be required to do either a take home final similar to the homeworks, or a computational project on a subject of choice, due by 9pm EST Saturday May 20. Only students with instructor approval will be allowed to do a project, and this approval will be based on your proposal for the project and your performance in the homeworks. The grade will be based on the homeworks (50%) and the project (50%). Assuming the total possible number of points (excluding extra credit) is 100, the grade scale will be based on the weights used in computing your GPA:

As a first assignment, please submit the answers to this questionnaire via email as soon as possible:

  1. Your name (if you have a pseudonym, send me that and your official name), degree you are working on (if any) and class/year, and thesis advisor and topic if any.
  2. List your previous academic degrees or relevant educational experience.
  3. Explain in words (e.g., relevant courses, prior research) your background in numerical analysis.
  4. Why did you choose this course, and which of the topics listed in the course description interest you most (in particular, do you know what subject you would like to present on in class)?
  5. What is your programming experience (list programming languages with proficiency level)?

Inclusiveness

As an instructor, I will strive to create a safe, respectful, and inclusive environment for all students regardless of their identity. I recognize and value diversity inside and outside of the classroom, and recognize that each student has a unique contribution to make and brings with them different strengths and weaknesses. I welcome your ideas for how to promote a better understanding and deeper learning in this class as a community. Please feel free to ask questions, to participate in discussions, and to suggest new approaches to the class content. Please also feel welcome to raise any issue you may have in class or outside of class, including reporting incidents of bias or discrimination, whether intentional or unintentional, either to me, to your advisor(s)/mentor(s), or by using the NYU Bias Response Line.