Abstract

We present the main improvements and new features in version 2.0 of the open-source C++ library FireFly for the interpolation of rational functions. This includes algorithmic improvements, e.g. a hybrid algorithm for dense and sparse rational functions and an algorithm to identify and remove univariate factors. The new version is applied to a Feynman-integral reduction to showcase the runtime improvements achieved. Moreover, FireFly now supports parallelization with MPI and offers new tools like a parser for expressions or an executable for the insertion of replacement tables. New version program summaryProgram title:FireFlyCPC Library link to program files:https://doi.org/10.17632/nzgxdwwt8k.2Code Ocean capsule:https://codeocean.com/capsule/4860843/tree/v1Licensing provisions: GNU General Public License 3Programming language:C++Journal reference of previous version: J. Klappert, F. Lange, Comp. Phys. Commun. 247 (2020) 106951, , arXiv:1904.00009.Does the new version supersede the previous version?: YesReasons for the new version: Significant performance improvements and new featuresSummary of revisions: We implemented new algorithms: The racing algorithm of Ref.[1] for univariate polynomials, a dense and sparse hybrid algorithm for rational functions, and an algorithm to search for univariate factors which can be removed in the actual interpolation. In addition, we changed the interface to allow for an overhead reduction inspired by vectorization and implemented the parallelization with MPI. Moreover, we include some new tools, e.g. a parser for expressions and an executable for the insertion of replacement tables.Nature of problem: The interpolation of an unknown rational function, called black box, from only its evaluations can be used in many physical contexts where algebraic calculations fail due to memory and runtime restrictions.Solution method: The black-box function is evaluated at different points over a finite field. These points are then used by interpolation algorithms[1-4] to obtain the analytic form of the function. The elements of a finite field are promoted to Q using rational reconstruction algorithms[5,6].Additional comments including restrictions and unusual features: For better performance, we advise to use FLINT[7] for the finite-field arithmetics and an improved memory allocator like jemalloc[8].

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call