Interpolation of dense and sparse rational functions and other improvements in FireFly

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 univari...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computer physics communications 2021-07, Vol.264, p.107968, Article 107968
Hauptverfasser: Klappert, Jonas, Klein, Sven Yannick, Lange, Fabian
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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. Program title:FireFly CPC Library link to program files:https://doi.org/10.17632/nzgxdwwt8k.2 Code Ocean capsule:https://codeocean.com/capsule/4860843/tree/v1 Licensing provisions: GNU General Public License 3 Programming 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?: Yes Reasons for the new version: Significant performance improvements and new features Summary 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]. References: [1] E. Kaltofen, W.-s. Lee, J. Symb. Comp. 36 (2003) 365–400, . [2] M. Ben-Or, P. Tiwari, Proc. ACM Symp. Theory Comp. 20 (1988) 301–309, . [3]
ISSN:0010-4655
1879-2944
DOI:10.1016/j.cpc.2021.107968