Skip to main content

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. See also here for a collection of potential installation issues.

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

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


Metadata

Release files for autoeft 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autoeft 1.0.1
File Size Uploaded
autoeft-1.0.1.tar.gz 162.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autoeft 1.0.1
File Interpreter ABI Platform
autoeft-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 457.6 kB

Release files / autoeft-1.0.1.tar.gz

Download URL autoeft-1.0.1.tar.gz
Size 162.3 kB
Tags Source
SHA-256 checksum
How to use checksums
655a07ac390e0f7d1a9dd84b45f9bbd7474ab7af4d9abfa0e2a47adbc985c71f
BLAKE2b-256 checksum
How to use checksums
91fc85f9f95a45d7d591d82863bc25c4fb63fa5f6a06aaf45cdb3df5f77cd17f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / autoeft-1.0.1-py3-none-any.whl

Download URL autoeft-1.0.1-py3-none-any.whl
Size 295.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9928db05c5dba08d627dc90fd002b7bbe6f0100429983a9158b868af3797e2ce
BLAKE2b-256 checksum
How to use checksums
d2573bcaff357d8188a737d754794ce249f0704ce5e7499ff593684e6c03ab41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page