This repository contains a Quantum Monte Carlo algorithm along with some utilities and a thesis describing the algorithm. We simulate a generalisation of the AKLT model, the bilinear-biquadratic spin-1 model. The model is a striking example of the rich physics encountered in low-dimensional quantum spin systems. It exhibits symmetry-protected topological order in the Haldane phase, which is fully accesible to our algorithm. For an introduction these phenomena we refer to the lecture by Haldane. Our numerical study of the model relies on the worm algorithm in the path integral representation, which is formulated in continous time. The worm algorithm has been invented in the 1990s by Prokovief et al. It has since become one of the most popular methods for studying bosonic lattice models and spin systems.
The algorithm samples worldline configurations with three species of bosonic particles (red, green and blue) and two types of interactions. This bosonic particle model is equivalent to the AKLT model. The two black squares are what we call worm head and tail, hence the name worm algorithm. The head performs a random walk in space-time. When head and tail meet, the worm gets removed and reinserted at a random space-time point. For a detailed discussion of the algorithms see chapter 2 in thesis.
WormAlgorithmBLBQ is based on the ALPSCore library for physics simulations. Refer to their website for more detailed installation instructions. ALPSCore has the following prerequisites:
- a C++11-capable compiler.
- CMake build system (version 3.1 or later)
- Boost (version 1.56 or later)
- HDF5 library 1.8.x (version 1.10 has a known problem)
On HPC clusters, you may need to load the required modules first, e.g. module load gcc
.
-
Download:
git clone https://github.com/ALPSCore/ALPSCore.git
or download .zip file -
Build:
cd ALPSCore
mkdir build
cd build
cmake .. -DALPS_INSTALL_EIGEN=yes -DCMAKE_INSTALL_PREFIX=/where/to/install/ALPSCore
make
make test
-
Install:
make install
-
Download:
git clone https://github.com/durnwalder/WormAlgorithmBLBQ
or download .zip file -
Build:
cd WormAlgorithmBLBQ
cd src
mkdir build
cmake ..
make
-
Run:
./qmc_worm ../parameter_files/aklt.ini
The parameter file aklt.ini
contains the parameters for the AKLT model, which was also used for the Visualisation.