88 std::vector<mty::QuantumField>
const &insertions,
89 std::vector<csl::Tensor>
const &momenta,
194 std::vector<csl::Expr>
const &exprs,
195 std::vector<color::ColorSpace const*>
const &spaces
392 std::vector<csl::Tensor>
const &momenta
437 std::vector<mty::QuantumField>
const &insertions,
438 std::vector<csl::Tensor>
const &momenta,
456 std::vector<mty::QuantumField>
const &insertions,
457 std::vector<csl::Tensor>
const &momenta,
478 std::vector<mty::QuantumField>
const &insertions,
479 std::vector<csl::Tensor>
const &momenta
494 std::vector<FermionEOMData> &onShellFermions
510 std::vector<mty::QuantumField>
const &insertions,
511 std::vector<csl::Tensor>
const &momenta
bool simplifyEpsilon(csl::Expr &expr)
Simplifies epsilon contractions with symmetric indices in an expression.
Definition: amplitudeSimplification.cpp:759
csl::IndexStructure colorStructure(csl::Expr const &node, color::ColorSpace const *color)
Returns all color indices found in an expression lying in a particular color space.
Definition: amplitudeSimplification.cpp:307
bool expandColorIndices(csl::Expr &res)
Expands expressions containing color indices to allow all algebra simplifications.
Definition: amplitudeSimplification.cpp:553
void applyDerivativesInStructure(csl::Expr &expr)
Searches in the expression derived fields and applies the derivatives in the fields themselves...
Definition: amplitudeSimplification.cpp:229
Namespace containing the main simplification method for MARTY and all its dependencies.
Definition: amplitudeSimplification.h:50
Namespace of MARTY.
Definition: 2HDM.h:31
csl::Expr colorAbbreviation(std::vector< csl::Expr > const &exprs, std::vector< color::ColorSpace const *> const &spaces)
Abbreviates color structure in expressions under the generic name "Color".
Definition: amplitudeSimplification.cpp:397
void suppressDiracDelta(csl::Expr &expr, csl::Expr const &PSum)
Removes a dirac delta sub-expression.
Definition: amplitudeSimplification.cpp:246
bool findAbbreviations(csl::Expr &res)
Abbreviates all the sub-expressions that are relevant considering constant factors only...
Definition: amplitudeSimplification.cpp:185
bool expandMinkoEpsilon(csl::Expr &expr)
Expands Minkowski epsilon symbols to contract all possible indices.
Definition: amplitudeSimplification.cpp:693
bool maybeSimplified(csl::Expr const &expr)
Helper function that tells if an expression may be simplified in amplitudes.
void findExternalAbbreviation(csl::Expr &expr)
Abbreviates external legs in the expression using the generic name "EXT".
Definition: amplitudeSimplification.cpp:53
Interface class containing the result of an amplitude calculation.
Definition: amplitude.h:41
color::ColorSpace const * inColorSpace(csl::Index const &index)
Returns the colorspace associated to an index (nullptr if the index does not live in any ColorSpace)...
Definition: amplitudeSimplification.cpp:266
bool simplifyEpsilonInProd(csl::Expr &prod, csl::IndexStructure &indices)
Simplifies the contraction of an epsilon tensor with a symmetric structure index. ...
Definition: amplitudeSimplification.cpp:714
Instances of this class can be given to mty::Model when launching a calculation to customize the outp...
Definition: feynOptions.h:44
void simplifyImpulsions(csl::Expr &init, std::vector< mty::QuantumField > const &insertions, std::vector< csl::Tensor > const &momenta)
Applies the momentum conservation by replacing one of the external momenta by the combination of the ...
Definition: amplitudeSimplification.cpp:946
Mode
Mode for the main simplification routine specifying what calculation is done to adapt the simplificat...
Definition: amplitudeSimplification.h:56
void reduceTensorIntegrals(csl::Expr &expr)
Replaces the one-loop momentum integrals by their reduced form depending on scalar integrals...
Definition: amplitudeSimplification.cpp:883
void expandMomentaExperimental(csl::Expr &res, std::vector< csl::Tensor > const &momenta)
Expands expressions containing momenta to contract all indices, typically replacing ...
Definition: amplitudeSimplification.cpp:856
bool expandMinkoMetric(csl::Expr &expr)
Expands Minkowski metrics to contract all possible indices.
Definition: amplitudeSimplification.cpp:659
std::pair< csl::Expr, csl::Expr > getMomentumReplacement(std::vector< mty::QuantumField > const &insertions, std::vector< csl::Tensor > const &momenta, size_t posReplaced)
Creates the relevant replacement (using momentum conservation) to replace one particular momentum...
Definition: amplitudeSimplification.cpp:911
Class inherited from csl::Space that is used for vector spaces of group representations, in particular for generators.
Definition: colorSpace.h:57
bool factorIndicial(csl::Expr &res)
Factors indicial expressions in a bigger expression.
Definition: amplitudeSimplification.cpp:329
void abbreviateAll(csl::Expr &res)
Abbreviates all the sub-expressions that are relevant.
Definition: amplitudeSimplification.cpp:124
bool expandMinkoStructures(csl::Expr &expr)
Expands Minkowski structures to contract all possible indices.
Definition: amplitudeSimplification.cpp:652
bool findColorAbbreviation(csl::Expr &expr)
Abbreviates color structures in an expression under the generic name "Color".
Definition: amplitudeSimplification.cpp:590
Represents a Feynman rule.
Definition: feynmanRule.h:42
void addLocalTerms(csl::Expr &res)
Adds the local terms in an expression.
Definition: dimensionalRegularization.cpp:39
void expandForFermionOrdering(csl::Expr &expr)
Forces the ordering of external fermions by making sure that all Dirac structures are expanded...
Definition: amplitudeSimplification.cpp:832
color::ColorSpace const * isColorStructure(csl::Expr const &expr)
Returns a colorspace if the expression is a color structure.
Definition: amplitudeSimplification.cpp:284
bool simplifyColorWeights(csl::Expr &expr)
Calculates color traces in an expression.
Definition: amplitudeSimplification.cpp:575
bool expandInProd(csl::Expr &prod, std::function< csl::IndexStructure(csl::Expr const &)> const &structureGetter)
Expands indicial expressions in a way avoiding unnecessary terms, in particular not expanding express...
Definition: amplitudeSimplification.cpp:513
bool expandGammaMatrices(csl::Expr &expr)
Expands gamma matrices in an expression to be able to simplify fermion chains (and traces)...
Definition: amplitudeSimplification.cpp:786
void abbreviateIntegral(csl::Expr &res)
Abbreviate scalar integrals (or combinations of them) into abbreviations with the generic name "INT"...
Definition: amplitudeSimplification.cpp:72
void simplify(csl::Expr &expr, std::vector< mty::QuantumField > const &insertions, std::vector< csl::Tensor > const &momenta, mty::FeynOptions const &options, Mode mode)
Main simplification routine of MARTY, used for amplitudes, squared amplitude and Wilson coefficients...
Definition: amplitudeSimplification.cpp:1028
Helper structure for the application of Dirac equation (equations of motions for spin 1/2) ...
Definition: amplitudeSimplification.h:409
void replaceMomentum(csl::Expr &init, std::vector< mty::QuantumField > const &insertions, std::vector< csl::Tensor > const &momenta, size_t posReplaced)
Applies the momentum conservation by replacing one of the external momenta by the combination of the ...
Definition: amplitudeSimplification.cpp:933
Definition: amplitudeSimplification.h:38
void applyEOM(csl::Expr &l, std::vector< mty::QuantumField > const &insertions, std::vector< csl::Tensor > const &momenta)
Applies the equations of motion in an expression.
Definition: amplitudeSimplification.cpp:994
bool simplifyFermionChains(csl::Expr &expr)
Simplifies fermion chains using the mty::FermionChain utility.
Definition: amplitudeSimplification.cpp:809