Lips
is a Python 3 library that provides a phase-space generator and manipulator that is tailored to the needs of modern theoretical calculations in quantum field theory. At present, the package is designed to handle the kinematics of scattering processes involving an arbitrary number of massless particles. Use cases include:
- generation of phase-space points over complex numbers (
$\mathbb{C}$ ), finite fields ($\mathbb{F}_p$ ), and$p$ -adic numbers ($\mathbb{Q}_p$ ); - generation of spinor strings representing possible kinematic singularities (related to letter of the symbol alphabet);
- on-the-fly evaluation of arbitrary spinor-helicity expressions in any of the above mentioned fields;
- construction of special kinematic configurations, with efficient, hard-coded solutions available up to codimension 2;
- algebro-geometric analysis of irreducible varieties in kinematic space.
The package is available on the Python Package Index
pip install lips
Alternativelty, it can be installed by cloning the repo
git clone https://github.com/GDeLaurentis/lips.git path/to/repo
pip install -e path/to/repo
pip
will automatically install the required packages, which are
numpy, sympy, mpmath, pyadic
The algebraic_gemetry
submodule requires Singular through the Python interface syngular. Singular needs to be installed manually (e.g. apt-get install singular
).
pytest --cov lips/ --cov-report html tests/ --verbose
If you found this library useful, please consider citing it
@inproceedings{DeLaurentis:2023qhd,
author = "De Laurentis, Giuseppe",
title = "{Lips: $p$-adic and singular phase space}",
booktitle = "{21th International Workshop on Advanced Computing and Analysis Techniques in Physics Research}: {AI meets Reality}",
eprint = "2305.14075",
archivePrefix = "arXiv",
primaryClass = "hep-th",
reportNumber = "PSI-PR-23-14",
month = "5",
year = "2023"
}
@phdthesis{DeLaurentis:2020xar,
author = "De Laurentis, Giuseppe",
title = "{Numerical techniques for analytical high-multiplicity scattering amplitudes}",
school = "Durham U.",
year = "2020"
}