From 64573c9c2b7a5eeb15e49957ff287222838a918a Mon Sep 17 00:00:00 2001 From: Vladyslav Shtabovenko Date: Tue, 27 Feb 2024 18:23:36 +0100 Subject: [PATCH] Another documentation update. --- .../Extra/FIREUsageExamples.html | 165 +++++++++++++++ FeynHelpersBookDev/Extra/FeynHelpers.html | 20 +- .../Extra/FiestaUsageExamples.html | 19 +- .../Extra/KIRAUsageExamples.html | 155 +++++++++++++++ .../Extra/LoopToolsUsageExamples.html | 129 ++++++++++++ .../Extra/PackageXUsageExamples.html | 188 ++++++++++++++++++ .../Extra/QGRAFUsageExamples.html | 6 +- FeynHelpersBookDev/FIREOutput.html | 48 +++++ .../FSACreateMathematicaScripts.html | 17 +- FeynHelpersBookDev/FSASDExpandAsy.html | 6 +- FeynHelpersBookDev/PaXEvaluate.html | 6 +- FeynHelpersBookDev/img/04volbxbplnim.svg | 172 ++++++++++++++++ FeynHelpersBookDev/img/0ufeuds32147o.svg | 141 +++++++++++++ FeynHelpersBookDev/img/14qhrmx0482az.svg | 172 ++++++++++++++++ FeynHelpersBookDev/img/1ajyikedcc78w.svg | 172 ++++++++++++++++ FeynHelpersBookDev/img/1eo5wsq2ojuzs.svg | 141 +++++++++++++ FeynHelpersBookDev/img/1i6sr9b1n2bs6.svg | 146 ++++++++++++++ FeynHelpersBookDev/img/1rzhy3960bfmw.svg | 141 +++++++++++++ FeynHelpersBookDev/img/1u3kvusck6g4t.svg | 146 ++++++++++++++ FeynHelpersBookDev/img/1wadfl951t8i9.svg | 146 ++++++++++++++ 20 files changed, 2102 insertions(+), 34 deletions(-) create mode 100644 FeynHelpersBookDev/Extra/FIREUsageExamples.html create mode 100644 FeynHelpersBookDev/Extra/KIRAUsageExamples.html create mode 100644 FeynHelpersBookDev/Extra/LoopToolsUsageExamples.html create mode 100644 FeynHelpersBookDev/Extra/PackageXUsageExamples.html create mode 100644 FeynHelpersBookDev/FIREOutput.html create mode 100644 FeynHelpersBookDev/img/04volbxbplnim.svg create mode 100644 FeynHelpersBookDev/img/0ufeuds32147o.svg create mode 100644 FeynHelpersBookDev/img/14qhrmx0482az.svg create mode 100644 FeynHelpersBookDev/img/1ajyikedcc78w.svg create mode 100644 FeynHelpersBookDev/img/1eo5wsq2ojuzs.svg create mode 100644 FeynHelpersBookDev/img/1i6sr9b1n2bs6.svg create mode 100644 FeynHelpersBookDev/img/1rzhy3960bfmw.svg create mode 100644 FeynHelpersBookDev/img/1u3kvusck6g4t.svg create mode 100644 FeynHelpersBookDev/img/1wadfl951t8i9.svg diff --git a/FeynHelpersBookDev/Extra/FIREUsageExamples.html b/FeynHelpersBookDev/Extra/FIREUsageExamples.html new file mode 100644 index 00000000..8ec42ea6 --- /dev/null +++ b/FeynHelpersBookDev/Extra/FIREUsageExamples.html @@ -0,0 +1,165 @@ + + + + + + + FeynHelpers manual (development version) + + + + + +
+

FeynHelpers manual (development version)

+
+

FIRE usage examples

+

The main idea behind the FeynHelpers interface to FIRE is to +facilitate the generation of FIRE scripts for reducing the given sets of +loop integrals written in the FeynCalc notation (i.e. as +GLIs with the corresponding lists of +FCTopology symbols) to masters.

+

If needed, the reduction can be done by running the corresponding +scripts from a Mathematica notebook, although we do not recommend using +this approach for complicated calculations.

+

Let us assume that upon simplifying some amplitude we have a list of +topologies and the corresponding loop integrals that need to be +reduced.

+
topos = {FCTopology["fctopology1", {SFAD[{{q2, 0}, {0, 1}, 1}], SFAD[{{q1, 0}, {0, 1}, 1}], SFAD[{{q1 + q2, 0}, {0, 1}, 1}], SFAD[{{p + q1, 0}, {0, 1}, 1}], SFAD[{{p - q2, 0}, {0, 1}, 1}]}, {q1, q2}, {p}, {Hold[Pair][Momentum[p, D], Momentum[p, D]] -> pp}, {}]};
+
ints = {GLI["fctopology1", {-2, 1, 1, 2, 1}], GLI["fctopology1", {-1, 0, 1, 2, 1}], GLI["fctopology1", {-1, 1, 0, 2, 1}], 
+ GLI["fctopology1", {-1, 1, 1, 1, 1}], GLI["fctopology1", {-1, 1, 1, 2, 0}], GLI["fctopology1", {-1, 1, 1, 2, 1}], 
+ GLI["fctopology1", {0, -1, 1, 2, 1}], GLI["fctopology1", {0, 0, 0, 2, 1}], GLI["fctopology1", {0, 0, 1, 1, 1}], 
+ GLI["fctopology1", {0, 0, 1, 2, 0}], GLI["fctopology1", {0, 0, 1, 2, 1}], GLI["fctopology1", {0, 1, -1, 2, 1}], 
+ GLI["fctopology1", {0, 1, 0, 1, 1}], GLI["fctopology1", {0, 1, 0, 2, 0}], GLI["fctopology1", {0, 1, 0, 2, 1}], 
+ GLI["fctopology1", {0, 1, 1, 0, 1}], GLI["fctopology1", {0, 1, 1, 1, 0}], GLI["fctopology1", {0, 1, 1, 1, 1}], 
+ GLI["fctopology1", {0, 1, 1, 2, -1}], GLI["fctopology1", {0, 1, 1, 2, 0}], GLI["fctopology1", {0, 1, 1, 2, 1}], 
+ GLI["fctopology1", {1, -1, 1, 1, 1}], GLI["fctopology1", {1, 0, 0, 1, 1}], GLI["fctopology1", {1, 0, 1, 0, 1}], 
+ GLI["fctopology1", {1, 0, 1, 1, 0}], GLI["fctopology1", {1, 0, 1, 1, 1}], GLI["fctopology1", {1, 1, -1, 1, 1}], 
+ GLI["fctopology1", {1, 1, 0, 0, 1}], GLI["fctopology1", {1, 1, 0, 1, 0}], GLI["fctopology1", {1, 1, 0, 1, 1}], 
+ GLI["fctopology1", {1, 1, 1, -1, 1}], GLI["fctopology1", {1, 1, 1, 0, 0}], GLI["fctopology1", {1, 1, 1, 0, 1}], 
+ GLI["fctopology1", {1, 1, 1, 1, -1}], GLI["fctopology1", {1, 1, 1, 1, 0}], GLI["fctopology1", {1, 1, 1, 1, 1}]}
+

The first step is to generate scripts for creating .sbases and +.lbases files required by FIRE for the actual reduction. Those files are +specific to the given topology, which is why we need to provide the list +of the relevant topologies and as well as a path to the directory that +will contain reductions files. Each topology will receive a separate +subdirectory created from its name.

+
FIREPrepareStartFile[topos,NotebookDirectory[]]
+

If everything works as expected each topology directory will contain +two Mathematica scripts, CreateLiteRedFiles.m and +CreateStartFile.m. Both of them must be evaluated in the +correct order. The first script analyzes the topology using LiteRed, +while the second one uses this information to create .sbases and .lbases +files. In the case of complicated topologies, running those scripts can +take many minutes or even couple of hours. For simple topologies the +process is usually so fast, that one can conveniently run it during the +notebook evaluation. To this aim one may use

+
FIRECreateStartFile[NotebookDirectory[],topos]
+

The next step is to create a file containing the list of integrals +and a configuration file for the reduction.

+
FIRECreateConfigFile[topos,NotebookDirectory[]]
+FIRECreateIntegralFile[ints,topos,NotebookDirectory[]]
+

In particular, FIRECreateConfigFile offers a lot of +options for fine-tuning the reduction parameters as one normally do it +when writing such files by hand.

+

Again, in the case of complicated topologies the reduction must be +done on a powerful workstation or computer cluster and can take hours, +days or even weeks. But as long as everything is simple enough, there +should be no harm running it directly from the notebook via

+
FIRERunReduction[NotebookDirectory[],topos]
+

Notice, that in this case FeynHelpers runs the C++ version of FIRE +via a shell script. To that aim FIRE must be properly compiled from +source.

+

Finally, in order to load the reduction tables into Mathematica it is +convenient to use

+
tables=FIREImportResults[topos,NotebookDirectory[]]
+

which returns a list of replacement rules that can be directly +applied to the given amplitude or perhaps exported to FORM.

+ + diff --git a/FeynHelpersBookDev/Extra/FeynHelpers.html b/FeynHelpersBookDev/Extra/FeynHelpers.html index e701d778..c0129567 100644 --- a/FeynHelpersBookDev/Extra/FeynHelpers.html +++ b/FeynHelpersBookDev/Extra/FeynHelpers.html @@ -52,17 +52,20 @@

Useful information

  • How to cite this package and the related tools
  • Installation instructions
  • -
  • Tensor reduction with -Fermat
  • Tutorials

    Generic functions and symbols

    @@ -266,6 +269,7 @@

    Mathematica FIRE interface

    using Mathematica version of FIRE
  • FIREAddPropagators, FIREConfigFiles, FIREOutput, FIREPath, FIRERun, FIRESilentMode, FIESTA usage examples
    int = GLI[prop1L, {1, 1}]
     topo = FCLoopSwitchEtaSign[FCTopology[prop1L, {FAD[{p1, m1}], FAD[{p1 + q, m2}]}, {p1}, {q}, {}, {}], -1]
    -files = FSACreateMathematicaScripts[int, topo, NotebookDirectory[], FinalSubstitutions -> {Hold[SPD][q] -> qq} , 
    -  FSAParameterRules -> {qq -> 30., m1 -> 2., m2 -> 3.}, OverwriteTarget -> True]
    +files = FSACreateMathematicaScripts[int, topo, NotebookDirectory[], FinalSubstitutions -> {Hold[SPD][q] -> qq}, FSAParameterRules -> {qq -> 30., m1 -> 2., m2 -> 3.}, OverwriteTarget -> True]

    The output is a list containing two elements. The first one is the full path to the Mathematica script file FiestaScript.m, while the second give the name of the output file containing numerical @@ -170,13 +169,12 @@

    FIESTA usage examples

    uf = UF[{p1},{m1^2 - p1^2, m2^2 - (p1 + q)^2}, {q^2 -> qq, qq -> 15., m1 -> 2., m2 -> 3.}]; SetOptions[FIESTA, "NumberOfSubkernels" -> 4,"ComplexMode" -> True,"ReturnErrorWithBrackets" -> True, -"Integrator" -> "quasiMonteCarlo","IntegratorOptions" -> {{"maxeval", "50000"}, -{"epsrel", "1.000000E-05"}, {"epsabs", "1.000000E-12"}, {"integralTransform", "korobov"}}]; -pref = 1; -resRaw = SDEvaluate[uf,{1, 1},0]; -res = resRaw*pref; -Print["Final result: ", res]; -Put[res, resFileName]; +"Integrator" -> "quasiMonteCarlo","IntegratorOptions" -> {{"maxeval", "50000"}, {"epsrel", "1.000000E-05"}, {"epsabs", "1.000000E-12"}, {"integralTransform", "korobov"}}]; +pref = 1; +resRaw = SDEvaluate[uf,{1, 1},0]; +res = resRaw*pref; +Print["Final result: ", res]; +Put[res, resFileName];

    To load the numerical results into your Mathematica session you can use the function FSALoadNumericalResults. To that aim you just need to give it files as input.

    @@ -189,7 +187,6 @@

    FIESTA usage examples

    int = GLI[prop1L, {1, 1}]
     topo = FCLoopSwitchEtaSign[FCTopology[prop1L, {FAD[{p1, m1}], FAD[{p1 + q, m2}]}, {p1}, {q}, {}, {}], -1]
    -files = FSACreateMathematicaScripts[int, topo, NotebookDirectory[], FinalSubstitutions -> {Hold[SPD][q] -> qq} , 
    -  FSAParameterRules -> {qq -> 30., m1 -> 2.}, OverwriteTarget -> True, FSASDExpandAsy->True, FSAExpandVar -> m2, FSASDExpandAsyOrder-> 4]
    +files = FSACreateMathematicaScripts[int, topo, NotebookDirectory[], FinalSubstitutions -> {Hold[SPD][q] -> qq} , FSAParameterRules -> {qq -> 30., m1 -> 2.}, OverwriteTarget -> True, FSASDExpandAsy->True, FSAExpandVar -> m2, FSASDExpandAsyOrder-> 4] diff --git a/FeynHelpersBookDev/Extra/KIRAUsageExamples.html b/FeynHelpersBookDev/Extra/KIRAUsageExamples.html new file mode 100644 index 00000000..24828b2d --- /dev/null +++ b/FeynHelpersBookDev/Extra/KIRAUsageExamples.html @@ -0,0 +1,155 @@ + + + + + + + FeynHelpers manual (development version) + + + + + +
    +

    FeynHelpers manual (development version)

    +
    +

    KIRA usage examples

    +

    The main idea behind the FeynHelpers interface to KIRA is to +facilitate the generation of KIRA config files for reducing the given +sets of loop integrals written in the FeynCalc notation (i.e. as +GLIs with the corresponding lists of +FCTopology symbols) to masters.

    +

    If needed, the reduction can be done by running the corresponding +scripts from a Mathematica notebook, although we do not recommend using +this approach for complicated calculations.

    +

    Let us assume that upon simplifying some amplitude we have a list of +topologies and the corresponding loop integrals that need to be +reduced.

    +
    topos = {FCTopology["fctopology1", {SFAD[{{q2, 0}, {0, 1}, 1}], SFAD[{{q1, 0}, {0, 1}, 1}], SFAD[{{q1 + q2, 0}, {0, 1}, 1}], SFAD[{{p + q1, 0}, {0, 1}, 1}], SFAD[{{p - q2, 0}, {0, 1}, 1}]}, {q1, q2}, {p}, {Hold[Pair][Momentum[p, D], Momentum[p, D]] -> pp}, {}]};
    +
    ints = {GLI["fctopology1", {-2, 1, 1, 2, 1}], GLI["fctopology1", {-1, 0, 1, 2, 1}], GLI["fctopology1", {-1, 1, 0, 2, 1}], 
    + GLI["fctopology1", {-1, 1, 1, 1, 1}], GLI["fctopology1", {-1, 1, 1, 2, 0}], GLI["fctopology1", {-1, 1, 1, 2, 1}], 
    + GLI["fctopology1", {0, -1, 1, 2, 1}], GLI["fctopology1", {0, 0, 0, 2, 1}], GLI["fctopology1", {0, 0, 1, 1, 1}], 
    + GLI["fctopology1", {0, 0, 1, 2, 0}], GLI["fctopology1", {0, 0, 1, 2, 1}], GLI["fctopology1", {0, 1, -1, 2, 1}], 
    + GLI["fctopology1", {0, 1, 0, 1, 1}], GLI["fctopology1", {0, 1, 0, 2, 0}], GLI["fctopology1", {0, 1, 0, 2, 1}], 
    + GLI["fctopology1", {0, 1, 1, 0, 1}], GLI["fctopology1", {0, 1, 1, 1, 0}], GLI["fctopology1", {0, 1, 1, 1, 1}], 
    + GLI["fctopology1", {0, 1, 1, 2, -1}], GLI["fctopology1", {0, 1, 1, 2, 0}], GLI["fctopology1", {0, 1, 1, 2, 1}], 
    + GLI["fctopology1", {1, -1, 1, 1, 1}], GLI["fctopology1", {1, 0, 0, 1, 1}], GLI["fctopology1", {1, 0, 1, 0, 1}], 
    + GLI["fctopology1", {1, 0, 1, 1, 0}], GLI["fctopology1", {1, 0, 1, 1, 1}], GLI["fctopology1", {1, 1, -1, 1, 1}], 
    + GLI["fctopology1", {1, 1, 0, 0, 1}], GLI["fctopology1", {1, 1, 0, 1, 0}], GLI["fctopology1", {1, 1, 0, 1, 1}], 
    + GLI["fctopology1", {1, 1, 1, -1, 1}], GLI["fctopology1", {1, 1, 1, 0, 0}], GLI["fctopology1", {1, 1, 1, 0, 1}], 
    + GLI["fctopology1", {1, 1, 1, 1, -1}], GLI["fctopology1", {1, 1, 1, 1, 0}], GLI["fctopology1", {1, 1, 1, 1, 1}]}
    +

    The first step is to generate the job file.

    +
    KiraCreateJobFile[topos, ints, NotebookDirectory[]]
    +

    Notice that it is crucial to provide the list of integrals to be +reduced, as the code will need some of their properties (top sectors) +when writing the job file.

    +

    The next steps are to create a file containing the list of integrals +and a configuration file for the reduction. Notice that we must specify +the mass dimension of all kinematic invariants appearing in the topology +using the option KiraMassDimensions

    +
    KiraCreateIntegralFile[ints, topos, NotebookDirectory[]]
    +KiraCreateConfigFiles[topos, ints, NotebookDirectory[], 
    + KiraMassDimensions -> {pp -> 1}]
    +

    In the case of complicated topologies the reduction must be done on a +powerful workstation or computer cluster and can take hours, days or +even weeks. But as long as everything is simple enough, there should be +no harm running it directly from the notebook via

    +
    KiraRunReduction[NotebookDirectory[], topos, 
    + KiraBinaryPath -> FileNameJoin[{$HomeDirectory, "bin", "kira"}],
    + KiraFermatPath -> FileNameJoin[{$HomeDirectory, "bin", "ferl64", "fer64"}]]
    +

    Here it is important not only to specify the correct path to the KIRA +binary (KiraBinaryPath) but also the one pointing to a +suitable FERMAT binary (KiraFermatPath). The latter will be +set via the shell environment variable FERMATPATH.

    +

    Finally, in order to load the reduction tables into Mathematica it is +convenient to use

    +
    tables=KiraImportResults[topos, NotebookDirectory[]]
    +

    which returns a list of replacement rules that can be directly +applied to the given amplitude or perhaps exported to FORM.

    + + diff --git a/FeynHelpersBookDev/Extra/LoopToolsUsageExamples.html b/FeynHelpersBookDev/Extra/LoopToolsUsageExamples.html new file mode 100644 index 00000000..13b4e33b --- /dev/null +++ b/FeynHelpersBookDev/Extra/LoopToolsUsageExamples.html @@ -0,0 +1,129 @@ + + + + + + + FeynHelpers manual (development version) + + + + + + + + +
    +

    FeynHelpers manual (development version)

    +
    +

    LoopTools usage examples

    +

    The LoopTools interface allows to quickly evaluate Passarino-Veltman +functions with suitable kinematics numerically using LoopTools.

    +

    Given an amplitude written in terms of +PaVe-functions

    +
    amp = Get[FileNameJoin[{$FeynHelpersDirectory, "Documentation", "Examples", "ampHToGG.m"}]];
    +

    we can evaluate it by first loading LoopTools via

    +
    LToolsLoadLibrary[]
    +

    and then running

    +
    ampEval = LToolsEvaluate[amp, LToolsSetMudim -> 1, InitialSubstitutions -> {mH -> 125, mt -> 173}]
    +

    where we set \mu = 1. The resulting +expression is then

    +
    Collect2[ampEval /. {D -> 4, mH -> 125, mt -> 173}, Pair]
    + + diff --git a/FeynHelpersBookDev/Extra/PackageXUsageExamples.html b/FeynHelpersBookDev/Extra/PackageXUsageExamples.html new file mode 100644 index 00000000..c03800c8 --- /dev/null +++ b/FeynHelpersBookDev/Extra/PackageXUsageExamples.html @@ -0,0 +1,188 @@ + + + + + + + FeynHelpers manual (development version) + + + + + + + + +
    +

    FeynHelpers manual (development version)

    +
    +

    Package-X usage examples

    +

    The syntax of the FeynHelpers interface to Package-X is very simple. +There is essentially only one command PaXEvalute that does +all the job of evaluating Passarino-Veltman functions analytically.

    +

    Let us start with something simple, e.g. the A_0 function in the standard normalization of +Denner et al. (used in LoopTools and many other packages)

    +
    res=PaXEvaluateUVIRSplit[A0[m^2]]
    +

    A nice feature of Package-X is the ability to explicitly distinguish +between UV and IR poles, which can be important for renormalization or +matching calculations. To this aim we have 3 functions at our disposal +that essentially act in the same way as PaXEvaluate but +label the poles accordingly. These are +PaXEvaluateUVIRSplit, PaXEvaluateUV and +PaXEvaluateIR. For example,

    +
    PaXEvaluateUVIRSplit[A0[m^2]]
    +

    We can also abbreviate the singularity structure with +SMP["Delta_UV"] using

    +
    res2=FCHideEpsilon[res]
    +

    or make it explicit again

    +
    FCShowEpsilon[res2]
    +

    To evaluate FAD-type integrals, we need to specify the +loop momentum explicitly. Furthermore, when we enter loop integrals as +FAD*SPD, we usually also imply that they have the standard +normalization with 1/(2\pi)^D. We do +not have to write the prefactor out explicitly, but we must of course +include it when we are evaluating our master integrals symbolically or +numerically.

    +

    When employing PaXEvaluate this can be taken into +account via the option PaXImplicitPrefactor

    +
    PaXEvaluate[FAD[{q, m}], q, PaXImplicitPrefactor -> 1/(2 Pi)^(4 - 2 Epsilon)]
    +

    When it comes to the evaluation of functions with complicated +kinematics, Package-X is sometimes a bit stubborn

    +
    PaXEvaluate[PaVe[0, 0, 1, {SP[p, p], SP[p, p], m^2}, {m^2, m^2, m^2}]]
    +

    It knows that there is no simple way to express the full result for +the C_0 function, so it prefers to keep +in the implicit form. Using the option PaXC0Expand we can +obtain the (admittedly quite large and complicated) result +nonetheless

    +
    PaXEvaluate[PaVe[0, 0, 1, {SP[p, p], SP[p, p], m^2}, {m^2, m^2, m^2}], PaXC0Expand -> True]
    +

    Notice that if we are interested only in the UV-divergent piece, we +can get it rather easily without going through the full result.

    +
    PaXEvaluateUV[PaVe[0, 0, 1, {SP[p, p], SP[p, p], m^2}, {m^2, m^2, m^2}], PaXC0Expand -> True]
    +

    Notice that the UV-poles can be revealed using the built-in function +PaVeUVPart

    +
    PaVeUVPart[PaVe[0, 0, 1, {SP[p, p], SP[p, p], m^2}, {m^2, m^2, m^2}]]
    +

    Furthermore, Package-X can expand coefficient functions in their +arguments, which is very useful for many applications. In +PaXEvaluate the corresponding option is called +PaXSeries

    +
    PaXEvaluate[B0[SPD[p1, p1], m1^2, m2^2], PaXSeries -> {{m1, 0, 2}}]
    +

    By default Package-X tries to do expansion around the final results, +which is usually not what we want. With the option +PaXAnalytic the expansion will be done on the level of +Feynman parameters, as one would do it by hand

    +
    PaXEvaluate[B0[SPD[p1, p1], m1^2, m2^2], PaXSeries -> {{m1, 0, 2}}, PaXAnalytic -> True]
    +

    We can also do a double expansion in m1 and +m2

    +
    PaXEvaluate[B0[SPD[p1, p1], m1^2, m2^2], PaXSeries -> {{m1, 0, 2}, {m2, 0, 2}}, PaXAnalytic -> True]
    +

    and reveal the origin of the poles

    +
    PaXEvaluateUVIRSplit[B0[SPD[p1, p1], m1^2, m2^2], PaXSeries -> {{m1, 0, 2}}, PaXAnalytic -> True]
    +
    PaXEvaluateUVIRSplit[B0[SPD[p1, p1], m1^2, m2^2], PaXSeries -> {{m1, 0, 2}, {m2, 0, 2}}, PaXAnalytic -> True]
    + + diff --git a/FeynHelpersBookDev/Extra/QGRAFUsageExamples.html b/FeynHelpersBookDev/Extra/QGRAFUsageExamples.html index e2959c02..fcae648b 100644 --- a/FeynHelpersBookDev/Extra/QGRAFUsageExamples.html +++ b/FeynHelpersBookDev/Extra/QGRAFUsageExamples.html @@ -152,7 +152,7 @@

    Generic approach

    lualatex together with the TikZ-Feyman package. By evaluating

    tikzStyles=QGTZFCreateFieldStyles[qgModel,"QEDOneFlavor",
    +class="sourceCode mathematica">tikzStyles=QGTZFCreateFieldStyles["QEDOneFlavor", qgOutput,
     QGFieldStyles->{{"Ga","photon","\\gamma"},
     {"El","fermion","e^-"},
     {"Ael","anti fermion","e^+"}}];
    @@ -170,6 +170,10 @@

    Generic approach

    ./glueDiagrams.sh

    If everything goes as expected, this will give us a file allDiagrams.pdf containing all the generated diagrams.

    +

    If one wants to visualize the momentum flow through the diagrams, one +can use a special style when calling QGCreateAmp. This is +done by setting the option QGDiagramStyle to +tikz-feynman-momentumflow.sty.

    Coming back to the analytic part of the calculation, we need to load the list of Feynman rules for the vertices and propagators present in the generated amplitudes. Again, FeynHelpers contains a built-in diff --git a/FeynHelpersBookDev/FIREOutput.html b/FeynHelpersBookDev/FIREOutput.html new file mode 100644 index 00000000..bf9b94c0 --- /dev/null +++ b/FeynHelpersBookDev/FIREOutput.html @@ -0,0 +1,48 @@ + + + + + + + FeynHelpers manual (development version) + + + + + +

    +

    FeynHelpers manual (development version)

    +
    +

    FIREOutput

    +

    FIREShowOutput is an option for +FIRECreateConfigFile and other FIRE-related functions.

    +

    It specifies the #output parameter to be set in a FIRE +.config file. When set to Default, the file name is just +the name of topology preceded by ".config"

    +

    See also

    +

    Overview, FIREThreads, FIRECompressor, FIREFthreads, FIRELthreads, FIREIntegrals, FIREPosPref, FIRESthreads.

    +

    Examples

    + + diff --git a/FeynHelpersBookDev/FSACreateMathematicaScripts.html b/FeynHelpersBookDev/FSACreateMathematicaScripts.html index c67e5e81..e0909dcb 100644 --- a/FeynHelpersBookDev/FSACreateMathematicaScripts.html +++ b/FeynHelpersBookDev/FSACreateMathematicaScripts.html @@ -139,7 +139,8 @@

    FSACreateMathematicaScripts

    class="math inline">\varepsilon up to which the integral should be evaluated.

    The names of the FIESTA script can be changed via the option -FSAScriptFileName with the default value beingFIESTAScript.m`.

    +FSAScriptFileName with the default value being +FIESTAScript.m.

    The integrator used for the numerical evaluation of the integral is set by the option FSAIntegrator, where "quasiMonteCarlo" is the default value. Accordingly, if you @@ -181,12 +182,12 @@

    Examples

    fileNames = FSACreateMathematicaScripts[int1, topo1, FileNameJoin[{$FeynCalcDirectory, "Database"}], 
         FinalSubstitutions -> {SPD[q] -> qq, qq -> 20. , m1 -> 2. , m2 -> 2.}];
    -

    15bie2p9wh0uq

    +

    1eo5wsq2ojuzs

    \text{\$Aborted}

    fileNames[[1]] // FilePrint[#, 1 ;; 20] &
    -

    17rauzqegivvs

    -

    0jjbj48wa80cb

    +

    0atqy5p84j6p9

    +

    0rcz2tphdg2rt

    \text{FilePrint}[\text{fileNames}[[1]],1\text{;;}20]

    Examples
     
    fileNames = FSACreateMathematicaScripts[SFAD[{I p, {-m^2, -1}}], {p}, FileNameJoin[{$FeynCalcDirectory, "Database", "tal1LInt"}], 
         FinalSubstitutions -> {m -> 1.}];
    -

    1fewa4926cnb4

    +

    1rzhy3960bfmw

    \text{\$Aborted}

    fileNames[[1]] // FilePrint[#, 1 ;; 20] &
    -

    0xax37b3to6o9

    -

    0zgw7om8p0zoz

    +

    04volbxbplnim

    +

    1u3kvusck6g4t

    \text{FilePrint}[\text{fileNames}[[1]],1\text{;;}20]

    Examples
          GFAD[{{SPD[p1, -p1 + 2*p3] - SPD[p3, p3], -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2}, {}], 
        FileNameJoin[{$FeynCalcDirectory, "Database"}], 
        FSAParameterRules -> {mb -> 1}, FSAOrderInEps -> 2];
    -

    0iax3lha5f3x2

    +

    0ufeuds32147o

    \text{\$Aborted}

    diff --git a/FeynHelpersBookDev/FSASDExpandAsy.html b/FeynHelpersBookDev/FSASDExpandAsy.html index 2ef2ed0c..778b71fc 100644 --- a/FeynHelpersBookDev/FSASDExpandAsy.html +++ b/FeynHelpersBookDev/FSASDExpandAsy.html @@ -31,9 +31,9 @@

    FeynHelpers manual (development version)

    FSASDExpandAsy

    FSASDExpandAsy is an option for FSAPrepareMathematicaScripts and other functions of the -FIESTA interface.It specifies the full path to FIESTA.m. It -specifies whether the integral should be asymptotically expanded using -the method of regions. The default value is False

    +FIESTA interface. It specifies whether the integral should be +asymptotically expanded using the method of regions. The default value +is False

    See also

    Overview, FSAPrepareMathematicaScripts.

    diff --git a/FeynHelpersBookDev/PaXEvaluate.html b/FeynHelpersBookDev/PaXEvaluate.html index 54a0ae40..b18ba8ec 100644 --- a/FeynHelpersBookDev/PaXEvaluate.html +++ b/FeynHelpersBookDev/PaXEvaluate.html @@ -135,9 +135,9 @@

    Examples

    -2)}{16 \pi ^2}

    PaVe functions do not require the second argument specifying the loop momentum

    -

    ```mathematica PaVe[0, {0, Pair[Momentum[p, D], Momentum[p, D]], -Pair[Momentum[p, D], Momentum[p, D]]}, {0, 0, M}] PaXEvaluate[%]

    -

    ```mathematica

    +
    PaVe[0, {0, Pair[Momentum[p, D], Momentum[p, D]], Pair[Momentum[p, D], Momentum[p, D]]}, {0, 0, M}]
    +PaXEvaluate[%]

    \text{C}_0\left(0,p^2,p^2,0,0,M\right)

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/0ufeuds32147o.svg b/FeynHelpersBookDev/img/0ufeuds32147o.svg new file mode 100644 index 00000000..b3b988af --- /dev/null +++ b/FeynHelpersBookDev/img/0ufeuds32147o.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/14qhrmx0482az.svg b/FeynHelpersBookDev/img/14qhrmx0482az.svg new file mode 100644 index 00000000..45fb329c --- /dev/null +++ b/FeynHelpersBookDev/img/14qhrmx0482az.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/1ajyikedcc78w.svg b/FeynHelpersBookDev/img/1ajyikedcc78w.svg new file mode 100644 index 00000000..95ca4e24 --- /dev/null +++ b/FeynHelpersBookDev/img/1ajyikedcc78w.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/1eo5wsq2ojuzs.svg b/FeynHelpersBookDev/img/1eo5wsq2ojuzs.svg new file mode 100644 index 00000000..a4386634 --- /dev/null +++ b/FeynHelpersBookDev/img/1eo5wsq2ojuzs.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/1i6sr9b1n2bs6.svg b/FeynHelpersBookDev/img/1i6sr9b1n2bs6.svg new file mode 100644 index 00000000..ac875bbf --- /dev/null +++ b/FeynHelpersBookDev/img/1i6sr9b1n2bs6.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/1rzhy3960bfmw.svg b/FeynHelpersBookDev/img/1rzhy3960bfmw.svg new file mode 100644 index 00000000..65e9cc7f --- /dev/null +++ b/FeynHelpersBookDev/img/1rzhy3960bfmw.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/1u3kvusck6g4t.svg b/FeynHelpersBookDev/img/1u3kvusck6g4t.svg new file mode 100644 index 00000000..8d4746ab --- /dev/null +++ b/FeynHelpersBookDev/img/1u3kvusck6g4t.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FeynHelpersBookDev/img/1wadfl951t8i9.svg b/FeynHelpersBookDev/img/1wadfl951t8i9.svg new file mode 100644 index 00000000..c7f49a22 --- /dev/null +++ b/FeynHelpersBookDev/img/1wadfl951t8i9.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +