Jump to: navigation, search

ALPS application: dirloop_sse</h1> The dirloop_sse package is one of the applications of the <a

href="">ALPS project</a>. It provides a full

generic implementation of the Quantum Monte Carlo (QMC) method called directed loop algorithm in the Stochastic Series Expansion representation. The dirloop_SSE method was invented and developped by <a

href="">Anders Sandvik </a>and

coworkers. It is a powerful and elegant QMC method to study quantum spin or bosonic lattice models.

The current implementation we present here uses the most recent developments of this method. This version allows to simulate on arbitrary lattices :

  • Quantum spin (even frustrated - see remark below) models with arbitrary spin size, magnetic field and anisotropy
  • (Softcore) bosonic models

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 <a href="../../../doc/tutorial2.html">tutorial</a>.

Input parameters

In addition to the general input parameters of the <a


scheduler library</a> the sse application takes the following input parameters:

<thead> </thead> <tbody> </tbody>
Name Default Description
LATTICE_LIBRARY lattices.xml path to a file containing lattice descriptions
name of the lattice
MODEL_LIBRARY models.xml path to a file containing model descriptions
name of the model (for example "spin" or "boson")
the temperature

inverse of temperature (if

temperature is not given)


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 !):

<thead> </thead> <tbody> </tbody>
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.
WHICH_LOOP_TYPE "minbounce" string to indicate which type of updates should be used for the scattering at the vertices : ( "heatbath" ) heatbath, see A. W. Sandvik, Phys. Rev. B 59, 14157 (1999). ( "minbounce" ) minimum bounces, see F. Alet, S. Wessel, and M. Troyer Phys. Rev. E 71, 036706 (2005). ( "locopt" ) locally optimal, see L. Pollet, S. M. A. Rombouts, K. Van Houcke, and K. Heyde, Phys. Rev. E 70, 056705 (2005). By default the algorithm uses the "minbounce" updates.
NO_WORMWEIGHT 0 boolean to indicate whether the worm matrixelement should be set to unity (NO_WORMWEIGHT = true) or to its real value depending on the spin/density configuration (NO_WORMWEIGHT=false). By default, NO_WORMWEIGHT is false.


The following observables are measured by the sse application:

<thead> </thead> <tbody> </tbody>
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 square of the z-component of the magnetization (spin models)
Staggered Magnetization the z-component of the staggered magnetization (bipartite lattice and spin models)
Staggered Magnetization^2 square of the z-component of the staggered magnetization (bipartite lattice and spin models)
Susceptibility the uniform susceptibility (spin models)
Density particle number (for bosonic models)
Density^2 square of the particle number (for bosonic models)
stiffness of the system (both

for spin and bosonic models)

Other observables might also be available depending on the exact version of the sse application.


The license allows the use of the applications for non-commercial scientific use provided that the use of the ALPS applications and libraries is acknowledged and referenced in any scientific publication, as discussed in this <a href="">license file</a>. Even though this is not mandatory, we would be happy to hear from you (for example by email) if you used sse to produce data used in a scientific publication.

Questions and request for support

can be addressed to <a href="">Fabien Alet</a> and <a href="">Matthias Troyer</a>.

Contributions and feature requests

We appreciate hearing your requests for additional features and also welcome any contributions to the ALPS project.


The following persons have contributed to the sse application:

<address>copyright (c) 2002-2004 by <a href="">Fabien Alet</a> and <a href="">Matthias Troyer</a></address>