Skip to main content

Automated operator construction for effective field theories.

Project description

AutoEFT

AutoEFT

Automated operator construction for effective field theories.

Code style: black Ruff Hatch project License: MIT PyPI - Version Conda (channel only)

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.

Installing AutoEFT from conda-forge

To install autoeft and its dependencies, run:

conda install autoeft -c conda-forge
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

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

If you use AutoEFT in your project, please refer to:


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoeft-1.0.0.tar.gz (486.2 kB view hashes)

Uploaded Source

Built Distribution

autoeft-1.0.0-py3-none-any.whl (247.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page