Glauber dynamics

In statistical physics, Glauber dynamics is a way to simulate the Ising model (a model of magnetism) on a computer. It is a type of Markov Chain Monte Carlo algorithm.

The algorithm
In the Ising model, we have say N particles that can spin up (+1) or down (-1). Say the particles are on a 2D grid. We label each with an x and y coordinate. Glauber's algorithm becomes:

In Glauber algorithm, if the energy change in flipping a spin is zero, $$\Delta E = 0$$, then the spin would flip with probability $$p(0, T) = 0.5$$.
 * 1) Choose a particle $$\sigma_{x,y}$$ at random.
 * 2) Sum its four neighboring spins. $$S = \sigma_{x+1,y} + \sigma_{x-1,y} + \sigma_{x,y+1} + \sigma_{x,y-1}$$.
 * 3) Compute the change in energy if the spin x, y were to flip. This is $$\Delta E = 2\sigma_{x, y} S$$ (see the Hamiltonian for the Ising model).
 * 4) Flip the spin with probability $$1/(1 + e^{\Delta E/T})$$ where T is the temperature.
 * 5) Display the new grid. Repeat the above N times.

Glauber vs. Metropolis–Hastings algorithm
Metropolis–Hastings algorithm gives identical results as Glauber algorithm does, but it is faster. In the Metropolis algorithm, selecting a spin is deterministic. Usually, one may select the spins one by one following some order, for example “typewriter order”. In the Glauber dynamic, however, every spin has an equal chance of being chosen at each time step, regardless of being chosen before. The Metropolis acceptance criterion also includes the Boltzmann weight, $$e^{-\Delta E/T}$$, but it always flips a spin in favor of lowering the energy, such that the spin-flip probability is:

$$p(\Delta E) = \left\{\begin{matrix} 1, \ \ \ \ \ \ \ \ \ \Delta E \leqslant 0\\ e^{-\Delta E/T}, \ \Delta E >  0\\ \end{matrix}\right.$$.Although both of the acceptance probabilities approximate a step curve and they are almost indistinguishable at very low temperatures, they differ when temperature gets high. For an Ising model on a 2d lattice, the critical temperature is $$T = 2.27$$.

In practice, the main difference between the Metropolis–Hastings algorithm and with Glauber algorithm is in choosing the spins and how to flip them (step 4). However, at thermal equilibrium, these two algorithms should give identical results. In general, at equilibrium, any MCMC algorithm should produce the same distribution, as long as the algorithm satisfies ergodicity and detailed balance. In both algorithms, for any change in energy, $$p(\Delta E) \neq 0$$, meaning that transition between the states of the system is always possible despite being very unlikely at some temperatures. So, the condition for ergodicity is satisfied for both of the algorithms. Detailed balance, which is a requirement of reversibility, states that if you observe the system for a long enough time, the system goes from state $$A$$ to $$B$$ with the same frequency as going from $$B $$ to $$A$$. In equilibrium, the probability of observing the system at state A is given by the Boltzmann weight, $$e^{-E_A/T}$$. So, the amount of time the system spends in low energy states is larger than in high energy states and there is more chance that the system is observed in states where it spends more time. Meaning that when the transition from $$A$$ to $$B$$ is energetically unfavorable, the system happens to be at $$A$$ more frequently, counterbalancing the lower intrinsic probability of transition. Therefore, both, Glauber and Metropolis–Hastings algorithms exhibit detailed balance.

History
The algorithm is named after Roy J. Glauber.

Software

 * Simulation package IsingLenzMC provides simulation of Glauber Dynamics on 1D lattices with external field. CRAN.

Related pages

 * Metropolis algorithm
 * Ising model
 * Monte Carlo algorithm
 * Simulated annealing