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

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.0rc0.tar.gz (151.1 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.0rc0-py3-none-any.whl (247.0 kB view details)

Uploaded Python 3

File details

Details for the file autoeft-1.0.0rc0.tar.gz.

File metadata

  • Download URL: autoeft-1.0.0rc0.tar.gz
  • Upload date:
  • Size: 151.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for autoeft-1.0.0rc0.tar.gz
Algorithm Hash digest
SHA256 09808ba2ba9a521c20a83bc6bc499f1de1c782c245a0f9e274299e1871acbd90
MD5 c802833f05306fa9ab0b77048ceecd2e
BLAKE2b-256 16474ca7d9426e6bf178354b3e2c2198c86aa5feaee3e634f5676420fb6276d7

See more details on using hashes here.

File details

Details for the file autoeft-1.0.0rc0-py3-none-any.whl.

File metadata

  • Download URL: autoeft-1.0.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 247.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for autoeft-1.0.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bd3e59ddfcb1033f32ecd78815e0f9b2d7cad82979fc772dbd25a0e4a249e88
MD5 ced64e61bc476de6468f7f57c50402cb
BLAKE2b-256 8636e5544f58b506219faee0a43644079c7a0d259aed645be5d8a4aabaf64e04

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