Pith. sign in

REVIEW 2 major objections 5 minor 3 cited by

HandyG -- rapid numerical evaluation of generalised polylogarithms in Fortran

T0 review · 2 major / 5 minor · reviewed 2026-08-14 · deepseek-v4-flash

Pith's one-line read A Fortran 90 library evaluates generalised polylogarithms of current NNLO/N3LO weights at roughly 1100 per second — about twenty times faster than GiNaC — making Monte Carlo integration practical.

desk verdict A clean, honest software port that is genuinely useful for Fortran Monte Carlo work; fix the example mismatch and add one independent check. read the letter →

arxiv 1909.01656 v3 pith:YL2X45BX submitted 2019-09-04 hep-ph

classification hep-ph
keywords generalisedpolylogarithmsGoncharovnumericalevaluationMonteCarlointegrationFeynmanintegralsFortran90Vollinga-Weinzierlalgorithm
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

This paper presents handyG, a Fortran 90 library that numerically evaluates generalised polylogarithms — the nested-integral functions that appear naturally in higher-order quantum field theory calculations. The central claim is that, by implementing the Vollinga–Weinzierl algorithm in compiled Fortran rather than as a symbolic routine, the library is fast enough to be called many times inside a Monte Carlo phase-space integration. On 3329 representative GPLs drawn from current two-loop calculations, handyG evaluates about 1100 functions per second versus about 60 per second for the C++ algebra system GiNaC, and it agrees with GiNaC on all physics test sets considered. The paper's point, taken in good faith, is that the numerical bottleneck for fully differential NNLO and N3LO calculations with several scales is now removed.

What carries the argument

The load-bearing mechanism is the Vollinga–Weinzierl reduction algorithm, which rewrites any generalised polylogarithm $G(a_1,\ldots,a_n;x)$ into a sum of convergent multiple polylogarithms. Three recursive steps do the work: the shuffle algebra removes trailing zeros, which would otherwise violate the convergence criterion $|x|<|a_i|$ for all $i$; the parameter with the smallest absolute value is eliminated through the fundamental theorem of calculus, producing 'pending integrals' of lower depth that are then collapsed back into ordinary GPLs; and the Hölder convolution equation (Eq. 31), $G(\vec a;1)=\sum_{j=0}^n(-1)^j\,G(1-a_j,\ldots,1-a_1;1-1/z)\,G(a_{j+1},\ldots,a_n;1/z)$, specialised to $z=2$, maps parameters near the unit circle to parameters twice as large so the series converges faster. The paper relies on the literature's proof that this recursion always terminates and yields convergent series for arbitrary complex parameters.

What would settle it

Take a battery of GPLs whose parameters lie on or just inside the unit circle, for instance $G(1,1,1;1)$ or cases with two parameters of equal modulus, and compare handyG's output with an independent high-precision method that does not use the Vollinga–Weinzierl reduction, such as numerical quadrature of the defining nested integral at high precision. Any mismatch beyond the stated tolerance, or any input on which the recursion fails to terminate, would falsify the paper's claim of reliable fast evaluation.

Watch

Extended reading notes

Core claim

The paper's discovery is that a compiled, dependency-free Fortran implementation of the Vollinga–Weinzierl reduction algorithm can evaluate the generalised polylogarithms that appear in current NNLO and N3LO calculations quickly enough for Monte Carlo integration. Concretely, handyG reaches average rates of about 1100 GPLs per second — functions of weight up to five evaluate in the millisecond range — on a benchmark of 3329 GPLs collected from heavy-to-light form factors, muon–electron scattering, and Bhabha scattering, with complete agreement with GiNaC on these physics test sets. The library supplies the $i0^+$ prescriptions needed in physical kinematic regions, a cache of classical polylogarithms, and direct interfaces for Fortran and Mathematica.

Load-bearing premise

The whole evaluation rests on a published proof, cited but not reproduced in this paper, that the algorithm's recursion always terminates and produces convergent series for any complex parameters; agreement with GiNaC cannot expose a mistake both programs share, because GiNaC uses the same algorithm.

Editorial extensions

If this is right

  • Physicists can integrate over generalised polylogarithms directly inside Fortran Monte Carlo codes at NNLO and N3LO, rather than stopping at analytic or symbolic evaluation.
  • The compiled implementation removes the need to link a C++ computer algebra system into a Fortran event generator to obtain numerical values for these functions.
  • Because handyG and GiNaC agree on the physics test sets, handyG can serve as a fast cross-check companion for results produced by GiNaC or the Maple implementation of the same algorithm.
  • Weights up to five evaluate in the millisecond range with default settings, so realistic phase-space integrations over GPLs become practical; the paper identifies runtime, not an algorithmic ceiling, as the limit for weights above about seven.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • Caching entire evaluated GPLs rather than just classical polylogarithms — an extension the paper does not implement — would likely speed up Monte Carlo sweeps that repeatedly hit the same weight list.
  • The twenty-fold speedup is an average over the benchmark distribution; for GPLs with many parameters crowding the unit circle, more Hölder recursion is triggered and the margin over GiNaC should narrow, a prediction consistent with the paper's weight-dependence plot.
  • Parallelising the independent lower-weight pieces generated by the Hölder convolution could push the practical weight range beyond seven, since the recursion fans out into many independent GPLs.
  • A sharpened version of the cited termination proof, giving explicit bounds on recursion depth, would turn the paper's heuristic 'usually terminates' into guaranteed per-call cost estimates for event generators.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

2 major / 5 minor

Summary. The paper presents handyG, a Fortran 90 library for the numerical evaluation of generalised polylogarithms (GPLs) appearing in higher-order QFT calculations. The library implements the algorithm of Vollinga and Weinzierl, as previously used in GiNaC, and provides a Fortran module, a Mathematica interface, and a simple command-line tool. The paper defines the relevant notation, reviews the algorithm (removal of trailing zeros, reduction to convergent series via pending integrals, and Hölder convolution to accelerate convergence), gives installation and usage instructions, and reports benchmark results: on 3329 GPLs taken from published two-loop calculations, handyG is on average about twenty times faster than GiNaC (1100 versus 60 GPLs per second), with claimed complete agreement with GiNaC on all test sets. The source code is publicly available under GPLv3.

Significance. If the implementation is correct, handyG fills a practical need: existing GPL evaluation in GiNaC is symbolic and too slow for direct Monte Carlo integration, whereas handyG is a compiled Fortran library suitable for that purpose. The paper's strengths are that the implementation is based on a published algorithm, the code is publicly available, the benchmark set includes a large number of functions from realistic physics calculations as well as millions of random tests, and there are no fitted parameters or circular self-validations. The main weakness is that all numerical validation is against GiNaC, which implements the same algorithm, so a shared systematic error would not be detected; this limitation is acknowledged only indirectly. In addition, the paper contains a concrete internal inconsistency in its own usage example, which must be resolved before the correctness claims can be accepted as documented.

major comments (2)
  1. [Sections 3.2 and 3.3, Eq. (14), Listings 3 and 4] The two listings give contradictory outputs for functions that Eq. (14) defines as G(1±,0,5;1/x). In Listing 3, the Fortran call G([inum(1.,+1),inum(0,+1),inum(5,+1)], inum(1/x,di0)) returns −0.961279−0.662888i for the + prescription, while Listing 4, written as G[1+,5,1/x] in Mathematica, returns −1.12732−0.701026i. Since both listings claim to evaluate the functions of Eq. (14), the manuscript as written reports two different values for the same mathematical function. Either the Mathematica syntax omits a zero and therefore evaluates a different GPL, or one of the two outputs is incorrect. This is a load-bearing correctness issue: please correct the Mathematica example (for instance G[1+,0,5,1/x] if flat notation is intended) or explicitly state that the line evaluates a different function, and verify which numerical result is correct.
  2. [Section 5, validation and performance] The claim of 'complete agreement with GiNaC' is not quantified: no tolerance, no definition of agreement, and no statement of how many digits were compared. More importantly, all validation is against GiNaC, a library that implements the same underlying Vollinga–Weinzierl algorithm, so a systematic error in the algorithm or in a shared implementation detail would be invisible to these tests. I request at least one independent cross-check, for example comparison with high-precision direct numerical integration for a modest subset of functions, evaluation of known special values, or comparison with an independent implementation or series representation. This would also help resolve which of the two outputs in Listings 3 and 4 is correct.
minor comments (5)
  1. [Section 5, first paragraph] The text says 'In all four test cases we find complete agreement with GiNaC', but the list that immediately precedes it contains six test sets (items 0 through 5). Please correct the count or reword to 'all test cases'.
  2. [Figures 5–7] The timing histograms are described as averages over five successive calls, but no run-to-run variation, error bars, or compiler optimisation flags are given. A brief statement of the timing methodology (for example, median versus mean, and number of repetitions) would make the performance claims easier to interpret.
  3. [Equation (17)] There is a typographical garble in the displayed integrand of Eq. (17), with a repeated or misplaced 'd w_{r+1}/w' fragment. Please correct the formula so that the integration measure and denominator are unambiguous.
  4. [Section 4.4] The proof that the Hölder convolution terminates is cited to [9] with only a short intuitive explanation. Since this termination property is essential for the algorithm, a more specific pointer to the relevant statement in [9] would help the reader verify the claim without reproducing the entire proof.
  5. [Throughout] There are several minor typographical issues, such as 'poly logarithms' and 't he' in the abstract and program summary, and an inconsistent number of items in the enumerated list in Section 5. A careful proofread is recommended.

Circularity Check

0 steps flagged · score 0.0 of 10

No circularity: handyG is an implementation of an external algorithm, benchmarked against an external library, with no fitted parameters or self-citation chain.

full rationale

The paper's central derivation is a Fortran implementation of the Vollinga-Weinzierl algorithm, attributed throughout to [9], a paper by different authors. The convergence criterion, shuffle-algebra removal of trailing zeros, pending-integral reductions, and Hölder convolution are all presented as restatements of [9] (Secs. 4.1-4.4), and the termination statement 'By carefully considering all possible behaviours under transformation z → 2(1 − z), [9] proved that this method indeed works' is an import of an external proof, not a self-citation chain. No parameter is fitted to benchmark data and then renamed a prediction: MPLdel, LiInf, and hCircle are user-controlled tolerances and acceleration parameters with stated defaults. The Section 5 validation compares handyG with GiNaC on physics test sets and on random weight lists; because GiNaC implements the same algorithm, this is an implementation-consistency check rather than an independent algorithmic check, but that is a validation limitation, not a circular derivation. The discrepancy between Listings 3 and 4 noted by a reader is an example-consistency and documentation concern, not a reduction of an output to its own input. Consequently, no circular step can be exhibited by quoting an equation in which a 'prediction' equals its fitted input or a load-bearing claim reduces to a self-citation; the circularity score is therefore 0.

Assumptions & free parameters 3 free parameters · 4 assumptions · 0 invented entities

The central claim does not depend on any new fitted constants or invented entities. The three tunable defaults (MPLdel, LiInf, hCircle) are computational settings, not parameters fitted to benchmark data. The main inherited assumption is the correctness and termination of the Vollinga-Weinzierl algorithm from [9].

free parameters (3)
  • MPLdel = 1e-15 (default)
    Series truncation threshold used in set_options (Section 3.2). Hand-chosen default; controls accuracy and speed.
  • LiInf = 1000 (default)
    Maximum number of terms in the classical polylogarithm expansion (Section 3.2). Hand-chosen cap; affects speed and accuracy.
  • hCircle = 1.1 (default)
    Size of the Hölder circle in Section 4.4. Default chosen as a trade-off between accuracy and speed; user-configurable.
assumptions (4)
  • standard math Convergence criterion for multiple polylogarithms: |x_1...x_k| < 1 and (w_1,x_1) != (1,1) (Eq. 11).
    Used in Section 2.2 to decide when the series representation (6) converges; taken from the cited literature [9].
  • standard math Shuffle algebra for generalised polylogarithms (Eq. 13).
    Used in Sections 2.3 and 4.1 for trailing-zero removal and in the reduction procedure.
  • domain assumption Hölder convolution equation (Eq. 31) and the termination proof of the convergence-acceleration iteration.
    Invoked in Section 4.4 to guarantee the acceleration terminates; the paper does not reproduce the proof and cites [9]. This is the weakest load-bearing premise.
  • standard math Scaling relation (Eq. 10) permits normalising any GPL to argument 1.
    Used in Section 2.1 and in the convergence-acceleration step.

how reviews work

0 comments
Cite this review

Pith. "Pith review of HandyG -- rapid numerical evaluation of generalised polylogarithms in Fortran." pith.science (2026). https://pith.science/paper/YL2X45BX

@misc{pith2026190901656,
  author       = {Pith},
  title        = {Pith review of: HandyG -- rapid numerical evaluation of generalised polylogarithms in Fortran},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/YL2X45BX}},
  note         = {Machine review of arXiv:1909.01656}
}
read the original 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 functions, 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.

Figures

Figures reproduced from arXiv: 1909.01656 by the authors.

Figure 5
Figure 5. Histogram of average evaluation time of the GPLs ne [PITH_FULL_IMAGE:figures/full_fig_p021_5.png] view at source ↗
Figure 6
Figure 6. Histogram of average evaluation time of the GPLs us [PITH_FULL_IMAGE:figures/full_fig_p021_6.png] view at source ↗
Figure 7
Figure 7. Average evaluation time of GPLs as a function of the [PITH_FULL_IMAGE:figures/full_fig_p022_7.png] view at source ↗

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 3 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. Angular phase-space integrals with four denominators through Mellin--Barnes

    hep-ph 2025-08 conditional novelty 6.0 of 10

    Four-denominator angular phase-space integrals are computed to O(epsilon^0) in dimensional regularization and expressed in GPLs for massless and massive momenta.

  2. Analytic Regression of Feynman Integrals from High-Precision Numerical Sampling

    hep-th 2025-07 conditional novelty 6.0 of 10

    Multi-point lattice reduction on high-precision numerical samples can recover exact analytic expressions for multi-loop Feynman integrals with rational coefficients.

  3. High-precision numerical evaluation of Lauricella functions

    hep-th 2025-02 conditional novelty 6.0 of 10

    A Mathematica package computes high-precision epsilon-expansions of Lauricella functions using one-dimensional Frobenius series and interpolation.

Reference graph

Works this paper leans on

22 extracted references · 5 canonical work pages · cited by 3 Pith papers

  1. [1]

    Remiddi and J

    E. Remiddi and J. A. M. Vermaseren, Harmonic polylogarithms, Int. J. Mod. Phys. A15 (2000) 725 [hep-ph/9905237]

  2. [2]

    A. B. Goncharov, Multiple polylogarithms, cyclotomy and modular complexes , Math. Res. Lett. 5 (1998) 497 [1105.2076]

  3. [3]

    Buehler and C

    S. Buehler and C. Duhr, CHAPLIN - Complex Harmonic Polylogarithms in Fortran, Comput. Phys. Commun. 185 (2014) 2703 [1106.5739]

  4. [4]

    Gehrmann and E

    T. Gehrmann and E. Remiddi, Numerical evaluation of harmonic polylogarithms , Comput. Phys. Commun. 141 (2001) 296 [hep-ph/0107173]

  5. [5]

    Huber and D

    T. Huber and D. Maitre, HypExp: A Mathematica package for expanding hypergeometric functions around integer-valued parameters, Comput. Phys. Commun. 175 (2006) 122 [hep-ph/0507094]

  6. [6]

    Maitre, HPL, a mathematica implementation of the harmonic polylogarit hms, Comput

    D. Maitre, HPL, a mathematica implementation of the harmonic polylogarit hms, Comput. Phys. Commun. 174 (2006) 222 [hep-ph/0507152]

  7. [7]

    Numerical Implementation of Harmonic Polylogarithms to Weight w = 8

    J. Ablinger, J. Blümlein, M. Round and C. Schneider, Numerical Implementation of Harmonic Polylogarithms to Weight /u1D464 = 8, Comput. Phys. Commun. 240 (2019) 189 [1809.07084]

  8. [8]

    Gehrmann and E

    T. Gehrmann and E. Remiddi, Numerical evaluation of two-dimensional harmonic polylogarithms, Comput. Phys. Commun. 144 (2002) 200 [hep-ph/0111255]

Show all 22 references
  1. [9]

    Vollinga and S

    J. Vollinga and S. Weinzierl, Numerical evaluation of multiple polylogarithms , Comput. Phys. Commun. 167 (2005) 177 [hep-ph/0410259]

  2. [10]

    Frellesvig, D

    H. Frellesvig, D. Tommasini and C. Wever, On the reduction of generalized polylogarithms to Li/u1D45B and Li2,2 and on the evaluation thereof , JHEP 03 (2016) 189 [1601.02649]

  3. [11]

    Frellesvig, Generalized Polylogarithms in Maple,1806.02883

    H. Frellesvig, Generalized Polylogarithms in Maple,1806.02883

  4. [12]

    C. Duhr, Mathematical aspects of scattering amplitudes , in Proceedings, Theoretical Advanced Study Institute in Elementary Partic le Physics: Journeys Through the Precision Frontier: Amplitudes for Colliders ( TASI 2014): Boulder, Colorado, June 2-27, 2014 , pp. 419–476, 2015...

  5. [13]

    Duhr and F

    C. Duhr and F. Dulat, PolyLogTools - Polylogs for the masses,1904.07279

  6. [14]

    Hahn, The High-Energy Physicist’s Guide to MathLink , Comput

    T. Hahn, The High-Energy Physicist’s Guide to MathLink , Comput. Phys. Commun. 183 (2012) 460 [1107.4379]. 23

  7. [15]

    J. M. Borwein, D. M. Bradley, D. J. Broadhurst and P. Liso nek, Special values of multiple polylogarithms, Trans. Am. Math. Soc. 353 (2001) 907 [math/9910045]

  8. [16]

    Engel, C

    T. Engel, C. Gnendiger, A. Signer and Y. Ulrich, Small-mass effects in heavy-to-light form factors, JHEP 02 (2018) 118 [1811.06461]

  9. [17]

    Chen, Two-Loop master integrals for heavy-to-light form factors of two different massive fermions , JHEP 02 (2018) 066 [1801.01033]

    L.-B. Chen, Two-Loop master integrals for heavy-to-light form factors of two different massive fermions , JHEP 02 (2018) 066 [1801.01033]

  10. [18]

    Mastrolia, M

    P. Mastrolia, M. Passera, A. Primo and U. Schubert, Master integrals for the NNLO virtual corrections to /u1D707/u1D452 scattering in QED: the planar graphs , JHEP 11 (2017) 198 [1709.07435]

  11. [19]

    Di Vita, S

    S. Di Vita, S. Laporta, P. Mastrolia, A. Primo and U. Schu bert, Master integrals for the NNLO virtual corrections to /u1D707/u1D452 scattering in QED: the non-planar graphs , JHEP 09 (2018) 016 [1806.08241]

  12. [20]

    Czakon, J

    M. Czakon, J. Gluza and T. Riemann, Master integrals for massive two-loop bhabha scattering in QED , Phys. Rev. D71 (2005) 073009 [hep-ph/0412164]

  13. [21]

    J. M. Henn and V . A. Smirnov, Analytic results for two-loop master integrals for Bhabha scattering I, JHEP 11 (2013) 041 [1307.4083]

  14. [22]

    Bauer, C

    C. Bauer, C. Dams, A. Frink, V . Kisil, R. Kreckel, V . Mage rya, A. Sheplyakov, M. Vala and J. Vollinga, GiNaC, an open framework for symbolic computation within the C++ programming language, June, 2019, https://ginac.de/tutorial/. 24

Pith tools

Reviewed August 14, 2026 · model on record in the stance chip above.