Code for the computation of the 16 cell spinfoam amplitude, boundary observables and correlation functions.
The library depends on:
- GNU GSL
- quadmath (GCC extension)
- OpenMP
- wigxjpf and fastwigxj
- parallel hashmap
- progressbar (optional)
- atpbar
- Python (≥ 3.6)
The C++ source code can be compiled with make
. The makefile automatically compiles wigxjpf and fastwigxj as well.
This creates the spinfoam shared library, the object files and the binary files. Type make DEBUG=1
in order to build the debug version.
The shared library searches for specific folders and files depending on the type of computation (see Usage
below for details).
The spinfoam shared library has been tested with GCC version 8.1 or greater.
The C++ code can be executed with a shell script (see scripts
) or via Python (see the notebook python_interface).
It runs a Markov Chain for each provided thread and stores the states in a folder chosen by the user.
The code style is hybrid between modern C++ and old C. Unfortunately, I do not have time to update and improve it, as this project as been realized as final assignment of a Scientific Computing course with a restrictive deadline.
The states stored during the random walk Metropolis-Hastings algorithm are used to compute spinfoam observables and correlations functions in the notebook Operators (see notebooks
). The statistical and data analysis is performed using pandas.