Thèse soutenue

Evaluation des fonctions élémentaires : algorithmes et implémentations
FR
Accès à la thèse
Auteur / Autrice : Laurent Imbert
Direction : Jean-Claude Bajard
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2000
Etablissement(s) : Aix-Marseille 1

Résumé

FR

Les fonctions elementaires (fonctions trigonometriques, exponentielle, logarithme, etc) sont couramment utilisees dans les applications scientifiques. Evaluer ces fonctions rapidement, avec le maximum de precision et a moindre cout materiel constitue l'un des objectifs de l'arithmetique des ordinateurs. Le but de cette these est la conception d'algorithmes efficaces pour le calcul de ces fonctions. Nous etudions differents systemes de representation des nombres en mettant en avant les avantages et les inconvenients de chacun au niveau des operations arithmetiques, et nous presentons plusieurs methodes permettant d'effectuer des divisions, de calculer des racines carrees, et d'evaluer les principales fonctions elementaires reelles et complexes, de la tres petite precision - quelques chiffres decimaux - a la multiprecision - plusieurs millions de bits. Nous proposons quatre etudes visant a ameliorer l'arithmetique existante en exploitant au mieux les caracteristiques techniques des microprocesseurs actuels. Nous presentons plusieurs variantes permettant d'accelerer l'algorithme de division et de calcul de racines carrees de goldschmidt. Notre etude suppose l'utilisation de tables et d'un multiplieur pipeline. L'algorithme bkm permet d'evaluer les fonctions elementaires au niveau materiel. Il est bien adapte a l'utilisation de systemes redondant de representation des nombres. Nous simplifions un des modes de calcul et presentons une adaptation a la base 10 en vue d'une implantation sur calculatrice. Cette etude devrait donner lieu a une version en grande base de bkm. Lorsque l'on desire plus de precision, nous proposons un algorithme mixte base sur l'utilisation successive d'iterations tres simples et d'une approximation polynomiale de faible degre sur un tres petit intervalle. Tous ces algorithmes apportent des solutions interessantes pour les calculs scientifiques sur les architectures actuelles.