The main syntax to evaluate a Feynman integral is to run the following command:

SDEvaluate[{U,F,l},indices,order],

where U and F are the functions mentioned earlier in the main formula, l is the number of loops, indices is the set of indices (possibly depending on ep) and order is the required order in ep.

The tripple {U,F,l} can be produced as output by the UF code, hence the FIESTA can be used the following way:

SDEvaluate[UF[loop_momenta,propagators,replacements],indices,order],

To use the Speer sectors strategy (starting from version 1.1.0) one has to provide extra information about the diagram structure. Syntax:

SDEvaluateG[{lines,external},UF[loop_momenta,propagators,replacements],indices,order],

where lines is the set of pairs corresponding to the lines of the diagram (the vertices numering might be arbitrary) and external is the list of external vertices. The ordering of lines MUST coincide with the ordering of propagators.

To expand an integral by some variable tending to zero from the positive side, use the command

SDExpand[UF[loop_momenta,propagators,replacements],indices,order,var,var_order], where var is the small parameter and var_order is the required order of expansion by that parameter. The UF generator can be used also in this case.

SDEvaluateDirect[x, {P[1],P[2],... ,P[n]}, {r[1],r[2],... ,r[n]}, order] evaluates the integral $\int_0^1\ldots \int_0^1\dd x_1\ldots \dd x_{n} \prod_{j=1} \left[P_j\right]^{r_j}\,.$

To clear the results from memory and reset some options before the new evaluations, use ClearResults[].

The code has the following options:

UsingC: specifies whether the c-integration should be used; default value: True;

CIntegratePath: path to the CIntegrate binary;

NumberOfLinks: number of the CIntegrate programs to be launched; default value: 1;

NumberOfSubkernels: (only under Mathematica 7 and starting with FIESTA_1.2.0) number of the Mathematica subkernels for parallelization; default value: 0;

UsingQLink: specifies whether the QLink should be used to store data on disk; works only with UsingC=True; default value: True;

QLinkPath: path to the QLink binary;

DataPath: path to the place where QLink stores the data; the code creates three directories with the names obtained by appending 1, 2 and 3 to the DataPath;

Our recommendation for complicated enough problems is to have UsingC and UsingQLink set to True; the NumberOfLinks and NumberOfSubkernels should be equal to the number of kernels on your computer; Mathematica 7.0 and the new version of QLink should be used. Also one should ensure that the DataPath directory does not point to a network drive.

Additional options

MixSectors: the number of sectors, that have to be integrated together. We do not recommend touching this option with UsingC=True, but if the Mathematica integration is on, one might set it to something big or even Infinity to optimize the integration speed;

NegativeTermsHandling: the way the algorithm should deal with negative terms before the sector decomposition. Currently there are four options: "Squares" (default), "AdvancedSquares", "AdvancedSquares2" and "None";

PrimarySectorCoefficients: The usage of this option allows to take the symmetries of the diagram into account. If the diagram has symmetries, then the primary sectors corresponding to symmetrical lines result in equal contributions to the integration result. Hence it makes sense to speed up the calculation by specifying the coefficients before the primary sector integrands. For example, if two lines in the diagram are symmetrical, one can have a zero coefficient before one of those and 2 before the second. PrimarySectorCoefficients defines those coefficients if set; the size of this list should be equal to the number of primary sectors;

ResolutionMode: the method of dealing with singularities after the sector decomposition. Possible values: "IBP0", "IBP1" and "Taylor" (default value). There is no any reason to use anything except "Taylor"with multiple precision integration since the algorithm every time will select the ``native'' arithmetics and the only result is an overhead for evaluating of the test monom in each point;

RemoteLinksFile: the file where the code reads the information about remote slave CIntegrate jobs that can be used;

RemoteLinksInstallTimeout: if a remote link cannot be installed after this amount of seconds, the code ignores the link;

RemoteLinksTimeout: a timeout for reading a ready result from a remote link; after such a timeout the frozen link is banned for a minute for the first time and twice more each next time;

ExactIntegrationOrder: the maximal order of ep where FIESTA tries to present an analytical result; works only if UsingC is set to False;

ExactIntegrationTimeout: the timeout for such an integration attempt for a single sector integral. The default value is 10. After a timeout Mathematica proceeds with numerical evaluation;

d0: the dimension of the space-time when ep->0; default value is 4;

ReturnErrorWithBrackets: if True, the code returns the error estimates in the form pm[57] and not pm57;

BisectionVariables lists the variables for which the resolution of the singularities in ep has to take into account a vicinity of the value x[i]=1. It is applied only with SDEvaluateDirect.

STRATEGY: defines which sector decomposition strategy is used;
STRATEGY_0 is not exactly a strategy, but an instruction not to perform the sector decomposition;
STRATEGY_A and STRATEGY_B are the two strategies from the paper of Bogner Weinzierl guaranteed to terminate;
STRATEGY_S (default value) is our strategy, producing better results than the preceding ones;
STRATEGY_SS is the Speer sectors strategy and can be used only with the SDEvaluateG syntax; this strategy appeared in version 1.1.0; for details see arXiv:0812.4700.
STRATEGY_X is an heuristic strategy from the paper of Bogner and Weinzierl; close to the strategies of Binoth and Heinrich: powerful but not guaranteed to terminate;

UsingComplexNumbers: if set to True, adds ComplexShift (default value -I*10^(-8)) to each of the integrands forcing the code to understand properly the branching complex functions; works only with UsingC=False; default value: False.

d0 (starting from version 1.1.0) stands for the dimension. Default value is 4.

CurrentIntegrator and CurrentIntegratorSettings: should be used to specify integration methods (only with the new binaries and starting with version 1.2)

Default value:

CurrentIntegrator=vegasf;
CurrentIntegratorSettings=
{{"acc","1.000000E-05"},{"numberOfCalls1","10000"},
{"numberOfIterations1","5"},{"numberOfCalls2","100000"},
{"numberOfIterations2","15"}};
 

Possible functional setups (however you can play with the options as you wish)

CurrentIntegrator = "divonneCuba";

CurrentIntegratorSettings=

{{"epsrel","0"},{"epsabs","1.000000E-06"},

{"mineval","0"},{"maxeval","1550000"},{"key1","9"},{"key2","9"},

{"key3","1"},{"maxpass","5"},{"border","0.001"},

{"maxchisq","10.000000"},{"mindeviation","0.250000"}};

Or

CurrentIntegrator = "vegasCuba";

CurrentIntegratorSettings = {{"epsrel","0"},{"epsabs","1.000000E-06"},{"maxeval"

,"1550000"}};

Or

CurrentIntegrator = "cuhreCuba";

CurrentIntegratorSettings = {{"epsrel","0"},{"epsabs","1.000000E-06"},{"maxeval"

,"1550000"},{"key","7"}};

 

Or

CurrentIntegrator = "suaveCuba";

CurrentIntegratorSettings = {{"epsrel","0"},{"epsabs","1.000000E-06"},{"maxeval"

,"1550000"}};

 

IntegrationCut: the actual boundary of the integration domain; default value: 0; (THIS OPTION IS LEFT FOR COMPATIBILITY WITH OLD VERSIONS ONLY, IT IS NOT RECOMMENDED TO USE IT)

IfCut and VarExpansionDegree (LEFT FOR COMPATIBILITY WITH OLD VERSIONS ONLY, IT IS NOT RECOMMENDED TO USE IT) if IfCut is nonzero then the expression is expanded over each integration variable up to order VarExpansionDegree; the integration function is evaluated exactly if the integration variable is greater that IfCut, otherwise the expansion is taken instead; the default value of IfCut is zero, the default value of VarExpansionDegree is 1;

The following options were used in FIESTA 1 but have been completely removed from that moment:
ForceMixingOfSectors: see MixSectors
PrepareStringsWhileIntegrating: no analogue
ResolveNegativeTerms: see NegativeTermsHandling
VegasSettings: see CurrentIntegrator and CurrentIntegratorSettings

Other projects
(in Russian):

Путеводитель по интернету

Компьютерная помощь

Главная страница:

http://sander.su/