CITE THIS NOTEBOOK: MBcreate: transform Feynman parametric integrals to Mellin-Barnes form by Andrei Belitsky, Alexander Smirnov, and Vladimir Smirnov. Wolfram Community NOV 18 2022.
ORIGINAL ARTICLE: A.V. Belitsky, A.V. Smirnov, V.A. Smirnov (2022). MB Tools reloaded. arXiv:2211.00009 [hep-ph]. https://doi.org/10.48550/arXiv.2211.00009.
Abstract: We address the problem of evaluation of multiloop Feynman integrals by means of their Mellin-Barnes representation. We introduce a new code MBcreate which allows one to automatically deduce a concise Mellin-Barnes representation for a given parametric integral.

Introduction

Download latest commit of the repository @ https://bitbucket.org/feynmanIntegrals/mb/src/master/
MBcreate::usage = "Creates MB representation. Input is either {U, F, loops} or {gammas, monom, {{function, exponent},...}, UsedDelta}.
U and F are Symanzik polynomials corresponding to a given Feynman graph.
Package's options include XVar, ZVar, EpVar, d0, Verbose and SplitExtraVars with default values " XVar "x," ZVar "z," EpVar "ep," d0 "4," Verbose "Automatic," SplitExtraVars "True.
Verbose has options False (minimal), Automatic (middle, default) and True (maximum);
SplitExtraVars has options True (splits kinematical invariant from the start) and False";
This notebook describes two typical applications:
A1. Obtaining MB representation for a graph with MBcreate;
A2. A typical implementation of the SDExpandAsy -> MBcreate -> MBresolve -> DoAllBarnes -> PSQL chain for a Feynman graph to find its asymptotic expansion.

Loading packages

SetDirectory["/Users/andrei.belitsky/Documents/MBtools"]
Get["/Users/andrei.belitsky/Documents/MBtools/MBcreate.m"]​​Get["/Users/andrei.belitsky/Documents/MBtools/MB.m"];​​Get["/Users/andrei.belitsky/Documents/MBtools/MBresolve.m"];​​Get["/Users/andrei.belitsky/Documents/MBtools/barnesroutines.m"];​​Get["/Users/andrei.belitsky/Documents/MBtools/MBasymptotics.m"];
Global`ep=ep;
Both Examples require FIESTA5:
Reference: “FIESTA5: numerical high-performance Feynman integral evaluation” by A. V. Smirnov, N. D. Shapurov, L. I. Vysotsky, https://doi.org/10.48550/arXiv.2110.11660​
Download latest commit of the repository @ https://bitbucket.org/feynmanIntegrals/fiesta/src/master/
Get["/Users/andrei.belitsky/Documents/fiesta/FIESTA5/FIESTA5.m"];

Example A1

Use FIESTA to determine Symanzik polynomials for a given graph:
props1L={-k1^2,-(k1+p1)^2,-(k1-p2)^2};​​reps1L={p1^2-S1,p2^2-S2,p1*p2(S1+S2-S12)/2};
IniFI=UF[{k1},props1L,reps1L]
{x[1]+x[2]+x[3],S1x[1]x[2]+S2x[1]x[3]+S12x[2]x[3],1}
FiESTA output:
FIESTAoutput={x[1]+x[2]+x[3],S1x[1]x[2]+S2x[1]x[3]+S12x[2]x[3],1};
Run MBcreate:
MBcreate[FIESTAoutput,VerboseTrue,SplitExtraVarsTrue]
MBcreate[FIESTAoutput,VerboseTrue,SplitExtraVarsFalse]

Example A2

Set path to qhull (if needed):
dir="/Users/andrei.belitsky/Documents/qhull-2020.2/bin/qhull"
Use FIESTA to find all regions in the Sudakov expansion of the 3-loop ladder graph T3,3 ( see Fig. 2 of https://arxiv.org/pdf/2209.09263.pdf ):
T33integrand=-
2
k1
,-
2
k2
,-
2
k3
,-
2
(k3-p1)
,-
2
(k3+p2)
,-
2
(k1+k2+k3-p1)
,-
2
(k1+k2+k3+p2)
,-
2
(k2+k3-p1)
,-
2
(k1+k3+p2)
,-
2
(k1+k2)
;​​UF3loopXladderT33=UF[{k1,k2,k3},T33integrand,{p1^2-y,p2^2-y,p1*p2y-1/2}];​​FIESTAoutput=SDExpandAsy[UF3loopXladderT33,{1,1,1,1,1,1,1,1,1,-1},0,0,ExpandVary,AnalyticIntegrationFalse,UsingCFalse,OnlyPrepareRegionsTrue,QHullPathdir]
FiESTA output:

Region 13 as an example of subsequent calculations:
Region13=FIESTAoutput[[13,2,1]]/.FIESTA`Private`KronekerDelta[x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+x[9],1]1//Simplify//PowerExpand
Split-up this input into components Ini = {Gammas=pref, monomials=mon, functions=Fun, deltacondition} to feed into MBcreate:
mon=Cases[List@@Region13,x[___]^a_.]/.ListTimes;​​Y=Cases[List@@Region13,y^a_.]/.ListTimes;​​pref=(Simplify[Region13/mon]/.x[__]0/.(0^_)1)/Y;​​fun=List@@(Region13/mon/pref/Y);​​Fun=Table[List@@fun[[i]],{i,1,Length[fun]}];
Introduce additional analytic regularization (pref is accounted for at the very end):
Ini={1,mon*Product[x[i]^la[i],{i,1,9}],Fun,False}
Run MBcreate:
MBcreate[Ini,VerboseTrue,SplitExtraVarsFalse]
Using output MBintegral of MBcreate, for Laurent expansion making use of routines from MB toolbox (here to order 1/ep^2):
MBintegral=(Gamma[1+la[1]]Gamma[1-ep-la[3]]Gamma[1+la[4]]Gamma[ep+la[3]+la[5]]Gamma[3ep-la[1]-la[5]-la[6]]Gamma[2ep-la[1]-la[3]-la[4]-la[5]-la[6]]Gamma[2-ep-la[7]]Gamma[1-la[1]-la[3]-la[4]-la[5]-la[6]-la[7]-la[8]-la[9]]Gamma[ep+la[7]+la[9]]Gamma[-ep-la[6]-la[8]-z[1]]Gamma[-z[1]]Gamma[1+la[6]+z[1]]Gamma[1-2ep+la[3]+la[4]+la[5]+la[6]+la[8]+z[1]]Gamma[-ep-la[1]-la[9]+z[1]])/(Gamma[3+3ep]Gamma[1-3ep+la[3]+la[4]+la[5]]Gamma[1+2ep-la[1]-la[3]-la[5]-la[6]]Gamma[1+ep-la[1]-la[3]-la[4]-la[5]-la[6]-la[8]]Gamma[2-2ep-la[1]-la[7]-la[9]+z[1]])/.z[1]z1;
MBresolve can handle MBintegral without additional analytic regularization:
la[i_]:={0,0,0,0,0,0,0,0,0}[[i]];
MBintegralCont=MBresolve[MBintegral,ep,OptimizeNowTrue]
MBintegralSelect=MBmerge[MBpreselect[MBintegralCont,{ep,0,-2}]]
MBintegralExpand=MBmerge[MBexpand[MBintegralSelect,1,{ep,0,-2}]]
MBintegralBarnes=MBmerge[DoAllBarnes[MBintegralExpand]]
Num=MBintegrate[MBintegralBarnes,{}]
Initial expression for analytics

An implementation of PSLQ:
PSLQ[num_?NumericQ,basis_?VectorQ]:=Module[{coefficients,result},coefficients=FindIntegerNullVector[Prepend[N[basis,Precision[num]],num]];​​result=Rest[coefficients].basis/First[coefficients];​​Sign[N[result]]Sign[num]result];
ep^(-3)

ep^(-2)

Combining individual contributions to get analytical expression:
Exact=InitialExp[[1,1]]+InitialExpEp3Exact/ep^3+InitialExpEp2Exact/ep^2//FullSimplify//Collect[#,ep]&
1
24
6
ep
-
3
16
5
ep
+
189-8
2
π
288
4
ep
+
-36450+2160
2
π
-15840Zeta[3]
17280
3
ep
+
112995-8
2
π
(945+64
2
π
)+71280Zeta[3]
17280
2
ep
Numerical test :
Num[[1]]-Exact//N//Chop
0
Final result for Region 13:
Y*(pref*Exact//Series[#,{ep,0,-2}]&//FullSimplify//Collect[#,ep]&)
-4ep
y
-
1
12
6
ep
-
2
π
144
4
ep
+
203
4
π
3456
2
ep
+
31Zeta[3]
12
3
ep

Acknowledgement

This work was supported by the U.S. National Science Foundation under the grant No. PHY-2207138, by the Russian Science Foundation under the agreement no. 21-71-30003 (application of MB representations to research in elementary particle physics) and by the Ministry of Education and Science of the Russian Federation as part of the program of the Moscow Center for Fundamental and Applied Mathematics under Agreement No. 075-15-2019-1621 (development of algorithms creating MB representations).