This is the source code for Section 5 of 

J. Barkley, T. Budd, "Precision measurements of Hausdorff dimensions in two-dimensional quantum gravity" (2019).

=== Requirements ===

* C++ compiler supporting c++11 standard (tested with gcc version 5.4.0)
* Boost library (tested with version 1.58)
* FFTW 3 (available at http://www.fftw.org/)
* FFTW++ (included with the source code, see also http://fftwpp.sourceforge.net/)

=== Compilation ===

g++ main.cpp liouvillefpp.cpp fftw++/fftw++.cc -std=c++11 -lboost_program_options -lfftw3 -O3 -I./fftw++/ -o liouvillefpp

=== Usage ===

Overview of input options: 
$ ./liouvillefpp --help

Save a bitmap image of a single sample of a GFF on a 200*200 lattice together with some DLFPP geodesics with xi = 0.4 to a PPM-image file image.ppm:
$ ./liouvillefpp -w 200 -x 0.4 -O image.ppm

Produce a histogram of the DLFPP distance from a random starting point to all other lattice sites (--twopoint) in 400 instances of the GFF on a 128*128 lattice with xi = 0.3. The output is written to hist.txt after every 50 instances in simple space-separated format (--text). Note that if hist.txt already exists before running the command, the program will attempt to read the data from hist.txt and resume from there (stopping once the total number of instances reaches 400).
$ ./liouvillefpp -w 128 -x 0.3 -n 400 -f 50 --text --twopoint -o hist.txt

Produce histograms for multiple values of xi running from 0.1 up to 0.3 with steps 0.05, hence xi = 0.1, 0.15, 0.2, 0.25, 0.3. In this case the DLFPP distances are computed multiple times for each instance of the GFF. Again, the output is written to hist.txt after every 30 instances in simple space-separated format, and the program will attempt to resume if hist.txt already exists.
$ ./liouvillefpp -w 128 -l 0.1 -u 0.3 -p 0.05 -n 400 -f 50 --text --twopoint -o hist.txt

If the flag --text is not included, the output is written in Mathematica style. In this case the program will not attempt to resume if hist.txt already exists.

If the flag --twopoint is not included, the program will measure for each instance of the GFF the minimal DLFPP distance between the leftmost column and the rightmost column of the lattice (using periodic boundary conditions in the vertical direction but not in the horizontal direction).


=== License ===

This source code may be reused without limitations according to the MIT license. If used in a scientific context, please cite the accompanying paper:

J. Barkley, T. Budd, "Precision measurements of Hausdorff dimensions in two-dimensional quantum gravity" (2019).


