HepLib is a C++ Library for computations in High Energy Physics, it builds on top of other well-established libraries or programs, including GiNaC, Fermat, Form, Fire, etc., its first version has been released in Comput. Phys. Commun. 265 (2021) 107982. Here we provide a minor upgraded version with parts of obligated aspects removed and many new features added, the main feature in this new version is to use Flint for the simplification on multi-variate polynomial, so one can replace the process-based parallelism by the thread-based parallelism for the related polynomial evaluations to achieve a higher performance. New version program summaryProgram title:HepLib 1.1CPC Library link to program files:https://doi.org/10.17632/jspjxy3z66.2Developer's repository link:https://github.com/HepLib/srcLicensing provisions: : GPLv3Programming language:C++Journal reference of previous version: Comput. Phys. Commun. 265 (2021) 107982Does the new version supersede the previous version?: YesExternal libraries and programs: : GiNaC [2], Qgraf [3], Flint [4], Qhull [5], Form [6], Fermat [7], Fire [8]Nature of problem: There are lots of independent packages or programs in high energy physics, which are developed in different programming languages, here we provide an integrated interface in C++ language, to generate Feynman diagrams/amplitudes, perform algebraic simplifications on Dirac/Color matrixes and reduce scalar integrals to master integrals. The evaluation of master integrals is the core part for the high-order calculations, one has to resolve ultraviolet/infrared divergence within dimensional regularization and the singularities inside the integration domain while performing multiple dimensional numerical integrations.Solution method:HepLib uses Qgraf to generate the Feynman diagrams/aptitudes, Form to perform the related computations on Dirac/Color matrix, Fire for the IBP reduction. A C++ implementation of sector decomposition method is used to extract both ultraviolet and infrared singularity of the integral, the contour deformation is adopted to avoid the singularity inside the integration domain, a parallelized numerical integration is chosen to achieve high efficiency or performance.Reasons for the new version: Fix bugs from GiNaC and implement new features.Summary of revisions: First, we have improved the installation procedure, now one can install the whole package with a single script install.sh, and furthermore one can install all libraries into a distinct directory, so the libraries will not affect the others which are installed on the user's computer. We have upgraded the GiNaC to the latest version with a few bugs fixed in the official site and removed the dependence on the libraries MinUits [9] and Cuba [10], which are used in performing sector decomposition in the previous version. To get high performance on the evaluation of multi-variate polynomials, we introduce Flint in the new version, and one can convert the expression from GiNaC to Flint, and vice versa. Finally, we also made adaptations to the codes and examples to match the new version.
Read full abstract