Automated operator construction for effective field theories.
Project description
AutoEFT
Automated operator construction for effective field theories.
Installation
AutoEFT is available on the Python Package Index (PyPI) and the conda-forge channel.
Requirements
Installing AutoEFT from PyPI
To install AutoEFT using pip
, an already installed and running version of SageMath is required (see the Sage Installation Guide and Alternative Installation using PyPI).
To install autoeft and its dependencies, run:
sage -pip install autoeft
On macOS using Homebrew, it may be necessary to precede this statement by PYTHONEXECUTABLE=</path/to/sage>
with the proper path to the SageMath executable inserted.
In addition, it may be necessary to add the path to SageMath’s executables to the $PATH
environment variable.
See also here for a collection of potential installation issues.
Installing AutoEFT from conda-forge
To install autoeft and its dependencies, run:
- with conda:
conda install autoeft -c conda-forge
- with mamba:
mamba install autoeft
Building AutoEFT from Source Code
To build the distribution packages, run:
git clone https://gitlab.com/auto_eft/autoeft.git autoeft
cd autoeft
python -m build
Usage
Verify the installation by running:
autoeft --help
and
autoeft check
Model Files
The model file defines the symmetry groups and field content of a low-energy theory in the YAML format. To produce a sample model file, run:
autoeft sample-model > sm.yml
To define a custom model file, it is recommended to produce a sample file using the sample-model
sub-command and modify it according to the desired theory.
Basis Construction
Operator bases are constructed using the construct
(alias c
) sub-command.
To show the help message, run:
autoeft construct --help
autoeft needs to access form
during the construction. If the FORM executable is not on the system PATH
, the environment variable AUTOEFT_PATH
can be set to specify a different path (multiple paths are separated by :
).
To construct an operator basis for a low-energy theory, pass a valid model file and mass dimension to the command. For example, to construct the dimension 6 SMEFT operator basis, run:
autoeft construct sm.yml 6
# ...
# Constructing operator basis for SMEFT @ d=6
# ...
This will create the output directory efts/sm-eft/6/
in the current working directory, containing the file stats.yml
and directory basis/
.
A different output directory can be passed using the --output
argument.
The file stats.yml
summarizes the number of families, types, terms, and operators of a constructed basis.
The basis/
directory contains the model (model.json
) used to construct the basis and operator files in subdirectories of the form <N>/<family>/<type>.yml
.
Loading Operators
Once a basis is constructed, the operator files can be processed further. If you want to work with the operators inside SageMath, autoeft provides functionality to load the basis:
from pathlib import Path
from autoeft.io.basis import BasisFile
basis_path = Path("efts/sm-eft/6/basis")
basis_file = BasisFile(basis_path)
model = basis_file.get_model()
basis = basis_file.get_basis()
print(model)
# SMEFT: Standard Model Effective Field Theory
LQQQ = basis[{"LL": 1, "QL": 3}]
print(LQQQ)
# LL (1) QL(3)
print(LQQQ.n_terms, LQQQ.n_operators, sep=" & ")
# 3 & 57
Authors
- Robert V. Harlander (RWTH Aachen University)
- Magnus C. Schaaf (RWTH Aachen University)
Cite
-
Standard model effective field theory up to mass dimension 12
R.V. Harlander, T. Kempkens, M.C. Schaaf
Phys. Rev. D 108 (2023) 055020, arXiv:2305.06832 [hep-ph] -
AutoEFT: Automated operator construction for effective field theories
R.V. Harlander, M.C. Schaaf
Comput. Phys. Commun. 300 (2024) 109198, arXiv:2309.15783 [hep-ph]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.