Math 577 -- Monte Carlo Methods

Spring 2019

Instructor: Kevin Lin

Time: WF 1200-1315
Place: Math 501

Office: Math 606
Office hours: see here

Phone: +1-520-626-6628

Course web page (this page):


(Last revised on November 05, 2019.)
* Student papers
- Brian Bell, A sampling method for detecting adversarial examples
- Sara Bredin, Identifying gerrymandering through monte carlo methods
- Loren Champlin, Finding counterfactual explanations using a modified simulated annealing
- Kevin Luna, Stochastic modeling of chemical kinetics
- Jessica Pillow, MCMC and quantitative image reconstructions
- Craig Thompson, Pixel clustering with a Gaussian mixture model: Two algorithms
- Ruiyang Wu, Introduction to exact sampling
- Shenghao Xia, MCMC on neuron spike sorting model
- Zhuocheng Xiao, Importance sampling for integrate-fire equations
I have permission to share some of the papers.  Plealse contact me (or the author!) directly if you are interested.
* old announcements

Course description

Monte Carlo methods are numerical algorithms that use random sampling to generate statistical estimates of (usually) deterministic quantities. They are often more efficient than their deterministic counterparts, especially for higher-dimensional problems, and are widely used in scientific, engineering, and statistical computing.

This introductory course is aimed at graduate students in mathematics, statistics, computer science, engineering, physical sciences, quantitative biology, or really any field where Monte Carlo methods are used. The goal is to equip students with knowledge of basic algorithms and relevant theory so they can design and implement Monte Carlo solutions to scientific problems and perform basic statistical analysis on the output. As such, the course tries to balance between discussion of practical algorithms and their mathematical analysis.

The first part of the course will cover

Examples will be drawn from statistical mechanics, chemistry, Bayesian statistics, and other fields, depending in part on student interest. However, no background in these areas is assumed. The second part covers more specialized topics. Possibilities include (but are not limited to) A detailed week by week plan will be posted on this page, and updated as we go along.


Students should know probability at the undergraduate-level, e.g., Math 464 or equivalent, as well as linear algebra (e.g., Math 410 or equivalent). Some of this material will be briefly reviewed, and additional mathematical tools (e.g., theory of Markov chains) will be covered as needed. Students are expected to carry out both pencil-and-paper analysis and computer experiments, so facility in or willingness to learn a programming language (e.g., Matlab, Python, R, Julia, ...) is required.

Interested students without this background are encouraged to see the instructor prior to registering for the course.


Grading will be based on a few problem sets (due every 2-3 weeks) and an individual term project. Students will consult the instructor to choose a suitable project topic; projects related to students' own research are especially encouraged. Project results will be presented to the class and summarized in a term paper, to be published on the course web page at after the end of semester.

The grade breakdown is as follows:

There are no written exams. However, project presentations may take place during the final exam period.


These are the topics I'm planning to cover. It may get will be updated as we go along.
(Last revised on March 12, 2019.)
* PART I: Fundamentals
- Direct methods, e.g., transform and rejection methods
- Markov chain Monte Carlo (MCMC)
  1. Basic Markov chain theory
  2. Some standard MCMC algorithms
  3. Error analysis
- Variance reduction, e.g., control variates, antithetic
- Importance sampling
* PART II: Selected Topics
- Rare event simulation
- Sequential MC and filtering


There is no required text, and I do not plan to follow any one text closely. I do plan to assign reading from some of the books and lecture notes listed below, in addition to course notes and papers to be posted later in the term.

All these are either downloadable for free from the UA Library (just follow the links below from a computer on the campus network, or use VPN), or available from the authors.

The following standard textbooks on Monte Carlo are intended as primary references. The mathematical level of the course is somewhere between [RK] and [Liu]; [KW] is a good source for some of the topics we'll discuss.

Additional general references: In addition to the books above, there are two sets of lecture notes you may find useful: [M] provides a very readable introduction to some of the things we'll cover, and [S] gives a clear, concise exposition of some key ideas in Markov chain Monte Carlo.

For sequential Monte Carlo, particle filtering, etc., see

For EnKF, see Finally, for basic Markov chain theory, I like
Creative Commons License The contents on this site, including but not limited to all documents and source code, are licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

This page was last updated on April 27, 2019.