In this paper we present a new release of the FIESTA program (Feynman Integral Evaluation by a Sector decomposiTion Approach). FIESTA5 is performance-oriented — we implemented improvements of various kinds in order to make Feynman integral evaluation faster. We plugged in two new integrators, the Quasi Monte Carlo and Tensor Train. At the same time the old code of FIESTA4 was upgraded to the C++17 standard and mostly rewritten without self-made structures such as hash tables. There are also several essential improvements which are most relevant for complex integrations — the new release is capable of producing results where previously impossible. Program summaryProgram title: FIESTA5CPC Library link to program files:https://doi.org/10.17632/kyzw4zkwsd.2Developer's repository link:https://bitbucket.org/feynmanIntegrals/fiestaLicensing provisions: GPLv3Programming language:Wolfram Mathematica 8.0 or higher, C++Supplementary material: The article, usage instructions in the program package, https://bitbucket.org/feynmanIntegrals/fiestaJournal Reference of previous version: A.V. Smirnov, FIESTA4: Optimized Feynman integral calculations with GPU support, Comput. Phys. Commun. 204 (2016) 189–199, https://doi.org/10.1016/j.cpc.2016.03.013Does the new version supersede the previous version?: YesReasons for the new version: The code was not able to produce results in some cases where the competitive code, pySecDec could; moreover we were not happy with the performance of the algorithm having multiple inefficient parts of the code.Summary of revisions: New integrators, improved sector decomposition strategies, improvement of contour transformation algorithm, code optimization especially in physical regions (might be 100 times faster or more), possibility to work in some situations where previously impossible, update of the code to modern standard.Nature of problem: Sector decomposition is a well-known approach to the numerical evaluation of Feynman integrals. Feynman integrals in 4 space-time dimension are divergent and have to be regulated. Sector decomposition is used to resolve pole singularities and consists of different stages — sector decomposition itself, contour transformation (in case of physical kinematics meaning base functions changing sign therefore leading to integration in complex numbers), pole resolution, epsilon expansion and numerical integration.Solution method: Most stages are performed in Wolfram Mathematica [1] (required version is 8.0 or higher), this part is parallelized by the use of Mathematica subkelnels in shared memory. As a result a database on hard disk is produced with the use of the KyotoCabinet [2] database engine. The integration stage is written in C++ and can be run on personal computers as well as on supercomputers via MPI. It can make use of installed graphical processor units. As default integrator we use Vegas from the Cuba library [3], but also it can be switched to QMC [4] or Tensor Train [5]. The mimalloc memory allocator [6] can be used for improved performance.Additional comments including restrictions and unusual features: The complexity of the problem is mostly restricted by CPU time required to perform the integration and to obtain the desired precision.
Read full abstract