Name | autoeft JSON |
Version |
1.0.0
JSON |
| download |
home_page | |
Summary | Automated operator construction for effective field theories. |
upload_time | 2023-09-28 08:19:58 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | |
keywords |
basis
eft
hep
operators
physics
qft
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# AutoEFT
![AutoEFT](https://gitlab.com/auto_eft/autoeft/-/raw/1c98f5fa83a94f3f36220248564a5a3079ed0146/template/logo/png/logo_300.png?raw=true "AutoEFT")
Automated operator construction for effective field theories.
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI - Version](https://img.shields.io/pypi/v/autoeft)](https://pypi.org/project/autoeft/)
[![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/autoeft)](https://anaconda.org/conda-forge/autoeft)
## Installation
AutoEFT is available on the [Python Package Index (PyPI)](https://pypi.org/) and the [conda-forge](https://conda-forge.org/) channel.
### Requirements
- [Python](https://www.python.org/) >= 3.8
- [SageMath](https://www.sagemath.org/) >= 9.3
- [FORM](https://www.nikhef.nl/~form/) >= 4.3
### Installing AutoEFT from PyPI
To install AutoEFT using `pip`, an already installed and running version of SageMath is required (see the [Sage Installation Guide](https://doc.sagemath.org/html/en/installation/index.html) and [Alternative Installation using PyPI](https://github.com/sagemath/sage/blob/develop/README.md#alternative-installation-using-pypi)).
To install *autoeft* and its dependencies, run:
```shell
sage -pip install autoeft
```
On *macOS* using [Homebrew](https://brew.sh/), 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:
- with [conda](https://conda.io/):
```shell
conda install autoeft -c conda-forge
```
- with [mamba](https://github.com/mamba-org/mamba):
```shell
mamba install autoeft
```
### Building AutoEFT from Source Code
To build the distribution packages, run:
```shell
git clone https://gitlab.com/auto_eft/autoeft.git autoeft
cd autoeft
python -m build
```
## Usage
Verify the installation by running:
```shell
autoeft --help
```
### Model Files
The *model file* defines the symmetry groups and field content of a low-energy theory in the [YAML](https://yaml.org/) format.
To produce a sample *model file*, run:
```shell
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:
```shell
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:
```shell
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:
```py
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:
- <!DOCTYPE html> <html> <body> <p><b> <a href="https://inspirehep.net/literature/2658915"> Standard model effective field theory up to mass dimension 12 </a> </b></p> <p><a href="https://inspirehep.net/authors/1006678">R.V. Harlander</a> (<a href="https://inspirehep.net/institutions/910724">RWTH Aachen U.</a>), <a href="https://inspirehep.net/authors/2658916">T. Kempkens</a> (<a href="https://inspirehep.net/institutions/910724">RWTH Aachen U.</a>), <a href="https://inspirehep.net/authors/2658917">M.C. Schaaf</a> (<a href="https://inspirehep.net/institutions/910724">RWTH Aachen U.</a>)</p> <p> e-Print: <a href="https://arxiv.org/abs/2305.06832"> 2305.06832 </a>[hep-ph]</p> <p> DOI: <a href="https://doi.org/10.1103/PhysRevD.108.055020"> 10.1103/PhysRevD.108.055020 </a>(publication) </p> <p> Published in:<span> Phys.Rev.D 108 (2023) 5, 055020</span></p> <br> </body> </html>
- <!DOCTYPE html> <html> <body> <p><b> <a href="https://inspirehep.net/literature/2703514"> AutoEFT: Automated Operator Construction for Effective Field Theories </a> </b></p> <p><a href="https://inspirehep.net/authors/1006678">Robert V. Harlander</a> (<a href="https://inspirehep.net/institutions/910724">RWTH Aachen U.</a>), <a href="https://inspirehep.net/authors/2658917">Magnus C. Schaaf</a> (<a href="https://inspirehep.net/institutions/910724">RWTH Aachen U.</a>)</p> <p> e-Print: <a href="https://arxiv.org/abs/2309.15783"> 2309.15783 </a>[hep-ph]</p> <br> </body> </html>
---
Raw data
{
"_id": null,
"home_page": "",
"name": "autoeft",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "\"Magnus C. Schaaf\" <magnus.schaaf@rwth-aachen.de>",
"keywords": "basis,eft,hep,operators,physics,qft",
"author": "",
"author_email": "\"Robert V. Harlander\" <harlander@physik.rwth-aachen.de>, \"Magnus C. Schaaf\" <magnus.schaaf@rwth-aachen.de>",
"download_url": "https://files.pythonhosted.org/packages/0e/ff/11ec0ed7ee16543f40e971dc34e20f9160471305c4aff1b4c19e6d37db05/autoeft-1.0.0.tar.gz",
"platform": null,
"description": "# AutoEFT\n\n![AutoEFT](https://gitlab.com/auto_eft/autoeft/-/raw/1c98f5fa83a94f3f36220248564a5a3079ed0146/template/logo/png/logo_300.png?raw=true \"AutoEFT\")\n\nAutomated operator construction for effective field theories.\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PyPI - Version](https://img.shields.io/pypi/v/autoeft)](https://pypi.org/project/autoeft/)\n[![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/autoeft)](https://anaconda.org/conda-forge/autoeft)\n\n## Installation\nAutoEFT is available on the [Python Package Index (PyPI)](https://pypi.org/) and the [conda-forge](https://conda-forge.org/) channel.\n\n### Requirements\n- [Python](https://www.python.org/) >= 3.8\n- [SageMath](https://www.sagemath.org/) >= 9.3\n- [FORM](https://www.nikhef.nl/~form/) >= 4.3\n\n### Installing AutoEFT from PyPI\nTo install AutoEFT using `pip`, an already installed and running version of SageMath is required (see the [Sage Installation Guide](https://doc.sagemath.org/html/en/installation/index.html) and [Alternative Installation using PyPI](https://github.com/sagemath/sage/blob/develop/README.md#alternative-installation-using-pypi)).\n\nTo install *autoeft* and its dependencies, run:\n```shell\nsage -pip install autoeft\n```\n\nOn *macOS* using [Homebrew](https://brew.sh/), it may be necessary to precede this statement by `PYTHONEXECUTABLE=</path/to/sage>` with the proper path to the SageMath executable inserted.\nIn addition, it may be necessary to add the path to SageMath\u2019s executables to the `$PATH` environment variable.\n\n### Installing AutoEFT from conda-forge\nTo install *autoeft* and its dependencies, run:\n- with [conda](https://conda.io/):\n```shell\nconda install autoeft -c conda-forge\n```\n\n- with [mamba](https://github.com/mamba-org/mamba):\n```shell\nmamba install autoeft\n```\n\n### Building AutoEFT from Source Code\nTo build the distribution packages, run:\n```shell\ngit clone https://gitlab.com/auto_eft/autoeft.git autoeft\ncd autoeft\npython -m build\n```\n\n## Usage\nVerify the installation by running:\n```shell\nautoeft --help\n```\n\n### Model Files\nThe *model file* defines the symmetry groups and field content of a low-energy theory in the [YAML](https://yaml.org/) format.\nTo produce a sample *model file*, run:\n```shell\nautoeft sample-model > sm.yml\n```\n\nTo 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.\n\n### Basis Construction\nOperator bases are constructed using the `construct` (alias `c`) sub-command.\nTo show the help message, run:\n```shell\nautoeft construct --help\n```\n\n*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 `:`).\n\nTo construct an operator basis for a low-energy theory, pass a valid *model file* and *mass dimension* to the command.\nFor example, to construct the dimension 6 SMEFT operator basis, run:\n```shell\nautoeft construct sm.yml 6\n# ...\n# Constructing operator basis for SMEFT @ d=6\n# ...\n```\nThis will create the output directory `efts/sm-eft/6/` in the current working directory, containing the file `stats.yml` and directory `basis/`.\nA different output directory can be passed using the `--output` argument.\n\nThe file `stats.yml` summarizes the number of *families*, *types*, *terms*, and *operators* of a constructed basis.\n\nThe `basis/` directory contains the model (`model.json`) used to construct the basis and operator files in subdirectories of the form `<N>/<family>/<type>.yml`.\n\n### Loading Operators\nOnce a basis is constructed, the operator files can be processed further.\nIf you want to work with the operators inside SageMath, *autoeft* provides functionality to load the basis:\n```py\nfrom pathlib import Path\n\nfrom autoeft.io.basis import BasisFile\n\nbasis_path = Path(\"efts/sm-eft/6/basis\")\nbasis_file = BasisFile(basis_path)\nmodel = basis_file.get_model()\nbasis = basis_file.get_basis()\n\nprint(model)\n# SMEFT: Standard Model Effective Field Theory\n\nLQQQ = basis[{\"LL\": 1, \"QL\": 3}]\nprint(LQQQ)\n# LL (1) QL(3)\n\nprint(LQQQ.n_terms , LQQQ.n_operators , sep=\" & \")\n# 3 & 57\n```\n\n## Authors\n- Robert V. Harlander (RWTH Aachen University)\n- Magnus C. Schaaf (RWTH Aachen University)\n\n## Cite\nIf you use AutoEFT in your project, please refer to:\n- <!DOCTYPE html> <html> <body> <p><b> <a href=\"https://inspirehep.net/literature/2658915\"> Standard model effective field theory up to mass dimension 12 </a> </b></p> <p><a href=\"https://inspirehep.net/authors/1006678\">R.V. Harlander</a> (<a href=\"https://inspirehep.net/institutions/910724\">RWTH Aachen U.</a>), <a href=\"https://inspirehep.net/authors/2658916\">T. Kempkens</a> (<a href=\"https://inspirehep.net/institutions/910724\">RWTH Aachen U.</a>), <a href=\"https://inspirehep.net/authors/2658917\">M.C. Schaaf</a> (<a href=\"https://inspirehep.net/institutions/910724\">RWTH Aachen U.</a>)</p> <p> e-Print: <a href=\"https://arxiv.org/abs/2305.06832\"> 2305.06832 </a>[hep-ph]</p> <p> DOI: <a href=\"https://doi.org/10.1103/PhysRevD.108.055020\"> 10.1103/PhysRevD.108.055020 </a>(publication) </p> <p> Published in:<span> Phys.Rev.D 108 (2023) 5, 055020</span></p> <br> </body> </html>\n- <!DOCTYPE html> <html> <body> <p><b> <a href=\"https://inspirehep.net/literature/2703514\"> AutoEFT: Automated Operator Construction for Effective Field Theories </a> </b></p> <p><a href=\"https://inspirehep.net/authors/1006678\">Robert V. Harlander</a> (<a href=\"https://inspirehep.net/institutions/910724\">RWTH Aachen U.</a>), <a href=\"https://inspirehep.net/authors/2658917\">Magnus C. Schaaf</a> (<a href=\"https://inspirehep.net/institutions/910724\">RWTH Aachen U.</a>)</p> <p> e-Print: <a href=\"https://arxiv.org/abs/2309.15783\"> 2309.15783 </a>[hep-ph]</p> <br> </body> </html>\n---\n",
"bugtrack_url": null,
"license": "",
"summary": "Automated operator construction for effective field theories.",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://gitlab.com/auto_eft/autoeft"
},
"split_keywords": [
"basis",
"eft",
"hep",
"operators",
"physics",
"qft"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8f6408cc2a4ca7e01b77489f3ec7c6ca342ed546c154e420205ea34066e23556",
"md5": "d33c680c25ae9be1e3dc3a16a88689ac",
"sha256": "b2934248a55253d65f72173e16adc4a0e4a36f10a6140e315e3d7bbf622ddb2c"
},
"downloads": -1,
"filename": "autoeft-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d33c680c25ae9be1e3dc3a16a88689ac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 247030,
"upload_time": "2023-09-28T08:19:54",
"upload_time_iso_8601": "2023-09-28T08:19:54.743933Z",
"url": "https://files.pythonhosted.org/packages/8f/64/08cc2a4ca7e01b77489f3ec7c6ca342ed546c154e420205ea34066e23556/autoeft-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0eff11ec0ed7ee16543f40e971dc34e20f9160471305c4aff1b4c19e6d37db05",
"md5": "b03d6d71d6e086ab48f02c86452ef2ef",
"sha256": "f8d0f861dbe2f8b09533a96f5812028e2aab750d6ba2112a14d0f8b75009be55"
},
"downloads": -1,
"filename": "autoeft-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "b03d6d71d6e086ab48f02c86452ef2ef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 486155,
"upload_time": "2023-09-28T08:19:58",
"upload_time_iso_8601": "2023-09-28T08:19:58.014833Z",
"url": "https://files.pythonhosted.org/packages/0e/ff/11ec0ed7ee16543f40e971dc34e20f9160471305c4aff1b4c19e6d37db05/autoeft-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-28 08:19:58",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "auto_eft",
"gitlab_project": "autoeft",
"lcname": "autoeft"
}