Semi-Automatic Floating-Point Implementation of Special Functions - Archive ouverte HAL Access content directly
Conference Papers Year : 2015

Semi-Automatic Floating-Point Implementation of Special Functions


This work introduces an approach to the computer-assisted implementation of mathematical functions geared toward special functions such as those occurring in mathematical physics. The general idea is to start with an exact symbolic representation of a function and automate as much as possible of the process of implementing it. In order to deal with a large class of special functions, our symbolic representation is an implicit one: the input is a linear differential equation with polynomial coefficients along with initial values. The output is a C program to evaluate the solution of the equation using domain splitting, argument reduction and polynomial approximations in double-precision arithmetic, in the usual style of mathematical libraries. Our generation method combines symbolic-numeric manipulations of linear ODEs with interval-based tools for the floating-point implementation of "black-box" functions. We describe a prototype code generator that can automatically produce implementations on moderately large intervals. Implementations on the whole real line are possible in some cases but require manual tool setup and code integration. Due to this limitation and as some heuristics remain, we refer to our method as "semi-automatic" at this stage. Along with other examples, we present an implementation of the Voigt profile with fixed parameters that may be of independent interest.
Fichier principal
Vignette du fichier
frankenstein.pdf (1.16 Mo) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-01137953 , version 1 (02-04-2015)




Christoph Lauter, Marc Mezzarobba. Semi-Automatic Floating-Point Implementation of Special Functions. IEEE 22nd Symposium on Computer Arithmetic, ARITH 22, Jun 2015, Lyon, France. pp.58-65, ⟨10.1109/ARITH.2015.12⟩. ⟨hal-01137953⟩
316 View
321 Download



Gmail Mastodon Facebook X LinkedIn More