Department of Mathematics

Courant Institute of Mathematical Sciences

New York University

**MATH-UA.394.001, Spring, 2017**

Monday, 5:10 to 7

Room 317, Warren Weaver Hall

**Instructor**

Jonathan Goodman

goodman@cims.nyu.edu

212-998-3326

Office 529 Warren Weaver Hall

Office hours: 4 to 6 pm Thursdays, or by appointment

First half: An introduction to practical Monte Carlo methods, with some of the basic theory, with applications to statistical physics and chemistry, and to Bayesian statistics. Pseudo random number generators. Direct sampling methods, including mappings and rejection. Markov chain Monte Carlo (MCMC), Metropolis Hastings, detailed balance, partial resampling/heat bath. Basic MCMC theory, including Perron Frobenius and the ergodic theorem, the Markov chain central limit theorem, and the Kubo formula for auto-correlation time. Methods for estimating the auto-correlation time and estimating error bars for MCMC results.

Second half: More specialized topics depending on the interests and background of students in the class. Topics may include (a) advanced samplers: Hamiltonian samplers, affine invariant ensemble samplers, multi-level methods, adaptive samplers, (b) thermodynamic integration, (c) Bayesian model selection, (d) rare event simulation, (e) stochastic differential equations, (f) more theory: spectral gap, Poincare and Cheeger inequalities.

Assignments will include significant programming in Python as well as theoretical exercises. Assignments will emphasize elements of programming methodology relevant to Monte Carlo methods, including verification protocols and visualization methods. There will be a long term project done individually or in small groups.

Students must have a good upper level undergraduate math background including linear algebra, probability, and multi-variate calculus. Course work in numerical computation is desirable. Students should be able to do numerical programming in Python, C/C++, Java, Fortran, R, or Matlab. Students without experience in Python will have to put in some extra effort in the first few weeks.