Monte Carlo method in statistical physics

Monte Carlo method in statistical physics

Monte Carlo in statistical physics refers to the application of the Monte Carlo method to problems in statistical physics, or statistical mechanics.



The general motivation to use the Monte Carlo method in statistical physics is to evaluate a multivariable integral. The typical problem begins with a system of which the Hamiltonian is known, it is at a given temperature and it follows the Boltzmann statistics. To obtain the mean value of some macroscopic variables, say A, the general approach is to compute, over all the phase space, PS for simplicity, the mean value of A using the Boltzmann distribution:

<A>=\int_{PS} A_{\vec{r}} \frac{e^{-\beta E_{\vec{r}}}}{Z} d\vec{r}.

where E(\vec{r})=E_{\vec{r}} is the energy of the system for a given state defined by \vec{r} - a vector with all the degrees of freedom (for instance, for a mechanical system,  \vec{r} = \left(\vec{q}, \vec{p} \right) ), \beta\equiv 1/k_bT and

Z= \int_{PS} P(\vec{r})d\vec{r}

is the partition function.

One possible approach to solve this multivariable integral is to exactly enumerate all possible configurations of the system, and calculate averages at will. This is actually done in exactly solvable systems, and in simulations of simple systems with few particles. In realistic systems, on the other hand, even an exact enumeration can be difficult to implement.

For those systems, the Monte Carlo integration (and not to be confused with Monte Carlo method, which is used to simulate molecular chains) is generally employed. The main motivation for its use is the fact that, with the Monte Carlo integration, the error goes as  1/\sqrt{N}, independently of the dimension of the integral. Another important concept related to the Monte Carlo integration is the importance sampling, a technique that improves the computational time of the simulation.

On the following sections, the general implementation of the Monte Carlo integration for solving this kind of problems is discussed.

Importance sampling

The estimative, under Monte Carlo integration, of an integral defined as

\langle A\rangle = \int_{PS} A_{\vec{r}} e^{-\beta E_{\vec{r}}}d\vec{r}/Z


\langle A\rangle \simeq \frac{1}{N}\sum_{i=1}^N A_{\vec{r}_i} e^{-\beta E_{\vec{r}_i}}/Z

where \vec{r}_i are uniformly obtained from all the phase space (PS) and N is the number of sampling points (or function evaluations).

From all the phase space, some zones of it are generally more important to the mean of the variable A than others. In particular, those that have the value of e^{-\beta E_{\vec{r}_i}} sufficiently high when compared to the rest of the energy spectra are the most relevant for the integral. Using this fact, the natural question to ask is: is it possible to choose, with more frequency, the states that are known to be more relevant to the integral? The answer is yes, using the Importance sampling technique.

Lets assume p(\vec{r}) is a distribution that chooses the states that are known to be more relevant to the integral.

The mean value of A can be rewritten as

\langle A\rangle = \int_{PS} p^{-1}(\vec{r}) \frac{A_{\vec{r}} }{p^{-1}(\vec{r})}e^{-\beta E_{\vec{r}}}/Zd\vec{r} = \int_{PS} p^{-1}(\vec{r}) A^{*}_{\vec{r}} e^{-\beta E_{\vec{r}}}/Zd\vec{r} ,

where A^{*}_{\vec{r}} are the sampled values taking into account the importance probability p(\vec{r}). This integral can be estimated by

\langle A\rangle \simeq \frac{1}{N}\sum_{i=1}^N p^{-1}(\vec{r}_i) A^{*}_{\vec{r}_i} e^{-\beta E_{\vec{r}_i} }/Z

where \vec{r}_i are now randomly generated using the p(\vec{r}) distribution. Since most of the times it is not easy to find a way of generating states with a given distribution, the Metropolis algorithm must be used.


Because it is known that the most likelihood states are those that maximize the Boltzmann distribution, a good distribution, p(\vec{r}), to choose for the importance sampling is the Boltzmann distribution or micro-canonic distribution. Let

p(\vec{r}) = \frac{ e^{-\beta E_\vec{r}}}{Z}

be the distribution to use. Substituting on the previous sum,

\langle A\rangle \simeq \frac{1}{N}\sum_{i=1}^N A^{*}_{\vec{r}_i}.

So, the procedure to obtain a mean value of a given variable, using metropolis algorithm, with the micro-canonical distribution, is to use the Metropolis algorithm to generate states given by the distribution p(\vec{r}) and perform means over A^{*}_{\vec{r}}.

One important issue must be considered when using the metropolis algorithm with the micro-canonical distribution: when performing a given measure, i.e realization of \vec{r}_i, one must ensure that that realization is not correlated with the previous state of the system (otherwise the states are not being "randomly" generated). On systems with relevant energy gaps, this is the major drawback of the use of the micro-canonical distribution because the time needed to the system de-correlate from the previous state can tend to infinity.


As stated before, micro-canonical approach has a major drawback, which becomes relevant in most of the systems that use Monte Carlo Integration. For those systems with "rough energy landscapes", the multi-canonical approach can be used.

The multi-canonic approach uses a different choice for importance sampling:

p(\vec{r}) = \frac{1}{\Omega(E_\vec{r})}

where Ω(E) is the density of states of the system. The major advantage of this choice is that the energy histogram is flat, i.e. the generated states are equally distributed on energy. This means that, when using the Metropolis algorithm, the simulation doesn't see the "rough energy landscape", because every energy is treated equally.

The major drawback of this choice is the fact that, on most systems, Ω(E) is unknown. To overcome this, the Landau algorithm is normally used to obtain the DOS during the simulation. Note that after the DOS is known, the mean values of every variable can be calculated for every temperature, since the generation of states does not depend on β.


On this section, the implementation will focus on the Ising model. Lets consider a 2 dimensional spin network, with L spins (lattice sites) on each side. There are naturally N = L2 spins, and so, the phase space is discrete and is characterized by N spins, \vec{r} = (\sigma_1,\sigma_2,...,\sigma_N) where \sigma_i\in \{-1,1\} is the spin of each lattice site. the system's energy is given by E(\vec{r}) = \sum_{i=1}^N\sum_{j\in viz_i} (1 - J_{ij}\sigma_i \sigma_j), where vizi are the group of first neighborhood spins of i and J is the interaction matrix (for a ferromagnetic ising model, J is the identity matrix). The problem is stated.

On this example, the objective is to obtain \langle M \rangle and \langle M^2 \rangle (for instance, to obtain the magnetic susceptibility of the system) since it's straightforward to generalize to other observables. According to the definition, M(\vec{r}) = \sum_{i=1}^N \sigma_i.


First, the system must be initialized: let β = 1 / kbT be the system's Boltzmann temperature and initialize the system with an initial state (which can be anyone since the final result should not depend on it).

With micro-canonic choice, the metropolis method must be employed. Because there is no right way of choosing which state is to be picked, one can particularize and choose to try to flip one spin at the time. This choice is usually called single spin flip. The following steps are to be made to perform a single measurement.

step 1: generate a state that follows the p(\vec{r}) distribution:

step 1.1: Perform TT times the following iteration:

step 1.1.1: pick a lattice site at random (with probability 1/N), which will be called i, with spin σi.

step 1.1.2: pick a random number \alpha \in[0,1].

step 1.1.3: calculate the energy change of trying to flip the spin i:

\Delta E = 2\sigma_i \sum_{j\in viz_i}\sigma_j

and its magnetization change: ΔM = − 2σi

step 1.1.4: if α < min(1,e − βΔE), flip the spin (σi = − σi ), otherwise, don't.

step 1.1.5: update the several macroscopic variables in case the spin flipped: E = E + ΔE, M = M + ΔM

after TT times, the system is considered to be not correlated from its previous state, which means that, at this moment, the probability of the system to be on a given state follows the Boltzmann distribution, which is the objective proposed by this method.

step 2 -> perform the measurement:

step 2.1: save, on an histogram, the values of M and M^2.

As a final note, one should note that TT is not easy to estimate because it is not easy to say when the system is de-correlated from the previous state. To surpass this point, one generally do not use a fixed TT, but TT as a tunneling time. One tunneling time is defined as the number of steps 1. the system needs to make to go from the minimum of its energy to the maximum of its energy and return back.

A major drawback of this method with the single spin flip choice in systems like Ising model is that the tunneling time scales as a power law as N2 + z where z is greater than 0.5, phenomenon known as critical slowing down.


The method thus neglects dynamics, which can be a major drawback, or a great advantage. Indeed, the method can only be applied to static quantities, but the freedom to choose moves makes the method very flexible. An additional advantage is that some systems, such as the Ising model, lack a dynamical description and are only defined by an energy prescription; for these the Monte Carlo approach is the only one feasible.


The great success of this method in statistical mechanics has led to various generalizations such as the method of simulated annealing for optimization, in which a fictitious temperature is introduced and then gradually lowered.

See also


  • Allen, M.P. and Tildesley, D.J. (1987). Computer Simulation of Liquids. Oxford University Press. ISBN 0-19-855645-4. 
  • Frenkel, D. and Smit, B. (2001). Understanding Molecular Simulation. Academic Press. ISBN 0-12-267351-4. 
  • Binder, K. and Heermann, D.W. (2002). Monte Carlo Simulation in Statistical Physics. An Introduction (4th edition). Springer. ISBN 3-540-43221-3. 

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Monte Carlo method — Not to be confused with Monte Carlo algorithm. Computational physics …   Wikipedia

  • Monte Carlo method for photon transport — Modeling photon propagation with Monte Carlo methods is a flexible yet rigorous approach to simulate photon transport. In the method, local rules of photon transport are expressed as probability distributions which describe the step size of… …   Wikipedia

  • Monte Carlo molecular modeling — is the application of Monte Carlo methods to molecular problems. These problems can also be modeled by the molecular dynamics method. The difference is that this approach relies on statistical mechanics rather than molecular dynamics. Instead of… …   Wikipedia

  • Monte-Carlo-Simulation — Viertelkreis, dessen Fläche durch die Monte Carlo Methode angenähert wird. Damit lässt sich eine Näherung von Pi bestimmen. Monte Carlo Simulation oder Monte Carlo Studie, auch MC Simulation, ist ein Verfahren aus der Stochastik, bei dem sehr… …   Deutsch Wikipedia

  • Monte Carlo methods in finance — Monte Carlo methods are used in finance and mathematical finance to value and analyze (complex) instruments, portfolios and investments by simulating the various sources of uncertainty affecting their value, and then determining their average… …   Wikipedia

  • Monte Carlo methods for electron transport — The Monte Carlo method for electron transport is a semiclassical Monte Carlo(MC) approach of modeling semiconductor transport. Assuming the carrier motion consists of free flights interrupted by scattering mechanisms, a computer is utilized to… …   Wikipedia

  • Markov chain Monte Carlo — MCMC redirects here. For the organization, see Malaysian Communications and Multimedia Commission. Markov chain Monte Carlo (MCMC) methods (which include random walk Monte Carlo methods) are a class of algorithms for sampling from probability… …   Wikipedia

  • Quantum Monte Carlo — is a large class of computer algorithms that simulate quantum systems with the idea of solving the many body problem. They use, in one way or another, the Monte Carlo method to handle the many dimensional integrals that arise. Quantum Monte Carlo …   Wikipedia

  • Variational Monte Carlo — Variational Monte Carlo(VMC) is a quantum Monte Carlo method that applies the variational method to approximate the ground state of the system. The expectation value necessary can be written in the x representation as frac{langle Psi(a) | H |… …   Wikipedia

  • Direct simulation Monte Carlo — (DSMC) method uses probabilistic (Monte Carlo) simulation to solve the Boltzmann equation for finite Knudsen number fluid flows. The DSMC method was proposed by Prof. Graeme Bird,[1][2][3] Emeritus Professor of Aeronautics, University of Sydney.… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”