Skip to content

Latest commit

 

History

History
53 lines (36 loc) · 3.63 KB

README.md

File metadata and controls

53 lines (36 loc) · 3.63 KB

bootstrap-2d-Python

Numerically computing correlation functions in 2d CFT with Python, using Jupyter Notebooks.

Purpose

This code was written for the articles

  • "Liouville theory with a central charge less than one", by S. Ribault and R. Santachiara,
  • "A conformal bootstrap approach to critical percolation in two dimensions", by M. Picco, S. Ribault and R. Santachiara,
  • "Liouville field theory and log-correlated Random Energy Models", by X. Cao, P. Le Doussal, A. Rosso and R. Santachiara,
  • "The analytic bootstrap equations of non-diagonal two-dimensional CFT", by S. Migliaccio and S. Ribault.

It can be used for computing correlation functions and checking crossing symmetry in two-dimensional conformal field theories such as Liouville theory, (generalized) minimal models, and the Potts model.

The code is supposed to run on standard desktop or laptop computers, in order to quickly get relatively low precision results (5-15 significant digits). For higher precision computations of Virasoro conformal blocks, see this repository: https://github.com/chussong/virasoro

For numerical tests of crossing symmetry, a code that partly evolved from this code can be found there: https://gitlab.com/s.g.ribault/Bootstrap_Virasoro

Bibtex entry for release 1.1: @misc{b2P, author = {{S. Ribault, R. Santachiara, S. Migliaccio, et al}}, title = {bootstrap-2d-Python}, doi = {10.5281/zenodo.1469339}, url = { https://doi.org/10.5281/zenodo.1469339 }, version = {1.1}, year = {2018}, type = {code}, }

Technical notes

The code was originally written in Python 2, and also works with Python 3.

For 'Notebook1.ipynb' to be able to call 'Notebook2.ipynb', one should first generate the associated file 'Notebook2.py'. A script for generating such Python files can be called as 'bash manage.sh -m'.

Before committing changes, one should clear the notebooks' output and metadata. A script for doing that can be called as 'bash manage.sh -c'. This script is based on the Python module 'nbstripout'.

Notebooks

Basic tools

  • Auxiliary_classes.ipynb: Auxiliary classes for complex integration, displaying tables, formal variables, and formal series.
  • CFT.ipynb: Basic objects of conformal field theory: central charge and conformal dimension. Kac tables.
  • Blocks.ipynb: Computing conformal blocks numerically or as formal series, using Zamolodchikov's recursion.

Liouville theory and generalized minimal models

  • Correlators.ipynb: Computing three- and four-point correlation functions in Liouville theory and related CFTs. This includes the necessary special functions.
  • Correlators_ext_complex.ipynb: Allowing general complex values of momentums, and therefore discrete terms in OPEs.
  • Data.ipynb: Computing and displaying how correlation functions depend on various parameters. This includes comparing s- and t-channel computations in order to test crossing symmetry. The results can be saved as pickles.
  • Liouville_demo.ipynb: A demo notebook with a few quick computations, designed to be shown in seminars.
  • Liouville_demo_2.ipynb: Another demo notebook.
  • Liouville_article.ipynb: A complete demo notebook for supporting the claims in the article. This includes generating the tables and figures.

Potts model and percolation

  • Spectrum_bootstrap.ipynb: Writing spectrums, and computing correlation functions by solving crossing symmetry.
  • Potts_article.ipynb: Demo notebook for supporting the claims in the article.

Non-diagonal CFT

  • Non_Diagonal_Shifts.ipynb: Computing four-point structure constants and correlation functions in non-diagonal CFTs.
  • Non_Diagonal_article.ipynb: Generating data for the article.