eoms¶
This submodule implements unmasking of EOMs, i.e., reexpressing D0l
, D0
, and
DF
into user-provided expression. This is typically being done after
deriving an overcomplete basis. This way we have a handle on keeping track of
EOM-vanishing operators and impose those relations when deriving a minimal
basis.
- class GluonEOM(TF: Fraction, Nc: Fraction, gluonPart: list[LinearComb], fermionPart: list[LinearComb | None])¶
Bases:
object
The gluon EOM specifies what the short-hand
DF
actually looks like.- fermionPart: list[LinearComb | None]¶
- gluonPart: list[LinearComb]¶
- _unmaskfeom(unmasked: LinearComb, fEOM: LinearComb, fEOMl: LinearComb, model: Model) bool ¶
Internal routine that replaces a single (matching) fermion EOM by the appropriate linear combination on each call. Returns a boolean indicating whether an EOM was encountered.
- Parameters:
unmasked (LinearComb) – Expression in which too look for masked fermion EOMs.
fEOM (LinearComb) – Representation of the fermion EOM action on the right flavour for a specific flavour or set of flavours.
fEOMl (LinearComb) – Representation of the fermion EOM acting on the left flavour for a specific flavour or set of flavours.
model (Model) – Descriptor of the currently assumed theory.
- Returns:
Boolean indicating whether a masked fermion EOM has been encountered and unmasked.
- Return type:
- _unmaskgeom(unmasked: LinearComb, gluonEOM: GluonEOM) bool ¶
Internal routine that replaces a single gluon EOM by the appropriate linear combination on each call. Returns a boolean indicating whether an EOM was encountered.
- Parameters:
unmasked (LinearComb) – Expression in which the gluon EOM is supposed to be written out explicitly.
gluonEOM (GluonEOM) – Descriptor indicating how to unmask the gluon EOM.
- Returns:
Boolean indicating whether a masked gluon EOM has been encountered and unmasked.
- Return type:
- unmaskFermionEOMs(op: LinearComb, fEOM: LinearComb, model: Model)¶
Writes out all fermionic EOM contained in op explicitly. Expects fEOM to be of the form (for a specific set of flavours or flavour)
Psi.D0.Psi := Psi.Gamma[gmu].D[mu].Psi + Psi.M.Psi
Any deviation from this default form can be implemented by changing the linear combination.
CAUTION: op will be changed!
- Parameters:
op (LinearComb) – Expression in which to replace all occurrences of the masked fermion EOM represented by
D0
andD0l
with the precise expression from fEOM.fEOM (LinearComb) – Written out form of the fermion EOM acting on the right flavour.
- unmaskGluonEOMs(op: LinearComb, gluonEOM: GluonEOM)¶
Writes out all gluon EOMs contained in op explicitly. gluonEOM has to be given in the form
- 1/TF*tr(DF[mu].Colour) :=
1/TF*tr([D(nu),F(nu,mu)].Colour) + SUM_Psi Psi.Gamma[gmu].Colour.Psi
Any deviation from this default form can be implemented by changing the linear combination.
tr(Colour.Colour) = -TF*KroneckerDelta
It is assumed that there will be at most one pair of Colour in any expression, i.e., at most 4-quark operators!
CAUTION: op and gluonEOM will be changed!
- Parameters:
op (LinearComb) – Expression in which all masked occurrences of the gluon EOM are supposed to be unmasked.
gluonEOM (GluonEOM) – Descriptor indicating how to unmask the gluon EOM.