MATH-GA.2043 or CSCI-GA.2112

Scientific Computing

Warren Weaver Hall, room 1302, Thursdays, 5:10 - 7 pm
Courant Institute of Mathematical Sciences
New York University
  Fall Semester, 2019

Lecture materials

Before even the first class, I recommend that you refresh your linear algebra, for example, using these notes by Jonathan Goodman.
Also get a CIMS computer account and start playing with MATLAB, for example, by looking at chapter 2 in the textbook by Greenbaum and Chartier, which I will refer to as "the textbook" below.

1 and 2. (Sept 5th and 12th) Numerical Computing

The lecture on Sept 5th will be given by Courant Instructor Brennan Sprinkle.

In the main textbook, this is covered in chapters 5 and 6. I suggest instead reading part I (chapters 1-4) in the textbook by O'Leary. For more information consult chapter 1 in the book by Driscoll. For additional reading look at chapter I in notes by Jonathan Goodman.

Here are some MATLAB scripts used as examples in the lecture notes: fibb.m, vect.m, Integral.m, harmonic.m (double precision) and harmonicSP.m (single precision). Also an example solution to the example homework problem: FirstDeriv.m and FirstDerivSP.m

3 and 4. (Sept 19th and 26th) Solving Linear Systems

For dense square and overdetermined systems see chapter 7 in textbook, while for sparse matrices see 12.2 in the textbook. For a more in-depth overview of sparse solvers see chapters 27 (direct) or 28 (iterative) in the textbook by O'Leary.
For a more mathematical review of linear algebra consult these these notes by Jonathan Goodman, and for a more in-depth discussion on performance consult these notes by Jonathan Goodman.
Here is the MATLAB code for MyLU.m

5. (Oct 3rd) Eigen and Singular Values

Look at 12.1 in the textbook for eigenvalues; Google's original Page Rank algorithm is covered in 12.1.5 and you may find it interesting. Also see section 5.5 for eigenvalues and 5.6 for SVD in the textbook by O'Leary.
Here are is the MATLAB code for Compression.m.

6. (Oct 8th) Solving Nonlinear Equations

The main textbook treats only equations in a single variable as a warmup in Chapter 4. Systems of nonlinear equations are not covered in the textbook but this is very important; see instead chapter 24 in the textbook by O'Leary, and in particular the discussion of continuation methods.
Here is the MATLAB script FZero.m.

7. (Oct 15th) Optimization

Based on various sources, including these notes by Jonathan Goodman. Optimization is discussed in good detail in chapters 9 (unconstrained) and 10 (constrained, advanced) in the textbook by O'Leary.
Here is the MATLAB script Rosenbrock.m.

8. (Oct 24th) Interpolation

See chapter 8 of textbook and also these notes by Jonathan Goodman.
Here are some MATLAB scripts used as examples in the lecture notes: Runge1D.m, Hills2D.m, HillsIrreg2D.m.

9. (Oct 31st) Fast Fourier Transform

We will discuss Fourier Transforms, including the FFT algorithm, and briefly introduce wavelets.This is not covered in the textbooks.

10. (Nov 7th) Numerical Integration

Look at Chapter 10 in the textbook (we did not cover Gaussian quadrature in detail, but see section 10.3 in textbook).

11. (Nov 14th) Monte Carlo

See chapter 16 in the textbook by O'Leary. My lecture notes are mostly based on these lecture notes by Jonathan Goodman. Further technical details on variance reduction are in these notes by Goodman.

12. (Nov 21st and Dec 5th) ODEs

See chapter 11 in the textbook or look at these lecture notes by Jonathan Goodman. See also chapter 20 in the textbook by O'Leary. A concise summary and two proofs of convergence of Euler's method not given in my lecture slides is in these notes by David Bindel.

13. (Dec 12th) PDEs

Based on various sources, just a brief sketch. See chapter 14 in the textbook, along with chapter 13 for boundary value problems in one dimension.

15. (Dec 19th) Final Exam Due by 9am