In the Monte Carlo Metropolis algorithm new states of the system are generated from a previous state by randomly selecting a single spin and updating it to a new trial position (trial move). πegas supports eight possible trial moves: random, flip, qising, adaptive, cone30, cone15, hn30 and hn15.
random
This policy generates a random vector over a sphere of radius one and multiplies it by the spin norm. To generate a random vector, two random numbers ( and ) in the range are generated, then
and using spherical coordinates
where is the spin norm. In this way, a random spin direction with an uniform distribution is generated.
Note that generating a random value in the range and a random value in the range is a incorrect way to generate a random vector, because the area element is a function of . Therefore, the random vectors will tend to point to the poles.
Wolfram Mathworld presents a good explanation of the generation of random points on the surface of a unit sphere, and shows some graphical schemes:
flip
This policy takes the initial spin direction () and reverses it. The new spin direction will be . The spin directions are always pointing alog the and axes. This trial move resembles the Ising model.
qIsing
Unlike the spin flip move, the qIsing move generates all possible projections of the spin moment. These projections are , , , , . must be multiple of . Otherwise, the projections are not symmetric. Moreover, note that there are possible projections. For example, if , there are possible projections , which is consistent with . Like in the spin flip move, the spin directions are always pointing alog the and axes.
adaptive
The Adaptive move generates the new spin direction ( in the vicinity of the initial spin direction () employing a Gaussian distribution, according to the expression
where is a Gaussian distributed random vector and is the width of the cone around the initial spin direction . The width of the cone is varied adaptively in order to keep an acceptance rate close to , as follows: At each temperature, the simulation starts using a high cone width () in the first Monte Carlo step. From then on, every MCS, the cone width is recalculated by multiplying the current cone width by a factor () obtained according to the acceptance rate () in the previous MCS
The selection of the factor is made such that the cone width approaches values that generate an acceptance rate close to . The Adaptive move is more efficient than other common spin update policies independently of the temperature and the anisotropy of the system in consideration.
cone30 and cone15
Also known as small step moves, the cone30 and cone15 moves generates new spin directions from a uniform probability distribution within a cone with a given opening angle around the initial spin direction, hence each spin can only move by small angular changes limited by the opening angle. The openin angle can be set to ΒΊ (cone30) or ΒΊ (cone15). These trial moves make use of the Rodriguesβ rotation formula.
hn30 and hn15
hn30 and hn15 are based on a trial move proposed by D. Hinzke and U. Nowak that performs a combined samplig. For each Monte Carlo step one trial move is randomly selected from a set of three random, one small step and one spin flip moves. Then, the selected trial move is applied to all the spin moments in that Monte Carlo step. hn30 and hn15 correspond to trial moves where the set is composed by a cone30 and cone15 moves, respectively.