Évaluation efficace de fonctions numériques : Outils et exemples
Auteur / Autrice : | Sylvain Chevillard |
Direction : | Jean-Michel Muller |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2009 |
Etablissement(s) : | Lyon, École normale supérieure (sciences) |
Ecole(s) doctorale(s) : | École doctorale InfoMaths (Lyon ; 2009-....) |
Mots clés
Résumé
Les systèmes informatiques permettent d’évaluer des fonctions numériques telles que f = exp, sin, arccos, etc. Cette thèse s’intéresse au processus d’implémentation de ces fonctions. Suivant la cible visée (logiciel ou matériel, faible ou grande précision), les problèmes qui se posent sont différents, mais l’objectif est toujours d’obtenir l’implémentation la plus efficace possible. Nous étudions d’abord, à travers un exemple, les problèmes qui se posent dans le cas où la précision est arbitraire. Lorsque, à l’inverse, la précision est connue d’avance, la fonction f est souvent remplacée par un polynôme d’approximation p. Un tel polynôme peut ensuite être évalué très efficacement en machine. En pratique, les coefficients de p doivent être représentables sur un nombre fini donné de bits. Nous proposons un ensemble d’algorithmes (certains sont heuristiques, d’autres rigoureux) pour trouver de très bons polynômes d’approximation répondant à cette contrainte. Ces résultats s’étendent au cas où la fonction d’approximation est une fraction rationnelle. Une fois p trouvé, il faut prouver que l’erreur |p − f| n’excède pas un certain seuil. La nature particulière de la fonction p−f (soustraction de deux fonctions très proches) rend cette propriété difficile à prouver rigoureusement. Nous proposons un algorithme capable de contourner cette difficulté. Tous ces algorithmes ont été intégrés au logiciel Sollya, développé pendant la thèse. À l’origine conçu pour faciliter l’implémentation de fonctions, ce logiciel s’adresse à présent à toute personne souhaitant faire des calculs numériques dans un cadre complètement fiable.