Welcome to PySmeQcd’s documentation!

Release v1.1.0-alpha. (Installation)

PySmeQcd is a Python library for making calculations within the framework of the Screened Massive Expansion of Quantum Chromodynamics.

Currently, PySmeQcd contains functions and routines related to the one-loop gluon, ghost and quark propagators in any covariant gauge, both in pure Yang-Mills theory and in full QCD.

Note

Since the number of colors N and number of quarks N_{f} are controlled either by modifiable global settings (see the API reference for the settings submodules) or by function parameters, PySmeQcd can actually be used for calculations in 4-dimensional SU(N) Yang-Mills theory, coupled to an arbitrary number of fermions in the fundamental representation.


The Screened Massive Expansion: an introduction

The Screened Massive Expansion (S.M.E.) is a perturbative framework for the study of the low-energy limit of Quantum Chromodynamics. It was first introduced in the context of pure SU(N) Yang-Mills theory in F. Siringo, Nucl. Phys. B 907, 572 (2016) with the aim of describing the dynamical generation of a gluon infrared mass in the Landau gauge, and then extended to arbitrary covariant gauges and to full QCD.

The S.M.E. allows to derive gluon, ghost and quark propagators which are in excellent agreement with the lattice data, down to the deep infrared. It is defined by a shift of the expansion point of the QCD perturbative series, performed in such a way as to treat the transverse gluons as massive already at tree-level and enhance the quark masses with respect to their bare (UV) masses, while leaving the QCD Lagrangian unchanged.

Read more about the Screened Massive Expansion here.


Structure and contents of this package

At present (release v1.1.0-alpha), in line with the current status of research, the PySmeQcd library only supports one-loop calculations in the two-point gluon, ghost and quark sectors. For forward compatibility, the functions and routines related to each of these sectors can be accessed via submodules of the PySmeQcd.oneloop module:

  • the PySmeQcd.oneloop.gluon module contains functions and routines related to the gluon propagator,

  • the PySmeQcd.oneloop.ghost module contains functions and routines related to the ghost propagator,

  • the PySmeQcd.oneloop.quark module contains functions and routines related to the quark propagator.

In order to improve access to the library, these submodules are linked to the main PySmeQcd module as follows:

  • PySmeQcd.gluon \hookrightarrow PySmeQcd.oneloop.gluon

  • PySmeQcd.ghost \hookrightarrow PySmeQcd.oneloop.ghost

  • PySmeQcd.quark \hookrightarrow PySmeQcd.oneloop.quark

The gluon module

The gluon module contains functions and routines related to the gluon propagator.

In it, functions are defined for computing the gluon dressing function, propagator and spectral function in an arbitrary covariant gauge and with an arbitrary number of quarks of equal masses.

Due to the non-perturbative nature of the S.M.E. (as opposed to the method itself, which is perturbative), when making loop calculations, one is free to include any number of crossed diagrams in the gluon polarization. Release v1.1.0-alpha of PySmeQcd supports the calculation of two variants of the full-QCD one-loop gluon propagator:

  • the uncrossed (type='uc') variant, which only includes the ordinary quark loop as the full quark contribution to the propagator,

  • the crossed (type='cr') variant, which also includes the crossed quark loop in the quark contribution to the propagator.

For pure Yang-Mills theory (N_{f}=0, i.e., no quarks), these are equivalent, since there are no quark loops.

The gluon module also contains routines for computing the poles and residues of the gluon propagator, and for plotting the gluon dressing function, the propagator, the spectral function, and more.

Read the complete API reference for the gluon module here.

The ghost module

The ghost module contains functions and routines related to the ghost propagator.

In it, functions are defined for computing the ghost dressing function, propagator and spectral function in an arbitrary covariant gauge.

The ghost module also contains routines for plotting the inverse gluon dressing function, propagator and spectral function.

Read the complete API reference for the ghost module here.

The quark module

The quark module contains functions and routines related to the quark propagator.

In it, functions are defined for computing the quark Z-function, the mass function, the vector and scalar components of the quark propagator, and the vector and scalar components of the spectral function, in an arbitrary covariant gauge.

Release v1.1.0-alpha of PySmeQcd supports the calculation of three variants of the one-loop quark propagator:

  • the minimalistic scheme (type='ms') variant, which only includes the ordinary and quark-crossed loops as the full contribution to the propagator,

  • the vertex-wise scheme (type='vw') variant, which also includes the gluon-crossed loop in the contribution to the propagator,

  • the complex-conjugate scheme (type='cc') variant, in which the internal gluon line is replaced by the principal part of the dressed gluon propagator.

The quark module also contains routines for computing the poles and residues of the quark propagator, and for plotting Z and mass function, the components of the quark propagator, and components of the spectral function.

Read the complete API reference for the quark module here.

Note

This library is under development. Future releases will include features such as the optimization of the S.M.E. from principles of gauge invariance and the Renormalization Group analysis of the S.M.E..


Installation and usage

Follow the guides for installing and using PySmeQcd.


Examples

Compute the unrenormalized gluon propagator at a specified adimensional momentum

Compute the unrenormalized gluon propagator at p^{2}=m^{2} by importing the gluon module from the PySmeQcd package and calling the gluon_prop() function:

>>> from PySmeQcd import gluon
>>> gluon.gluon_prop(1)
0.798347501002427

Compute the renormalized gluon propagator at a specified dimensionful momentum

Compute the renormalized gluon propagator at p^{2}=4 GeV2 by importing the gluon module from the PySmeQcd package and calling the gluon_prop() function with the ren=True and dimensionful=True options:

>>> from PySmeQcd import gluon
>>> gluon.gluon_prop(4,dimensionful=True)
0.3766047017129976

Plot the renormalized ghost dressing function

Plot the renormalized ghost dressing function by importing the ghost module from the PySmeQcd package and calling the ghost_chi_plot() function:

>>> from PySmeQcd import ghost
>>> ghost.ghost_prop_plot()

Find the adimensional Euclidean poles of the gluon propagator

Find the adimensional Euclidean poles of the gluon propagator by importing the gluon module and calling the gluon_pole() function:

>>> from PySmeQcd import ghost
>>> gluon.gluon_pole()
(-0.4575251454672443-1.0129799082521271j)

Find the renormalized residues of the quark propagator at its poles

Find the renormalized residues of the quark propagator at its poles by importing the quark module and calling the quark_residue() function:

>>> from PySmeQcd import quark
>>> quark.quark_residue()
(0.9719642868071728+0.5240628262206164j)

API Reference

Read the full documentation of the functions, routines and settings contained in the PySmeQcd package in what follows.


Licensing

PySmeQcd is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PySmeQcd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PySmeQcd. If not, see https://www.gnu.org/licenses/.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.


Indices and tables