@PhdThesis{ChevillardPhDThesis, author = {Chevillard, Sylvain}, title = {{Évaluation efficace de fonctions numériques -- Outils et exemples}}, school = {École normale supérieure de Lyon -- Université de Lyon}, year = {2009}, address = {46, allée d'Italie, 69~364 Lyon Cedex~07}, abstract = {With computers, it is possible to evaluate some numerical functions such as $f=\exp$, $\sin$, $\arccos$, etc. The purpose of this thesis is to study how these functions can be implemented. Depending on the target architecture (software or hardware, small or high accuracy required), different problems must be addressed, but the final goal is always to obtain eventually an implementation as efficient as possible. We first study with an example the problems that arise in the case when the precision is arbitrary. When, on the contrary, the precision is known in advance, the function $f$ is often replaced by an approximation polynomial $p$. Such a polynomial can then be evaluated very efficiently. In practice, the coefficients of $p$ must be representable on a given finite number of bits. We propose several algorithms (some of them are heuristic and others are rigorous) for finding very good approximation polynomials satisfying this constraint. Our results apply also in the case when the approximant is a rational fraction. Once $p$ has been found, one must prove that the error $|p-f|$ is not greater than a given bound. The particular form of the function $p-f$ (subtraction between two very close functions) makes this property hard to prove rigorously. We propose an algorithm for overcoming this difficulty. All these algorithms have been integrated into a software tool called Sollya, developed during the thesis. In the beginning, it was created for making the implementation of functions easier. Now, it may be interesting for anyone who needs to perform numerical computations in a safe environment. }, keywords = {polynomial approximation, floating-point arithmetic, numerical functions, rounding errors, supremum norm, euclidean lattices, software library, arbitrary precision.} }