ALPS application: sse

ALPS application: sse

The sse package is one of the applications of the ALPS project. It provides a full generic implementation of the Quantum Monte Carlo (QMC) method called Stochastic Series Expansion (SSE). The SSE method was invented and developped by Anders Sandvik and coworkers. It is a powerful and elegant QMC method to study quantum spin or bosonic lattice models.

The current implementation we'll present here uses the most recent developments of this method, including improved and direct implementation of directed loops. This version allows to simulate on arbitrary lattices : This release allows to simulate systems with a sign problem (e.g. frustrated spin systems). However, this case was moderately tested so please be careful if your model has a sign problem ...
Please note that for frustrated models, some values of the parameter Epsilon might render the algorithm non ergodic (for example, when you have a "pure loop" algorithm). One needs to check this carefully.

Running a simulation

is discussed in the tutorial.

Input parameters

In addition to the general input parameters of the ALPS scheduler library the sse application takes the following input parameters:

Name Default Description
LATTICE_LIBRARY lattices.xml path to a file containing lattice descriptions
LATTICE
name of the lattice
MODEL_LIBRARY models.xml path to a file containing model descriptions
MODEL
name of the model (for example "spin" or "boson")
T
the temperature
BETA

inverse of temperature (if temperature is not given)
SWEEPS

number of Monte Carlo steps (after thermalization)
THERMALIZATION SWEEPS / 10 Number of Monte Carlo sweeps for thermalization

In addition, the lattice description can require further parameters (e.g. L or W) as specified in the lattice description file.
The model description can also require further parameters (e.g. S=1/2 or S=1, h=0.5 for spin models, t=1.5 or mu=0.5 for boson models) as specified in the model description file.

Parameters for experts

In addition, specific simulations parameters can be assigned (use only if you see what it means !):

Name Default Description
SKIP 1 the number of Monte Carlo sweeps between each measurement
NUMBER_OF_WORMS_PER_SWEEP Calculated self consistently number of worms done during the loop update. By default, this number is calculated self-consistently during the thermalization part. Nevertheless, you can force its value during the whole simulation
EPSILON 0 supplementary diagonal energy shift for all interactions. The value of Epsilon affects the performances of the algorithm with the following tradeoff : the higher it is, the longer the simulation time but the lowest are bounce probabilities. Current wisdom indicates that one should use non-zero values for Epsilon, but not too high (for example S/2 for spin S models). Please note that for frustrated models, some values of Epsilon might render the algorithm non-ergodic. You have to check carefully.
FORCE_HEATBATH 0 boolean to force the algorithm to use heat-bath probabilities for the worm scattering probabilities. By default the algorithm uses improved directed loop method
FORCE_STANDARD_DIRECTED_LOOPS 0 boolean to force the algorithm to use standard directed loop probabilities for the worm scattering probabilities. By default the algorithm uses improved directed loop method

Measurements

The following observables are measured by the sse application:

Name Description
Energy total energy of the system
Energy Density
energy per site
Magnetization the z-component of the magnetization (spin models)
|Magnetization| absolute value of the z-component of the magnetization (spin models)
Magnetization^2 squ