From 0abf1e0c4506080899991d6b71af6b3dd8b4d47e Mon Sep 17 00:00:00 2001 From: Vladyslav Shtabovenko Date: Fri, 12 Jul 2024 18:03:14 +0200 Subject: [PATCH] Docu upadted. --- FeynCalcBookDev/Extra/Development.html | 18 +-- FeynCalcBookDev/Extra/FeynCalc.html | 4 + .../FCLoopAddMissingHigherOrdersWarning.html | 147 ++++++++++++++++++ FeynCalcBookDev/FCLoopFromGLI.html | 14 +- FeynCalcBookDev/SFAD.html | 46 +++++- FeynCalcBookDev/img/0jtbiuq3nviq2.svg | 69 ++++++++ 6 files changed, 271 insertions(+), 27 deletions(-) create mode 100644 FeynCalcBookDev/FCLoopAddMissingHigherOrdersWarning.html create mode 100644 FeynCalcBookDev/img/0jtbiuq3nviq2.svg diff --git a/FeynCalcBookDev/Extra/Development.html b/FeynCalcBookDev/Extra/Development.html index c3f029ae..a1ddc374 100644 --- a/FeynCalcBookDev/Extra/Development.html +++ b/FeynCalcBookDev/Extra/Development.html @@ -187,18 +187,12 @@

Add-ons

End[]

Packages that use FeynCalc

Starting with FeynCalc 9.0 one can easily write something like

-
BeginPackage["MyPackage`",{"FeynCalc`"}]
-
-MySP::usage=
-"Description of MySP";
-
-Begin["`Private`"];
-
-MySP[a_,b_]:= FCI[SP[a,b]];
-
-End[]
-EndPackage[]
+

``mathematica BeginPackage["MyPackage“,{”FeynCalc`“}]

+

MySP::usage= “Description of MySP”;

+

Begin[“Private”];

+

MySP[a_,b_]:= FCI[SP[a,b]];

+

End[] EndPackage[]

+

```mathematica

Package or add-on?

The decision, whether you want to write an add-on or a separate package that requires FeynCalc should be made depending on your working diff --git a/FeynCalcBookDev/Extra/FeynCalc.html b/FeynCalcBookDev/Extra/FeynCalc.html index 1f0a483b..b1a84a7b 100644 --- a/FeynCalcBookDev/Extra/FeynCalc.html +++ b/FeynCalcBookDev/Extra/FeynCalc.html @@ -850,6 +850,10 @@

Loop integrals

href="../FCLoopPropagatorsToLineMomenta.html">FCLoopPropagatorsToLineMomenta - create and plot graphs representing loop integrals
  • FCLoopAddMissingHigherOrdersWarning +- adds a warning flag to the given \epsilon-expansion
  • +
  • FCLoopApplyTopologyMappings, FCLoopCreateRuleGLIToGLI, FCLoopFindMomentumShifts, diff --git a/FeynCalcBookDev/FCLoopAddMissingHigherOrdersWarning.html b/FeynCalcBookDev/FCLoopAddMissingHigherOrdersWarning.html new file mode 100644 index 00000000..a17a33a3 --- /dev/null +++ b/FeynCalcBookDev/FCLoopAddMissingHigherOrdersWarning.html @@ -0,0 +1,147 @@ + + + + + + + FeynCalc manual (development version) + + + + + + + + +
    +

    FeynCalc manual (development version)

    +
    +

    FCLoopAddMissingHigherOrdersWarning

    +

    FCLoopAddMissingHigherOrdersWarning[expr, ep, fun] +determines the highest ep-power n in the given expression and adds a warning +flag of order \textrm{ep}^n+1. This is +meant to prevent incorrect results stemming insufficient high expansions +of expr in ep

    +

    See also

    +

    Overview, FCFeynmanParametrize, FCFeynmanPrepare.

    +

    Examples

    +
    FCLoopAddMissingHigherOrdersWarning[1/ep^2 cc1 + 1/ep cc2, ep, epHelp]
    +

    \frac{\text{cc1}}{\text{ep}^2}+\frac{\text{cc2}}{\text{ep}}+(1+i) +\;\text{epHelp}

    +
    FCLoopAddMissingHigherOrdersWarning[cc1, ep, epHelp]
    +

    \text{cc1}+(1+i) \;\text{ep} +\;\text{epHelp}

    +
    FCLoopAddMissingHigherOrdersWarning[cc1, ep, epHelp, Complex -> False]
    +

    \text{cc1}+\text{ep} +\;\text{epHelp}

    +
    FCLoopAddMissingHigherOrdersWarning[cc1, ep, epHelp, Names -> False]
    +

    \text{cc1}+(1+i) \;\text{ep} +\;\text{epHelp}

    +
    FCLoopAddMissingHigherOrdersWarning[GLI[topo1, {1, 1, 1, 1, 1}] -> cc1/ep^2 + cc2/ep + cc3 , ep, epHelp]
    +

    G^{\text{topo1}}(1,1,1,1,1)\to +\frac{\text{cc1}}{\text{ep}^2}+\frac{\text{cc2}}{\text{ep}}+\text{cc3}+(1+i) +\;\text{ep} \;\text{epHelp}(\text{topo1X11111})

    + + diff --git a/FeynCalcBookDev/FCLoopFromGLI.html b/FeynCalcBookDev/FCLoopFromGLI.html index 807f8080..a88f1590 100644 --- a/FeynCalcBookDev/FCLoopFromGLI.html +++ b/FeynCalcBookDev/FCLoopFromGLI.html @@ -120,11 +120,11 @@

    See also

    Examples

    topos = {
    -   FCTopology["topoBox1L", {FAD[{q, m0}], FAD[{q + p1, m1}], FAD[{q + p2, m2}], FAD[{q + p2, m3}]}, 
    +   FCTopology["topoBox1L", {FAD[{q, m0}], FAD[{q + p1, m1}], FAD[{q + p2, m2}], FAD[{q + p3, m3}]}, 
         {q}, {p1, p2, p3}, {}, {}], 
        FCTopology["topoTad2L", {FAD[{q1, m1}], FAD[{q2, m2}], FAD[{q1 - q2, 0}]}, {q1, q2}, {}, {}, {}]}

    \left\{\text{FCTopology}\left(\text{topoBox1L},\left\{\frac{1}{q^2-\text{m0}^2},\frac{1}{(\text{p1}+q)^2-\text{m1}^2},\frac{1}{(\text{p2}+q)^2-\text{m2}^2},\frac{1}{(\text{p2}+q)^2-\text{m3}^2}\right\},\{q\},\{\text{p1},\text{p2},\text{p3}\},\{\},\{\}\right),\text{FCTopology}\left(\text{topoTad2L},\left\{\frac{1}{\text{q1}^2-\text{m1}^2},\frac{1}{\text{q2}^2-\text{m2}^2},\frac{1}{(\text{q1}-\text{q2})^2}\right\},\{\text{q1},\text{q2}\},\{\},\{\},\{\}\right)\right\}

    +class="math display">\left\{\text{FCTopology}\left(\text{topoBox1L},\left\{\frac{1}{q^2-\text{m0}^2},\frac{1}{(\text{p1}+q)^2-\text{m1}^2},\frac{1}{(\text{p2}+q)^2-\text{m2}^2},\frac{1}{(\text{p3}+q)^2-\text{m3}^2}\right\},\{q\},\{\text{p1},\text{p2},\text{p3}\},\{\},\{\}\right),\text{FCTopology}\left(\text{topoTad2L},\left\{\frac{1}{\text{q1}^2-\text{m1}^2},\frac{1}{\text{q2}^2-\text{m2}^2},\frac{1}{(\text{q1}-\text{q2})^2}\right\},\{\text{q1},\text{q2}\},\{\},\{\},\{\}\right)\right\}

    exp = a1 GLI["topoBox1L", {1, 1, 1, 1}] + a2 GLI["topoTad2L", {1, 2, 2}]

    \text{a1} @@ -136,7 +136,7 @@

    Examples

    class="math display">\frac{\text{a1}}{\left(q^2-\text{m0}^2\right) \left((\text{p1}+q)^2-\text{m1}^2\right) \left((\text{p2}+q)^2-\text{m2}^2\right) -\left((\text{p2}+q)^2-\text{m3}^2\right)}+\frac{\text{a2}}{\left(\text{q1}^2-\text{m1}^2\right) +\left((\text{p3}+q)^2-\text{m3}^2\right)}+\frac{\text{a2}}{\left(\text{q1}^2-\text{m1}^2\right) \left(\text{q2}^2-\text{m2}^2\right)^2 (\text{q1}-\text{q2})^4}

    Notice that it is necessary to specify all topologies present in @@ -144,7 +144,7 @@

    Examples

    for unknown topologies

    FCLoopFromGLI[GLI["topoXYZ", {1, 1, 1, 1, 1}], topos]
    -

    047duy8jklfe9

    +

    0jtbiuq3nviq2

    \text{\$Aborted}

    FCLoopFromGLI can also handle products of GLIs (currently only for standalone integrals or lists of @@ -155,7 +155,7 @@

    Examples

    \frac{1}{\left(\text{FCGV}(\text{lmom21})^2-\text{m0}^2\right) \left((\text{p1}+\text{FCGV}(\text{lmom11}))^2-\text{m1}^2\right) -\left((\text{p2}+\text{FCGV}(\text{lmom11}))^2-\text{m3}^2\right) +\left((\text{p3}+\text{FCGV}(\text{lmom11}))^2-\text{m3}^2\right) \left((\text{p2}+\text{FCGV}(\text{lmom21}))^2-\text{m2}^2\right)}

    You can customize the naming scheme for the momenta via the LoopMomentum option. The first argument gives the number of @@ -178,7 +178,7 @@

    Examples

    class="math display">\frac{1}{\left(\text{p22}^2-\text{m0}^2\right) \left((\text{p11}+\text{p1})^2-\text{m1}^2\right) \left((\text{p22}+\text{p2})^2-\text{m2}^2\right) -\left((\text{p11}+\text{p2})^2-\text{m3}^2\right)}

    +\left((\text{p11}+\text{p3})^2-\text{m3}^2\right)}

    In general, FCLoopFromGLI can change the ordering of propagators inside FeynAmpDenominator, as compared to the their ordering inside FCTopology. This is because by @@ -188,6 +188,6 @@

    Examples

    FCLoopFromGLI[exp, topos, FeynAmpDenominatorCombine -> False, List -> FeynAmpDenominator]

    \frac{\text{a1}}{\left(q^2-\text{m0}^2\right).\left((\text{p1}+q)^2-\text{m1}^2\right).\left((\text{p2}+q)^2-\text{m2}^2\right).\left((\text{p2}+q)^2-\text{m3}^2\right)}+\frac{\text{a2}}{\left(\text{q1}^2-\text{m1}^2\right).\left(\text{q2}^2-\text{m2}^2\right)^2.(\text{q1}-\text{q2})^4}

    +class="math display">\frac{\text{a1}}{\left(q^2-\text{m0}^2\right).\left((\text{p1}+q)^2-\text{m1}^2\right).\left((\text{p2}+q)^2-\text{m2}^2\right).\left((\text{p3}+q)^2-\text{m3}^2\right)}+\frac{\text{a2}}{\left(\text{q1}^2-\text{m1}^2\right).\left(\text{q2}^2-\text{m2}^2\right)^2.(\text{q1}-\text{q2})^4}

    diff --git a/FeynCalcBookDev/SFAD.html b/FeynCalcBookDev/SFAD.html index 52dc8b6b..d15af6fc 100644 --- a/FeynCalcBookDev/SFAD.html +++ b/FeynCalcBookDev/SFAD.html @@ -110,11 +110,11 @@

    FeynCalc manual (development version)

    SFAD

    SFAD[{{q1 +..., p1 . q2 +...,} {m^2, s}, n}, ...] -denotes a Cartesian propagator given by \frac{1}{[(q_1+\ldots)^2 + p_1 \cdot q_2 ... + m^2 + s i \eta]^n}, where q_1^2 and -p_1 \cdot q_2 are Cartesian scalar -products in D-1 dimensions.

    +p_1 \cdot q_2 are Lorentzian scalar +products in D dimensions.

    For brevity one can also use shorter forms such as SFAD[{q1+ ..., m^2}, ...], SFAD[{q1+ ..., m^2 , n}, ...], @@ -122,12 +122,18 @@

    SFAD

    etc.

    If s is not explicitly specified, its value is determined by the option EtaSign, which has the default -value +1.

    +value +1 and corresponds to + i +\eta

    If n is not explicitly specified, then the default value -1 is assumed. Translation into FeynCalcI internal form is -performed by FeynCalcInternal, where a SFAD is -encoded using the special head -CartesianPropagatorDenominator.

    +1 is assumed. Translation into the FeynCalc internal form +is performed by FeynCalcInternal, where an +SFAD is encoded using the special head +StandardPropagatorDenominator.

    +

    SFAD can represent more versatile propagators as +compared to the old FAD. In particular, FAD +does not allow one to enter eikonal propagators, track the sign of the +i \eta or change the sign and the form +of the mass term.

    See also

    Overview, FAD, GFAD, Examples

    SFAD[{{0, n . q}}]

    \frac{1}{(n\cdot q+i \eta )}

    +
    SFAD[{{p, p . q}, m^2}]
    +

    \frac{1}{(p^2+p\cdot q-m^2+i \eta +)}

    +

    The so called Smirnov-notation for propagators can be achieved by +multiplying the quadratic part by I and switching the sign +of the mass term.

    +
    SFAD[{{I*p, 0}, -m^2}]
    +

    \frac{1}{(-p^2+m^2+i \eta )}

    +

    If one wants to have additional variables multiplying loop or +external momenta, those need to be declared to be of the +FCVariable type

    +
    DataType[la, FCVariable] = True
    +

    \text{True}

    +
    SFAD[{{0, la p . q}, m^2}]
    +

    \frac{1}{(\text{la} (p\cdot q)-m^2+i \eta +)}

    +
    % // FCI // StandardForm
    +
    +(*FeynAmpDenominator[StandardPropagatorDenominator[0, la Pair[Momentum[p, D], Momentum[q, D]], -m^2, {1, 1}]]*)
    diff --git a/FeynCalcBookDev/img/0jtbiuq3nviq2.svg b/FeynCalcBookDev/img/0jtbiuq3nviq2.svg new file mode 100644 index 00000000..19437325 --- /dev/null +++ b/FeynCalcBookDev/img/0jtbiuq3nviq2.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + +