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...
Gespeichert in:
Veröffentlicht in: | Computer physics communications 2021-07, Vol.264, p.107968, Article 107968 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
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 |