Package-X 2.0: A Mathematica package for the analytic calculation of one-loop integrals

Package-X 2.0: A Mathematica package for the analytic calculation of one-loop integrals

Hiren H. Patel hiren.patel@mpi-hd.mpg.de Particle and Astro-Particle Physics Division
Max-Planck Institut fuer Kernphysik (MPIK)
Saupfercheckweg 1, 69117 Heidelberg, Germany
Abstract

This article summarizes new features and enhancements of the first major update of Package-X. Package-X 2.0 can now generate analytic expressions for arbitrarily high rank dimensionally regulated tensor integrals with up to four distinct propagators, each with arbitrary integer weight, near an arbitrary even number of spacetime dimensions, giving UV divergent, IR divergent, and finite parts at (almost) any real-valued kinematic point. Additionally, it can generate multivariable Taylor series expansions of these integrals around any non-singular kinematic point to arbitrary order. All special functions and abbreviations output by Package-X 2.0 supports Mathematica’s arbitrary precision evaluation capabilities to deal with issues of numerical stability. Finally, tensor algebraic routines of Package-X have been polished and extended to support open fermion chains both on and off shell. The documentation (equivalent to over 100 printed pages) is accessed through Mathematica’s Wolfram Documentation Center and contains information on all Package-X symbols, with over 300 basic usage examples, 3 project-scale tutorials, and instructions on linking to FeynCalc and LoopTools.

Program summary
Program title: Package-X
Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland, or http://packagex.hepforge.org
Licensing provisions: Standard CPC license, http://cpc.cs.qub.ac.uk/licence/licence.html
Programming language: Mathematica (Wolfram Language)
Operating systems: Windows, Mac OS X, Linux (or any system supporting Mathematica 8.0 or higher)
Journal reference of previous version: H. H. Patel, Comput. Phys. Commun 197, 276 (2015)
Does the new version supersede the previous version?: Yes
Summary of revisions: Extension to four point one-loop integrals with higher powers of denominator factors, separate extraction of UV and IR divergent parts, testing for power IR divergences, construction of Taylor series expansions of one-loop integrals, numerical evaluation with arbitrary precision arithmetic, manipulation of fermion chains, improved tensor algebraic routines, and much expanded documentation.
RAM required for execution: 10 MB, depending on size of computation
Vectorised/parallelized?: No
Nature of problem: Analytic calculation of one-loop integrals in relativistic quantum field theory.
Solution method: Passarino-Veltman reduction formula, Denner-Dittmaier reduction formulae, and additional algorithms described in the manuscript.
Restrictions: One-loop integrals are limited to those involving no more than four denominator factors.
Running Time: 5ms to 10s for integrals typically occurring in practical computations; longer for higher rank tensor integrals.

I Introduction

Package-X is a Mathematica package with the principal purpose of generating analytic results for dimensionally regulated one-loop rank- tensor integrals of the form

(1)

with up to denominator factors, each with integer weights , for arbitrary configurations of external momenta and real-valued internal masses .

While many packages are publicly available to numerically evaluate one loop integrals van Oldenborgh (1991); Hahn and Perez-Victoria (1999); Carrazza et al. (2016); van Hameren (2011); Cullen et al. (2011); Denner et al. (2016); Arbuzov et al. (2016); *Andonov:2004hi with the aim of automatizing the calculation of cross sections with full kinematic dependence, none exist to the author’s knowledge that provide complete analytic expressions. Package-X serves to fill this gap with the aim of obtaining results for quantum field theory calculations where compact analytic expressions exist (e.g. pole masses, electroweak oblique parameters, particle moments, decay rates, cross sections at threshold, counterterms, Wilson coefficients, etc). The application files along with an introductory tutorial are hosted at the Hepforge Buckley et al. (2006) project page http://packagex.hepforge.org.

The original release of Package-X in 2015 suffered from several limitations, which are listed in Section IX of the accompanying publication Patel (2015). In addition to addressing all these limitations, Package-X 2.0 features many new features and enhancements described below. Familiarity with the use of the package is assumed. Furthermore, since the underlying algorithms and program structure is already detailed at length in the original publication, only a brief description of updates to Package-X is provided in the sections to follow. The interested reader is encouraged to consult the original Package-X publication and the references in the text below for details.

The most prominent features of version 2.0 that are described below are the ability to compute one-loop integrals with four distinct denominator factors (Sections II, III and IV), construct Taylor series expansions of one-loop integrals (Section V), and compute integrals with open fermion lines (Section VI). Finally, a listing of changes and new functions/symbols are collected in the Appendices.

Ii Updates to LoopIntegrate

The evaluation of a one-loop integral is initiated with and performs its covariant tensor decomposition in terms of Passarino-Veltman coefficient functions. As of version 2.0, supports integrands with up to four distinct propagator factors, each with arbitrary integer powers . The tensor covariant decomposition follows the basic property of Lorentz covariance of dimensionally regulated loop integrals Passarino and Veltman (1979), and generates an expression in terms of coefficient functions , , , as described in section III of Patel (2015).

In the original version of Package-X, the syntax of was such that the user had to put the integral in a form such that in (1). This meant that the user either had to strategically route the momenta through the one-loop diagram so that at least one denominator factor had no external momenta flowing thorough it, or had to shift the integration variable before using to evaluate the integral. As of version 2.0, accepts a new syntax accommodating nonzero which means that any momentum routing is possible.

For integrals involving denominator factors with linearly dependent momenta, it is standard practice to perform a partial fraction expansion of the denominator factors before making a covariant decomposition as it leads to a sum of integrals with fewer number of denominator factors. As of version 2.0, has an option that toggles whether to expand linearly dependent denominator factors into partial fractions. The algorithms are based on Feng (2012), but are specifically tailored to efficiently process one-loop integrals.

Additionally, if the numerator of the loop integral contains dot products involving the loop momentum ( or ), it is profitable to write them as differences of propagator factors so that they may be cancelled against the denominator. This procedure simultanesouly lowers the rank of tensor integrals and reduces the number of denominator factors. As of version 2.0, has an option that controls whether to expand and cancel these factors before making a covariant decomposition. This, along with expanding in partial fractions, generally leads to substantially increased performance and quality of the output of .

Finally, in version 2.0, can now perform the covariant decomposition for integrands involving , , and objects, enabling it to process integrands with open fermion lines. This capability is described in Section VI below.

Iii Updates to LoopRefine

After the covariant decomposition of a loop integral is carried out with and kinematic conditions are supplied, the final step is to apply , which replaces the coefficient functions with explicit analytic expressions.

In version 2.0, can convert four-point coefficient functions to elementary functions. In the most general case, the standard Passarino-Veltman reduction Passarino and Veltman (1979) is used. To handle cases with vanishing Grammian determinant, the algorithms described in Denner and Dittmaier (2006) are used, and are direct generalizations of Cases 1, 3, 5 and 6 appearing in section IV C of Patel (2015) to four propagator factors. These algorithms are not applicable if the determinant of the modified Cayley matrix vanishes. For further (but still incomplete) coverage, two new reduction formulae, valid when certain elements of the adjugate Grammian matrix vanish, were derived by explicitly integrating over Feynman parameters. When appropriate, Package-X applies these formulae. However, further research is needed to provide complete kinematic coverage.

In the original release of Package-X, only integrals with unit weight were supported (). As of version 2.0, can convert integrals of arbitrary integer weight to analytic expressions. Weighted loop integrals can arise when Feynman diagrams with massless gauge bosons in general covariant gauge are considered, or when the small momentum approximation is applied at the level of the integrand. They are also indispensable for the construction of series expansions as described in Section V below. Conventionally, integration by parts methods Chetyrkin and Tkachov (1981) together with recurrence relations in dimensions Davydychev (1991); Tarasov (1996) are used to reduce these functions. However, Package-X uses a slightly different method derived as follows: by comparing Feynman parameter integral representations, the weighted coefficient functions can be related to linear combinations of unweighted coefficient functions with fewer number of index pairs. Then one of the existing reduction formulae can be used to convert them to analytic expressions. However, weighted scalar functions in this scheme are related to coefficient functions with formally negative number of pairs. But since their Feynman parameter integral representations imply that they are analytic functions of “number of pairs”, a reduction based on Cayley determinants presented in Section 5.3 of Denner and Dittmaier (2006) is used to raise the number of index pairs, thereby making it possible to convert them to known basis functions.

Similar to weighted coefficient functions, coefficient functions arising from the decomposition of integrals near an even number of spacetime dimensions other than 4 can also be related to those defined near 4 with a different number of index pairs by equating Feynman parameter integral representations. Therefore, it is possible to convert these functions to analytic expressions by using the same strategy.

In addition to the aforementioned major changes, has also received a number of minor features. Among them is the ability for to test for the presence of power infrared divergences in loop integrals in some cases. These integrals have the feature that their Feynman parameter integrals do not converge for genuinely small dimensional regulator parameter . Their presence is detected in Package-X by retaining, in all basis functions that feature the power divergence, the term as a finite quantity which acts like a mass regulator. Then, upon converting its entire input to analytic expressions, checks whether the limit in the total is well-behaved. This accommodates the possibility that the power infrared divergence cancels among various terms in the input expression. Furthermore, takes an additional option , which when set to , generates a result with the parameter analytically continued to large and negative values, rending power infrared divergences formally convergent.

Finally can restrict its computation to just the infrared or ultraviolet divergent parts by appropriately setting the option to or , respectively. In addition to providing a quick way to obtain the pole parts of loop integrals, this new feature also enables one to identify their origin as either ultraviolet or infrared. The calculation of the ultraviolet divergent part is fast owing to the existence of an iterative formula applicable to an arbitrary coefficient function Sulyok (2006). The calculation of the IR divergent part is sped up by setting to zero all coefficient functions with at least one pair of indices since they are known to be infrared finite Denner and Dittmaier (2006).

Iv The scalar function: analytic expressions and numerical implementation

The reduction algorithm for converting coefficient -functions, , in the case of non-vanishing Grammian determinant ends with the UV-finite scalar function . To complete the computation of the one-loop integral, replaces this scalar function.

In order for to faithfully display the poles in the final output, all IR divergent cases are substituted. Expressions with massive internal lines are drawn from Ellis and Zanderighi (2008) and Denner and Dittmaier (2011), and those with massless internal lines are adapted from Duplancic and Nizic (2001). Care has been taken to ensure that all analytic expressions are consistent with the prescription so that their numerical evaluation yields the correct sign for their imaginary parts.

The situation for the IR finite four-point functions is unlike the case of the three- and lower- point scalar functions in that no reasonably compact analytic expressions are known unless the Grammian determinant vanishes. For these cases, simply outputs , with the function itself implemented numerically. The principle behind the numerical implementation of the scalar four-point function follows that of the three-point function outlined in Section V of Patel (2015). In the region of positive modified Cayley determinant (which covers the physical region), the imaginary part is obtained by applying Cutkosky’s rule, and requires the evaluation of a single logarithm for each channel above normal threshold. The real part is based on a representation Nierste (1991); Denner et al. (1991) in terms of sixteen numerically evaluated dilogarithm functions Osácar et al. (1995). Outside this region, the separation of the real and imaginary parts is not used since the application of Cutkosky’s rule is more complicated. For rapid numerical evaluation, the code for is compiled to the Wolfram Virtual Machine.

Additionally, as of version 2.0, every special numerical function available in Package-X (including ) is written in terms of native Wolfram Kernel functions so that the user may take advantage of Mathematica’s arbitrary precision evaluation capabilities. This new feature of Package-X allows one to obtain numerically stable results for kinematic configurations that would otherwise lead to severe loss of precision.

If an analytic expression is desired, can be applied to , which replaces it with the corresponding analytic formula from Package-X’s library. The simpler expressions are adapted from Davydychev (1993) and Duplancic and Nizic (2002), and the most general and complicated cases are derived from Denner and Dittmaier (2011). In order to minimize the size of the output, the analytic expressions are given compactly as s over four Denner-Beenakker continued dilogarithms defined originally in Beenakker and Denner (1990) and implemented in Package-X as .

V LoopRefineSeries: Taylor series expansions of loop integrals

Calculations within the standard model and its extensions usually involves integrals with widely separated scales. In these cases, an exact analytic representation of these integrals are too verbose to be of any value, and their numeric evaluation usually suffers from loss of precision due to large numerical cancellations. As a result, one usually desires an approximate expression obtained from the first few terms of its series expansion.

Package-X 2.0 provides a way to obtain Taylor series expansions of loop integrals with a new routine , which is to be used in place of . Internally, the algorithm for constructing a series is as follows:

  1. Differentiate the Passarino-Veltman coefficient functions as needed to generate the necessary terms in the Taylor expansion.

  2. Express the differentiated coefficient functions in terms of undifferentiated ones with fewer number of index pairs.

  3. Apply the appropriate reduction formula on the functions to convert the expression to analytic form.

In step 2, the conventional practice is to relate the differentiated coefficient functions to those defined in a lower number of spacetime dimensions Tarasov (1996). But as described in Section III, it is more convenient to use the standard coefficient functions with fewer pairs of indices, and apply the reduction formula based on Cayley determinants in step 3 for negative pairs. This method of constructing series expansions easily generalizes to multiple series expansions, and to arbitrarily high order, constrained only by memory and computation time.

A major limitation of this method is that it is unable to construct expansions around Landau singularities because the necessary derivatives at those points usually do not exist. Therefore, it is not possible to construct small mass, threshold, or other asymptotic expansions with alone. While one can still circumvent this problem in limited circumstances by applying Mathematica’s function on the output of , a fully automated routine to construct such expansions is absent.

Vi Support for open fermion lines

Although the primary task of Package-X is to assist in the analytic calculation of one-loop integrals of the form given in (1), the kinds of integrals one encounters when calculating in physical theories are those involving fermions. The original release of Package-X included the function to calculate traces of Dirac matrices, and satisfactorily handled Feynman integrals involving a closed fermion loop. However, no direct support for evaluating integrals with open fermion lines was provided. In order to evaluate these integrals, the integrals had to be projected onto form factors one at a time. For calculations involving several Feynman integrals, projecting onto separate form factors for each one is laborious. In order to alleviate this problem, version 2.0 now provides direct support for open fermion lines.

The object represents a product of Dirac matrices, arising from an off shell fermion line in a Feynman diagram. Additionally, two new algebraic objects are introduced in version 2.0: represents a product of Dirac matrices sandwiched on either side by on shell spinors, and represents the direct product of objects. These new objects can be used for integrals involving one or more open fermion lines in a given diagram. They are algebraically manipulated by and to bring them to canonical form by following a series of steps:

  1. Expand the product of Dirac matrices by distributing multiplication over addition.

  2. Relate products of gamma matrices with repeated Lorentz indices (such as ) to products with fewer gamma matrices.

  3. Apply the Dirac algebra bringing to either end of the fermion line in order to apply the Dirac equation.

  4. Apply the Sirlin identities Sirlin (1981) to doubly-contracted direct products of Dirac matrices ( only).

  5. Resolve remaining products of Dirac matrices into SVTAP basis Chisholm (1971).

  6. Apply the Gordon identities Gordon (1928) to express the vector and axial-vector convective transition currents in terms of Dirac/Pauli and Anapole/EDM transition currents.

The on shell relations in step 3 and 5 are not used for manipulating objects since they are not applicable. Additionally, when manipulating objects, the entire algorithm is repeated until the identities can be no longer applied. Note that since is implemented naively in dimensional regularization, any algebraic manipulations involving is valid in exactly 4 dimensions only. Likewise, the identities used in steps 4 and 5 are valid in exactly 4 dimensions. Therefore, care should be taken to ensure that the integrals are either manifestly finite, or have been properly regulated to ensure correctness of the finite part of the result.

Vii Expansion of the Documentation

Included with the package software is a set of documentation files accessible from within Mathematica. The documentation contains information for all front end functions and available options in Package-X. In version 2.0, the documentation is expanded to include more details and usage examples for greater clarity. Additionally, three project-scale tutorials are included illustrating how Package-X may be used in research, briefly summarized below:

  • Ward Identities and in Dimensional Regularization – In Package-X, is naively defined to anti-commute with all other gamma matrices, and may lead to incorrect results for logarithmically divergent integrals. This tutorial illustrates, with the Green function as an example, how chiral Ward identities can be enforced using Alder’s method Jegerlehner (2001); Adler (1970).

  • Extracting Form Factors from the amplitude – This tutorial explains the use of in detail, while also explaining how Package-X can be used to verify the decoupling theorem, gauge invariance, and Ward identities.

  • Scattering of Light by Light – This tutorial explains how to compute the light-by-light scattering matrix element at leading order, and illustrates the capabilities and limitations of covariant methods used in Package-X.

The documentation also contains instructions on linking Package-X to two other publicly available packages: FeynCalc Mertig et al. (1991); Shtabovenko et al. (2016) (through FeynHelpers Shtabovenko (2016)) and to LoopTools Hahn and Perez-Victoria (1999).

Viii Summary and avenues for further development

In this paper, new features of Package-X in the most recent major release is described. Version 2.0 significantly expands the scope of the software by supporting four point integrals, Taylor expansions, and open fermion lines. However, there are still many limitations of Package-X which continue to guide its development summarized below:

  1. Currently, Package-X is unable to automatically construct asymptotic expansions of loop integrals around Landau singularities. Since such expansions are very relevant in quantum field theory calculations (e.g. for mass regularization, threshold expansions, eikonal expansions), an update including this feature is desirable.

  2. Additionally, the reduction algorithms for the four-point functions do not completely cover the case when the Cayley determinant vanishes. These cases become physically relevant when the Grammian determinant also vanishes, since they can correspond to IR divergent scattering amplitudes at physical threshold. It would be ideal to provide complete kinematic coverage for these singular cases as well.

  3. As Package-X is applied to larger problems, manual input of all integrals required for a specific calculation becomes increasingly tedious and prone to input errors. It would be desirable to have a way, e.g. by linking to the FeynArts package Hahn (2001), to generate all the needed integrals in Package-X automatically.

  4. For large problems, it may not be possible to simplify the integrals to obtain compact analytic expressions. Although not its primary purpose, it would be convenient to be able to directly evaluate the coefficient functions numerically, without needing their analytic expressions. While linking to LoopTools Hahn and Perez-Victoria (1999) is described in the documentation, linking to more modern packages like Collier Denner et al. (2016) is desirable.

  5. Package-X is limited to the calculation of Lorentz covariant Feynman integrals. However, non-covariant integrals are also frequently encountered, for example, when one is working in Coulomb or Axial gauges, or within effective field theories like NRQED, HQET and SCET. The ability to automatically obtain analytic results for these cases would be convenient.

Acknowledgements.
I would like to thank the numerous testers who participated during the alpha and beta phases of development. In particular, I thank Michael Duerr, Federica Giacchino, Matthew Kirk, Fatima Machado, Pedro Malta, Kevin Max, Johannes Welter, and Yibo Yang for checking results, exposing bugs, and reporting typos in the program. In addition I thank Sebastian Ohmer and Moritz Platscher for proof-reading the tutorial, and Jiang-Hao Yu for proof-reading this manuscript. Special thanks goes to Josh Ellis, Julian Heeck, and Tanja Geib for providing truly extensive feedback that helped made Package-X better. I am especially grateful to Vladyslav Shtabovenko, the lead developer of FeynCalc, for stimulating discussions while Package-X was being developed, and for providing helpful information about FeynHelpers. I also thank Ansgar Denner and Stefan Dittmaier for clarifying discussions regarding their work, and I am indebted to Ulrich Nierste for providing me his Master’s thesis and explaining his method of analytic continuation of the scalar four-point function in detail. Finally, I thank Jakub Kuczmarski, a member of the Mathematica StackExchange community, for answering countless questions about Wolfram Workbench and his add-on WWBCommon, which helped to make the built-in documentation possible.

Appendix A Convention and package structure changes between versions 1.0 and 2.0

  • , , , and are now named , , , and , respectively, consistent with Mathematica’s naming convention of capitalizing the first letter of pre-defined symbols. Dimensional regularization ’t Hooft scale is renamed to ([\Micro]).

  • now normalizes its integration measure so that is factored out instead of . This was done to prepare Package-X for computing two loop integrals in the future. With respect to version 1.0, this change in version 2.0 only modifies the output of exhibiting poles, arising from overlapping soft and collinear IR divergences, by an amount proportional to to the finite part.

  • The order of arguments of Passarino-Veltman functions have been changed to match that of other popular packages such as FeynCalc, LoopTools, Collier, etc, including other authors in the literature. The relations are


    and

  • Contexts , , are deprecated; all package symbols now belong to a common context .

  • Auxiliary Passarino-Veltman function is now obsolete, and is covered by by higher weight functions.

  • Off shell fermion self energy form factor has been redefined in without a factor of in front.

Appendix B New functions/symbols introduced in version 2.0


  • generates a (multiple) Taylor series expansion of one loop tensor integrals.


  • represents the Passarino-Veltman tensor coefficient function , and substituted with an analytic expression by

  • , , ,
    gives the finite parts of the scalar four point function for real external invariants and real positive masses, as classified in Ellis and Zanderighi (2008).

  • and
    expands out scalar functions , and related functions in terms of analytic expressions.


  • gives the Kibble kinematic polynomial Kibble (1960) (the Grammian determinant associated with four particle processes).


  • gives the Beenakker-Denner continued dilogarithm function Beenakker and Denner (1990).


  • gives a list of replacement rules expressing Lorentz scalar products in terms of Mandelstam invariants and masses.


  • allows declaring symbols as being Lorentz scalars.

  • and
    represents products of Dirac matrices sandwiched between on shell and spinors, and their direct products.


  • expands out and performs the Dirac algebra on , and objects to put them in canonical SVTAP form.

References

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
219125
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description