  This is a concise mathematical introduction to Monte Carlo methods, a rich
family of algorithms with far-reaching applications in science and engineering.
Monte Carlo methods are an exciting subject for mathematical statisticians and
computational and applied mathematicians: the design and analysis of modern
algorithms are rooted in a broad mathematical toolbox that includes ergodic
theory of Markov chains, Hamiltonian dynamical systems, transport maps,
stochastic differential equations, information theory, optimization, Riemannian
geometry, and gradient flows, among many others. These lecture notes celebrate
the breadth of mathematical ideas that have led to tangible advancements in
Monte Carlo methods and their applications. To accommodate a diverse audience,
the level of mathematical rigor varies from chapter to chapter, giving only an
intuitive treatment to the most technically demanding subjects. The aim is not
to be comprehensive or encyclopedic, but rather to illustrate some key
principles in the design and analysis of Monte Carlo methods through a
carefully-crafted choice of topics that emphasizes timeless over timely ideas.
Algorithms are presented in a way that is conducive to conceptual understanding
and mathematical analysis -- clarity and intuition are favored over
state-of-the-art implementations that are harder to comprehend or rely on
ad-hoc heuristics. To help readers navigate the expansive landscape of Monte
Carlo methods, each algorithm is accompanied by a summary of its pros and cons,
and by a discussion of the type of problems for which they are most useful. The
presentation is self-contained, and therefore adequate for self-guided learning
or as a teaching resource. Each chapter contains a section with bibliographic
remarks that will be useful for those interested in conducting research on
Monte Carlo methods and their applications.
