Documentation:dirloop sse

From ALPS
Jump to: navigation, search

Introduction

The dirloop_sse package 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 Anders Sandvik 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 published in:

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 tutorial.

Input parameters

In addition to the common input parameters of the ALPS applications the dirloop_sse application takes the following input parameters for experts (use only if you see what it means !):

Parameter Default Meaning
SKIP 1 the number of Monte Carlo sweeps between each measurement
RESTRICT_MEASUREMENTS[N] if defined this restricts measurements to configurations where the quantum number N (particle number) has the value given as this parameter. Note that the simulation will still performed in the grand canonical ensemble and the chemical potential needs to be tuned to the right range, to actually sample configurations with the desired particle number.
RESTRICT_MEASUREMENTS[Sz] if defined this restricts measurements to configurations where the quantum number Sz (magnetization) has the value given as this parameter. Note that the simulation will still performed in the grand canonical ensemble and the magnetic field needs to be tuned to the right range, to actually sample configurations with the desiredmagnetization.
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.

Measurements

The following observables are measured by the dirloop_sse for any model application:

Name Description
Energy total energy of the system
Energy Density energy per site

The following observables are measured by the dirloop_sse for spin models, i.e. models that have an Sz quantumnumber defined:

Magnetization the z-component of the total magnetization
Magnetization Density the z-component of the total magnetization per site
|Magnetization| absolute value of the z-component of the magnetization
|Magnetization Density| absolute value of the z-component of the magnetization per site
Magnetization^2 square of the z-component of the total magnetization
Magnetization Density^2 square of the z-component of the total magnetization per site
Magnetization^4 fourth power of the z-component of the total magnetization
Magnetization Density^4 fourth power of the z-component of the total magnetization per site
Susceptibility the uniform susceptibility (spin models)

Spin models on biartite lattices also have a staggered magnetization:

Staggered Magnetization the z-component of the staggered magnetization
Staggered Magnetization Density the z-component of the staggered magnetization per site
Staggered Magnetization^2 square of the z-component of the staggered magnetization
Staggered Magnetization Density^2 square of the z-component of the staggered magnetization per site

The following observables are measured by the dirloop_sse for particle models, i.e. models that have an N quantumnumber defined:

Density particle density
Density^2 square of the particle density

And for all models

Stiffness stiffness of the system (both

for spin and bosonic models)

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

License

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 license file. Even though this is not mandatory, we would be happy to hear from you (for example by email) if you used dirloop_sse to produce data used in a scientific publication.

Questions and request for support

can be addressed to the ALPS user mailing list at comp-phys-alps-users@list.comp-phys.org. We appreciate hearing your requests for additional features and also welcome any contributions to the ALPS project.

Contributors

The following persons have contributed to the dirloop_sse application:

© 2002-2007 by Fabien Alet and Matthias Troyer.