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. 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


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.1.tar.gz (162.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoeft-1.0.1-py3-none-any.whl (295.2 kB view details)

Uploaded Python 3

File details

Details for the file autoeft-1.0.1.tar.gz.

File metadata

  • Download URL: autoeft-1.0.1.tar.gz
  • Upload date:
  • Size: 162.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for autoeft-1.0.1.tar.gz
Algorithm Hash digest
SHA256 655a07ac390e0f7d1a9dd84b45f9bbd7474ab7af4d9abfa0e2a47adbc985c71f
MD5 a0b9e369964b02e2b46fdcce070e8548
BLAKE2b-256 91fc85f9f95a45d7d591d82863bc25c4fb63fa5f6a06aaf45cdb3df5f77cd17f

See more details on using hashes here.

File details

Details for the file autoeft-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: autoeft-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 295.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for autoeft-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9928db05c5dba08d627dc90fd002b7bbe6f0100429983a9158b868af3797e2ce
MD5 d0021775a9bbf1044578357b17e13480
BLAKE2b-256 d2573bcaff357d8188a737d754794ce249f0704ce5e7499ff593684e6c03ab41

See more details on using hashes here.

Supported by

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