Numerical Computing, V22.0421

Instructor: Michael L. Overton
Spring 2007
Tue, Thu 9:30 - 10:45 a.m., CIWW 513

  • Information
  • Course Description

    Introduction to numerical computation: the need for floating-point arithmetic, the IEEE floating-point standard. Importance of numerical computing in a wide variety of scientific applications. Fundamental types of numerical algorithms: direct methods (e.g. for systems of linear equations), iterative methods (e.g. for a nonlinear equation), and discretization methods (e.g. for a differential equation). Conditioning and stability. How can you tell if you can trust your answers? We will use the computer a lot in class and you should become quite proficient with Matlab by the end of the course. If you like math as well as programming, you should enjoy this class!

  • Prerequisites

    V22.0102 (intro to computer science II) and V63.0140 (linear algebra), or, in some cases, permission of instructor. Knowledge of Matlab in advance is not expected.

  • Requirements
    1. Attend class
    2. Do the assigned readings
    3. Do the homework
    4. Write midterm exam (Thu March 8) and final exam (Fri May 4, 10 a.m.) The final exam will cover the topics of Homeworks 4 through 7 (Ascher-Greif chapter 5, chapter 7, chapter 10 (sections 10.1 and 10.2 only), chapter 11 (except section 11.3), chapter 12 (section 12.1 only), and chapter 15 (sections 15.1 and 15.4 only), plus the Google paper).
  • Homework It is important that you do the homework yourself (not jointly with another student), but when you get stuck, I encourage you to consult with other students, or me, to get help when necessary. However, when you get help, it's important to acknowledge it in writing. Passing off other people's work as your own is called plagiarism and is not acceptable.

    Homework may be given to me in class or in my office, or left under my office door, or submitted by email to the grader when directed. Please do not leave homework in my lobby mailbox. Late homework will be penalized 20%. Homework will not be accepted more than one week late, except in special circumstances.

  • Matlab Programs Written in Class
  • Books and Notes
  • Software

    We will use Matlab for most of the computing that we do in this course. Matlab is by far the best environment for small-scale numerical computing. Although by itself it is not the most efficient choice for large-scale computing, it can be used to call compiled C, Fortran or Java routines and experiment with the results. Matlab is a product of The MathWorks. You can order your the student version of Matlab (price is $100) here or you can use Matlab on the ITS Labs (or connect from home, but you won't be able to open graphics windows without special software installed). For Matlab documentation, type "helpdesk" at the Matlab prompt. There are many books on Matlab; I recommend Matlab Guide, by Higham and Higham, but you will find many other resources on the web. Finally, you can consider using a free Matlab clone.

  • Class Mailing List
    Important: you must join the class mailing list . There are two steps to joining the list; the first is to follow the instructions on the web page (including picking a password), and the second is to REPLY TO the confirmation message sent to you by the system. This list will be used for important announcements. You can also send questions or comments to this list yourself (contact me if you have questions about when this is appropriate). If you do not want to use an NYU email address, be sure to notify me in person or by email from an NYU address about your preferred address, so I can add it to my spam filter.

  • Don't Hesitate to Ask for Help
    If you have questions, send me email, give me a call, or drop by my office. Don't wait until it's too late!