Lecture Notes

This set of lectures is concerned with simulation methods which use stochastic elements to compute quantities of interest. The stochastic methods are built on concepts developed in probability theory and statistical mechanics. They allow not only a treatment of problems apparently probabilistic in nature, but also problems which are at first sight deterministic. The scope of applications is broad, making it the most flexible and exciting tool in simulational science. Indeed it is the most widely applied simulation method across the sciences. In this set of lectures I will introduce the basics of the method. I will then give examples of how the method is used in high performance computing where the parallelism is important.

Below you will find the notes to the Monte Carlo Course.


Program code: Calculate parallelized version (C, MPI)

The Metropolis Method

Program code: Random walk (C)

Program code: Random walk (PYTHON)

Convergence of the Method

Random Numbers

Another Application: The Ising Model

Program code: Ising model (C)

Program code: Percolation (C)

Rejection-free Monte Carlo

Hybrid (Hamiltonian) Monte Carlo

Cluster Algorithms

Multi-Grid-Monte Carlo

Simulated Annealing


High-Performance Computing

Special Purpose Computer

Hidden Markov Models

Another Application: Gene Expression

Rejection-free Monte Carlo

Monte Carlo Techniques in Artificial Intelligence

Quanten Monte Carlo (not ready)