Instructor
Aleksandar Donev, 1016 Warren Weaver HallE-mail: donev@courant.nyu.edu ; Phone: (212) 992-7315
Office hours: 3 to 5 pm Tuesdays or by appointment
Grader
Juan Calvo (calvo@cims.nyu.edu)Office hours: Wednesdays, 1-3pm, 605 WWH
Course description
This course is part of a
two-course series meant to introduce Ph.D. students in
mathematics to the fundamentals of numerical mathematics
(but any Ph.D. student seriously interested in applied
mathematics should take it). It will be a demanding course
covering a broad range of topics, both theoretically and
with extensive homework assignments.
3 points per term
Topics covered include:
- floating point arithmetic
- conditioning and stability
- direct methods for systems of linear equations, including LU, Cholesky, QR and SVD factorizations (dense and sparse)
- matrix eigenvalue problems
- interpolation by polynomials and cubic splines
- Numerical quadrature
- Nonlinear systems of equations and unconstrained optimization
- Fourier and wavelet transforms
- Monte Carlo methods.
For a tentative schedule download the syllabus.
Recommended Textbooks
The course will be based on my lecture notes and homework
assignments. It will not follow any specific text.
Nevertheless, it is extremely important for you to read
other texts to get a different and broader perspective on
the field. The following books are recommended reading and
are easily available via Courant's library including
electronic copies, linked below:
- Quarteroni, A., Sacco, R., & Saleri, F. (2006). Texts
in Applied Mathematics [Series, Bk. 37]. Numerical
Mathematics (2nd ed.). New York, NY:
Springer-Verlag. The Matlab scripts for the examples in
the second edition of the book can be downloaded as a tarred
gzip
file here (use "tar xvf <filename>" in Linux to extract
the files).
- Gander, W., Gander, M.J., & Kwok, F. (2014). Texts in Computation Science and Engineering [Series, Vol. 11]. Scientific Computing – An Introduction Using Maple and MATLAB. New York, NY: Springer-Verlag. A very recent textbook that covers the majority of topics and in similar order to what we will do in class, and also uses Maple (symbolic algebra).
- Corless, R.M., & Fillion, N. (2014). A Graduate Introduction to Numerical Methods: From the Viewpoint of Backward Error Analysis. New York, NY: Springer-Verlag. This book is a long and very detailed text with lots of numerical methods and analysis and some pedagogy, and lots of examples.
- Bau III, D., & Trefethen, L.N. (1997). Numerical Linear Algebra. Philadelphia, PA: Society for Industrial & Applied Mathematics. (Available on reserve at the Courant Library.). This is a more advanced book that focuses on numerical linear algebra.
Additional Readings
- Numerical Computing with MATLAB, by Cleve Moler, available for free in PDF form at the MATLAB site.
- My colleagues Jonathan
Goodman and David Bindel have a draft of an upcoming book
Principles of Scientific
Computing, to be found here as one
PDF or as individual
chapters.
- An Introduction to Programming and Numerical
Methods in MATLAB, Stephen R. Otto & James P.
Denier, Springer, 2005, available in PDF
format through the library. This book provides an
elementary introduction to Matlab with less focus on
actual scientific computing.
- Numerical Computing with IEEE Floating Point Arithmetic, by Michael L. Overton, SIAM, 2004.
- The Cambridge
Engineering
guide to MATLAB has lots of useful information.
Prerequisites
A good background in linear
algebra, and experience with writing computer programs (in
Matlab, Python, Fortran, C, C++, or other language). Prior
knowledge of Matlab is not required, but it will be used as
the main language for the course. If you have experience
with compiled languages (Fortran, C, C++), Matlab will be
easy to learn and use, and comes with a great help facility.
You will not be required to learn and use a compiled language, especially if you are relatively new to computing, but I will strongly encourage you to and assist you in the learning process (I am a Fortran expert but will do my best to help you with other languages as well).
Computing
The Courant Institute has computer labs with Linux workstations that have Matlab (matlab), Maple (xmaple), Mathematica (mathematica), the GNU (gcc,g++,gfortran), Intel and Pathscale C/C++/Fortran compiler suites, and other useful software installed.
You can purchase student edition Matlab from the NYU computer store if you want to use it on your own personal computer. If cost is a problem, Octave (octave) provides a free alternative to Matlab that you can download for Linux, Windows or Mac OS X.
You are encouraged to submit reports as PDFs produced using LaTex (latex), as a good practice in learning how to use mathematical typesetting software for future papers and thesis reports. I recommend trying out the LyX word processor as a front-end GUI to LaTex, especially if you are new to LaTex.
Assignments and grading
There will be regular assignments and a final project. The assignments will be mostly computational but some will be theoretical problems and I will do my best to give you some freedom to modify the assignments depending on their interests and background. There will be a final take-home exam examining a topic of relevance not covered in the class.
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:
- >92.5 = A
- 87.5-92.5 = A-
- 80.0-87.5 = B+
- 72.5-80.0 = B
- 65.0-72.5 = B-
- 57.5-65.0 = C+
- 50.0-57.5 = C
- 42.5-50.0 = C-
- <42.5 = F
Communication
There is a message board on NYU Courses that will be used for messages related to the assignments and any scheduling changes. NYU Courses will also be used to post grades (for privacy) and to submit homeworks (or email me). You should feel free to email the instructor with any questions, concerns, or special requests such as deadline extensions, meeting outside of office hours, etc.