Notation
GPLs are complex-valued functions that depend on \(m\) complex parameters \(z_1,...,z_m\) as well as an argument \(y\). We can define a GPL as a nested integral with \(z_m\neq 0\)
Alternatively, they can also be defined in recursive form as
where the base case of \(m=1\) is just a logarithm
To also cover the case of \(z_m=0\) we define
where we denote a string of \(m\) zeros as \(0_m\).
We call \(G(z_1,...,z_m;y)\) flat since all parameters are explicit. However, this notation can be cumbersome if many of the \(z_i\) are zero. In this case we introduce the condensed notation which uses partial weights \(m_i\) in order to keep track of the number of zeros in front of the parameter \(z_i\)
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=\sum m_i\).
Multiple polylogarithms
Multiple polylogarithms (MPLs) are a related class of functions that also generalise logarithms. They are defined as an infinite nested series
where \(m_1,...,m_k\) are integer weights. If there is only one argument present, they reduce to classical polylogarithms \(\Li_m(x)\).
MPLs are closely related to GPLs through
This can be inverted by performing an iterated substitution
allowing us to write the GPLs in terms of MPLs
In (5), 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
for any complex number \(\kappa \ne 0\). (5) assumes the argument of \(G\) is equal to one. Using the scaling relation we can normalise \(G(z_1,...,z_m;y)\) with \(\kappa=1/y\) to guarantee that the argument is indeed one.
For the numerical evaluation the main idea will be to compute \(G\)-functions by reducing them to their corresponding series representation (5).
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 [7] that an MPL \(\Li_{m_1,...,m_k}(x_1,...,x_k)\) is convergent if the conditions
are satisfied. Using the relation (5), this translates to a sufficient convergence criterion for the integral representation. We find that if
\(G_{m_1,...,m_k}(z_1,...,z_k\ ;y)\) is convergent.
In Section The algorithm we will review the algorithm developed by [7] to transform any GPL into this form.
Shuffle algebra and trailing zeros
If the last parameter \(z_k\) of a GPL \(G_{m_1,...,m_k}(z_1,...,z_k\ ;y)\) vanishes, the convergence criterion (7) is not fulfilled. Hence, any algorithm that intents to exploit (4) 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 [3, 5, 7]. Here, we will only be needing the former. It allows us to write the product of two GPLs with parameters \(\vec a\) and \(\vec b\) as
The sum in the right-hand side of (8) runs over all elements of the shuffle product of the list \(\vec a\) with \(\vec b\). This shuffle product gives the set of all permutations of the elements in \(\vec a\) and \(\vec b\) that preserve the respective orderings of \(\vec a\) and \(\vec b\). For practical implementations, a recursive algorithm exists [4].