Arxiv:1909.01656V3 [Hep-Ph] 9 Aug 2021 Keywords: Integration

Arxiv:1909.01656V3 [Hep-Ph] 9 Aug 2021 Keywords: Integration

PSI-PR-19-17 ZU-TH 40/19 handyG – rapid numerical evaluation of generalised polylogarithms in Fortran L. Naterop1, A. Signer1,2, and Y. Ulrich∗1,2 1Physik-Institut, Universität Zürich, Winterthurerstrasse 190, CH-8057 Zürich, Switzerland 2Paul Scherrer Institut CH-5232 Villigen PSI, Switzerland Abstract Generalised polylogarithms naturally appear in higher-order calculations of quantum field theories. We present handyG, a Fortran 90 library for the evaluation of such func- tions, by implementing the algorithm proposed by Vollinga and Weinzierl. This allows fast numerical evaluation of generalised polylogarithms with currently relevant weights, suitable for Monte Carlo integration. Keywords: numerical evaluation, Feynman integrals, polylogarithms arXiv:1909.01656v3 [hep-ph] 9 Aug 2021 ∗Corresponding author. E-mail address: [email protected] 1 PROGRAM SUMMARY Program Title: handyG Licensing provisions: GPLv3 Programming language: Fortran 90 Operating system: Linux (tested on Ubuntu 18.04 and Scientific Linux 7.6), macOS. Code opti- misation is only available with recent compilers Distribution format: https://gitlab.com/mule-tools/handyG E-mail: [email protected] Other programs called: none, Mathematica interface available Nature of problem: Numerical evaluation routine for generalised (or Goncharov[1]) polyloga- rithms that is fast enough for Monte Carlo integration. Solution method: Implementing the algorithm presented by Vollinga and Weinzierl [2] in Fortran 90, providing a Fortran module and a Mathematica interface. Typical running time: Dependent on the complexity of the function. GPLs with typlical weight up to five evaluate in the millisecond range. Limitations: There are no theoretical limitations of the weight through the algorithm. However, for arbitrary parameters there are limits through runtime for increasing weight. References [1] A. B. Goncharov, Multiple polylogarithms, cyclotomy and modular complexes, Math. Res. Lett. 5 (1998) 497 [1105.2076]. [2] J. Vollinga and S. Weinzierl, Numerical evaluation of multiple polylogarithms, Comput. Phys. Commun. 167 (2005) 177 [hep-ph/0410259]. 2 1 Introduction It is well known that analytic calculations of higher-order corrections in quantum field theory give rise to polylogarithms. In the calculation of master integrals this usually hap- pens when solving complicated Mellin-Barnes integrals or differential equations. For processes involving many scales, these are not just harmonic polylogarithms [1] any more. Instead, generalised or Goncharov polylogarithms (GPL) are required [2]. Much effort has been dedicated to harmonic polylogarithms [3–7], making their nu- merical evaluation fast and effortless. Also the more general two-dimensional harmonic polylogarithms (for a definition see Section 5) can efficiently be evaluated [8]. Unfor- tunately, the same cannot quite be said for generalised polylogarithms. Worse yet, as we enter the era of high-precision fully-differential NNLO andN3LO calculations, being able to merely evaluate these functions is not sufficient anymore. We need to be able to integrate over GPLs numerically within a Monte Carlo code, meaning that speed ceases to be just a luxury – it becomes critical. There are two public methods that deal with the numeric aspect of GPLs: a general implementation in the computer algebra system GiNaC [9] and a set of reduction rules to reduce GPLs to known functions [10]. The latter is implemented in Mathematica and can be difficult to use if the choice of branch cuts matters. The former, written in C++, on the other hand, can be cumbersome to interface with Monte Carlo programs which are usually written in Fortran. The computer algebra library GiNaC performs the numerical evaluation symbolically, resulting in performance unsuitable for Monte Carlo integration. The algorithm employed by GiNaC is also implemented in Maple [11]. Hence, we present handyG, an easy-to-use Fortran implementation of the algorithm presented in [9], enjoying the raw speed of the compiled language’s complex number arithmetic without sacrificing simplicity. This paper is structured as follows: in Section 2 we formally introduce GPLs and the different notations we are using as well as some general properties. Next, in Section 3 we discuss how to obtain, install and use handyG. For the inclined reader, Section 4 discusses the algorithm used by GiNaC and handyG in detail, providing examples. Finally, we compare the code’s performance on a set of test cases in Section 5 before we conclude in Section 6. 2 Notation and properties of GPLs GPLs are complex-valued functions that depend on m complex parameters z1,...,zm as well as an argument y. We can define a GPL as a nested integral with zm ≠ 0 y d t1 d tm−1 d t1 t2 ⋯ tm G(z1,...,zm ; y) ≡ . (1) Ê0 t1 − z1 Ê0 t2 − z2 Ê0 tm − zm 3 Alternatively, they can also be defined in recursive form as y dt1 G(z1,...,zm ; y) = G(z2,...,zm ; t1) , (2) Ê0 t1 − z1 where the base case of m = 1 is just a logarithm y G(z ; y) = log 1 − . (3) z To also cover the case of zm = 0 we define (log y)m G( 0,..., 0 ; y) ≡ G(0m ; y) = , (4) «¯¬ m! m where we denote a string of m zeros as 0m. We call G(z1,...,zm; y) flat since all parameters are explicit. However, this notation can be cumbersome if many of the zi are zero. In this case we introduce the condensed notation which uses partial weights mi in order to keep track of the number of zeros in front of the parameter zi G z ,...,z ; y ≡ G 0 , z ,...,z , 0 , z ; y . (5) m1,...,mk 1 k m1−1 1 k−1 mk−1 k Both notations will be used interchangeably. We say that this GPL is of depth k as it has k non-zero parameters (not counting y). Its total weight is m = mi. ∑ 2.1 Multiple polylogarithms Multiple polylogarithms (MPLs) are a related class of functions that also generalise log- arithms. They are defined as an infinite nested series ∞ xi1 xik Li (x , ..., x ) ≡ 1 ⋯ k , (6) m1,...,mk 1 k m1 m É⋯ i i k i1> >ik 1 k where m1,...,mk are integer weights. If there is only one argument present, they reduce to classical polylogarithms Lim(x). MPLs are closely related to GPLs through 1 1 1 Li (x , ..., x ) = (−1)kG , ,..., ; 1 . (7) m1,...,mk 1 k m1,...,mk ⋯ x1 x1x2 x1 xk This can be inverted by performing an iterated substitution 1 1 u1 1 uk−1 u1 = , u2 = = , ... uk = = , (8) x1 x1x2 x1 x1...xk xk 4 allowing us to write the GPLs in terms of MPLs 1 u u G (u ,...,u ; 1) = (−1)kLi , 1 ,..., k−1 . (9) m1,...,mk 1 k m1,...,mk u1 u2 uk In (9), the left-hand side is an integral representation whereas the right-hand side is a series representation. GPLs with arbitrary parameters satisfy the scaling relation G(z1,...,zm ; y) = G(z1,...,zm ; y) (10) for any complex number ≠ 0. (9) assumes the argument of G is equal to one. Using the scaling relation we can normalise G(z1,...,zm; y) with = 1∕y to guarantee that the argument is indeed one. For the numerical evaluation the main idea will be to compute G-functions by reduc- ing them to their corresponding series representation (9). 2.2 Convergence properties If we want to use an infinite series for numerical evaluation of GPLs, the series needs to be convergent. It can be shown [9] that an MPL Li (x , ..., x ) is convergent if the m1,...,mk 1 k conditions ⋯ x1 xk < 1 and (m1, x1) ≠ (1, 1) (11) ð ð are satisfied. Using the relation (9), this translates to a sufficient convergence criterion for the integral representation. We find that if y < zi ∀i = 1,...,k and (m1, y∕z1) ≠ (1, 1) , (12) ð ð ð ð G (z ,...,z ; y) is convergent. m1,...,mk 1 k In Section 4 we will review the algorithm developed by [9] to transform any GPL into this form. 2.3 Shuffle algebra and trailing zeros If the last parameter z of a GPL G (z ,...,z ; y) vanishes, the convergence crite- k m1,...,mk 1 k rion (12) is not fulfilled. Hence, any algorithm that intents to exploit (6) for numerical evaluation needs to remove trailing zeros. We can exploit the fact that GPLs satisfy two Hopf algebras: a shuffle algebra and a stuffle algebra [9,10,12]. Here, we will only be needing the former. It allows us to write the product of two GPLs with parameters ⃗a and b⃗ as G(⃗a ; y) ⋅ G(b⃗ ; y) = G(⃗c ; y) . (13) É ⃗c=⃗a ⧢ b⃗ 5 The sum in the right-hand side of (13) runs over all elements of the shuffle product of the list ⃗a with b⃗. This shuffle product gives the set of all permutations of the elements in ⃗a and b⃗ that preserve the respective orderings of ⃗a and b⃗. For practical implementations, a recursive algorithm exists [13]. 3 Installation and usage The code is available in a public GitLab repository hosted by the Paul Scherrer Institut at https://gitlab.com/mule-tools/handyG From this URL a release version can be downloaded in compressed form. Alternatively, handyG can be obtained by cloning using the git command git clone https://gitlab.com/mule-tools/handyG.git This will download handyG into a subfolder called handyG. Within this folder git pull can be used to update handyG. 3.1 Installation handyG should run on a variety of systems though this can obviously not be guaranteed. The code follows the conventional installation scheme1 ./configure # Look for compilers and make a guess at # necessary flags make all # Compiles the library make check # Performs a variety of checks (optional) make install # Installs library into prefix (optional) handyG has a Mathematica interface (activate with --with-mcc) and a GiNaC interface (activate with --with-ginac) that can be activated by supplying the necessary flags to ./configure.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    24 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us