10.3 Importance sampling through Markov chains 303
In the next subsections we shall work out the canonical ensemble MC method in
more detail for two examples of classical many-particle systems, the Ising model
and the monatomic fluid.
It should be noted that the detailed balance condition can be fulfilled by
algorithms other than the Metropolis method. TheBarker algorithm[ 11 , 12 ] reads
T(X→X′)=ωXX′
ρ(X′)
ρ(X)+ρ(X′)
forX=X′, (10.19a)
T(X→X)= 1 −
∑
X=X′
T(X→X′). (10.19b)
whereωsatisfies the same criteria as in the Metropolis method. It can easily
be shown that this algorithm indeed satisfies the detailed balance condition. The
Metropolis solution, however, turns out to be more efficient[2].
We can generalise the Metropolis procedure, in which for some pairsX,X′of
configurations,ωXX′is not equal toωX′X. In that case, the acceptance criterion for
an attempted moveX→X′must be replaced by
AXX′=min(1,qXX′) (10.20)
with
qXX′=
ωX′Xρ(X′)
ωXX′ρ(X)
. (10.21)
This is called thegeneralised Metropolis method. In the context of Monte Carlo
simulations, the method is also calledsmart Monte Carlo. It can easily be checked
that the generalised Metropolis method satisfies detailed balance.
We conclude this section by mentioning another variant of the Metropolis
method: theheat-bath algorithm. In this algorithm it is assumed that the trial step
involves one or a few degrees of freedom, the remaining ones being kept fixed (this
is the case in most Metropolis algorithms). The degrees of freedom that may change
are denotedx; the remainder of the system, which is kept fixed, is then denoted
symbolically asX−x. We now assign a new value toxaccording to
P(x)∝exp[−βH(x|X−x)], (10.22)
whereH(x|X−x)is the Hamiltonian as a function ofx, withX−xkept fixed. It
is easy to see that this procedure satisfies detailed balance, and that it is equivalent
to applying an infinite number of Metropolis steps toxsuccessively, with fixed
X−x. The practical implementation of this method is often difficult, for reasons
to be explained below; however, for lattice models it can be implemented rather
straightforwardly.