InstructorAleksandar Donev, 909 Warren Weaver Hall
E-mail: firstname.lastname@example.org ; Phone: (212) 992-7315
Office hours: 3 to 5 pm Tuesdays or by appointment
GraderDoris Dobi, email@example.com
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 more
technical (theoretical) than the Scientific Computing course, which is
meant for masters students and covers similar materal as this
two-course series but in less detail.
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.
Main Textbook (required)
Note that the online version available via the NYU library is the first edition while the print copy on reserve is the second edition. For the purposes of this course the difference is not important, so use either edition, especially if cost is a concern and you do not wish to purchase a paper copy. Unfortunately the electronic version is only available for online viewing and is not downloadable.
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). There is also an errata for the book on the book website, and the programs for the first edition are also available.
Scientific Computing with MATLAB and Octave, Alfio M. Quarteroni & Fausto Saleri, Springer, whose third edition just appeared in 2010 but older editions will do just as well. The second edition is available in PDF form through the library subscription to springerlink, so you don't even have to buy the paper copy. A paper copy is available on 2h reserve in the Courant Library.
The Matlab scripts for the examples in the second edition of the book can be downloaded as a zip archive (use "unzip <filename>" in Linux to extract the files). Erratas as well as the files for the recent third edition of the book can be found on the book website.
- 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
Introduction to Programming
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 Linear Algebra, David Bau III & Lloyd N. Trefethen, SIAM, 2000; This is a more advanced book that focuses on numerical linear algebra. It is available on 24h reserve at the Courant Library.
- Numerical Computing with IEEE Floating Point Arithmetic, by Michael L. Overton, SIAM, 2004.
- The Cambridge
Engineering guide to MATLAB has lots of useful information.
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).
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
The final project will consist of your
own independent research on a topic that is related to the class
material and that you choose in discussion with the instructor. A final
report will be due at the end of finals week.
The final "exam" will consist of presentations of your final project to
the class, and will be scheduled in consultation with all of the
participants (the official scheduled date is 5pm the day before
Christmas break, December 23rd, which may be inconvenient for some).
There is a message board on the course
Blackboard page that will be used for messages related to the
assignments and any scheduling changes. If you
register for the class, you automatically have access to the message
board. Blackboard will also be used to post grades (for privacy) and
you can use it to submit homeworks (or email me). I will post
assignments on Blackboard as well but it is recommended that you use
this website instead since I can post links and extra materials.
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.