• Aucun résultat trouvé

Dans ce chapitre, nous avons passé en revue les principales transformation exactes connues pour les opérations élémentaires de l'arithmétique ottante. Nous avons également cité deux exemples de leur utilisation dans la littérature.

Au travers des résultats de Ogita, Rump et Oishi, nous avons illustré l'utilisation de ces transformations exactes pour compenser les erreurs d'arrondi générées par les algorithmes de sommation récursive et de produit scalaire. Nous développerons cette technique au cours des chapitres suivants, dans le cas de l'évaluation de polynômes et dans celui de la résolution de systèmes linéaires triangulaires.

Nous avons également rappelé l'utilisation des transformations exactes au sein des bi-bliothèques double-double et quad-double, simulant une précision de travail équivalente respectivement à deux fois et quatre fois la double précision IEEE-754. Ces bibliothèques seront fréquemment utilisées dans nos tests de performances, an de mettre en évidence l'ecacité pratique des algorithmes compensés.

Dans la suite de ce document, nous supposerons toujours que l'on utilise l'arithmétique ottante IEEE-754, dans le mode d'arrondi au plus proche. Cette hypothèse assure que les erreurs d'arrondi élémentaires peuvent être représentées dans F, ainsi que la validité des transformations exactes décrites dans ce chapitre.

Il existe dans la littérature des résultats basés sur des hypothèses plus nes pour garantir le fait que les erreurs d'arrondi puissent être représentées et calculées [11, 10]. Notons également que Priest [82] dénit des transformations exactes pour la multiplication dans le cadre plus large d'une arithmétique ottante avec arrondi dèle. Il serait intéressant d'étudier ce type de résultat an de proposer l'utilisation des algorithmes compensés sur des architectures ne disposant pas de l'arrondi au plus proche. Citons par exemple le cas du processeur Cell d'IBM, qui dispose d'une très grande puissance de calcul en simple précision IEEE-754, mais uniquement dans le mode d'arrondi vers zéro.

Chapitre

4

Schéma de Horner compensé

Plan du chapitre : Nous introduirons d'abord une transformation exacte pour l'évalua-tion par l'algorithme de Horner en Secl'évalua-tion 4.2 : cette transformal'évalua-tion exacte nous permettra de proposer l'algorithme d'évaluation compensé CompHorner. En Section 4.3, nous prouvons une borne sur l'erreur entachant ce résultat compensé. Cette borne montre que l'algorithme CompHorner est aussi précis que le schéma de Horner classique utilisé en précision doublée, avec un arrondi nal vers la précision courante. En particulier, l'erreur relative entachant le résultat compensé est de l'ordre de l'unité d'arrondi tant que le conditionnement de l'évaluation est petit devant u−1. En Section 4.4, nous justions clairement ce fait, en pro-posant une borne supérieure sur le conditionnement permettant d'assurer que le résultat compensé est un arrondi dèle du résultat exact. Les expériences de la Section 4.5 illustrent le comportement numérique de CompHorner. Pour cela nous détaillerons une méthode pour générer des polynômes à coecients ottants de conditionnement arbitrairement grand. Les résultats des Sections 4.2 à 4.4 sont démontrés en supposant qu'aucun résultat dénormalisé n'intervient au cours des calculs. En Section 4.6 nous proposons donc une nouvelle borne d'erreur pour le résultat compensé calculé par CompHorner, valable également en présence d'underow.

4.1 Conditionnement et précision de l'évaluation

poly-nomiale

Les polynômes apparaissent dans de nombreux domaines du calcul scientique et de l'ingénierie. D'autre part, développer des algorithmes numériques rapides et ables pour les évaluer reste un grand challenge. Les méthodes de calcul numérique de racines se basent en général sur des méthodes itératives de type Newton, qui nécessitent d'évaluer un poly-nôme et ses dérivées. Higham [39, chap. 5] consacre, par exemple, un chapitre entier aux polynômes et en particulier à l'évaluation polynomiale.

Si p(x) =Pni=0aixi est un polynôme dont les coecients sont des nombres ottants, et x est un argument ottant, alors la précision relative du résultat bp(x) calculé par le schéma de Horner vérie l'estimation

|p(x) − bp(x)|

|p(x)| ≤ cond(p, x) × O(u). (4.1) 43

44 Chapitre 4. Schéma de Horner compensé Dans l'inégalité précédente, cond(p, x) est le nombre de conditionnement de l'évaluation de p(x), qui quantie la diculté d'une évaluation précise du résultat. En notant

ep(x) :=Xn

i=0

|ai||x|i, (4.2)

le conditionnement de l'évaluation de p en x est classiquement déni par [20]

cond(p, x) = |p(x)|ep(x) . (4.3) On notera que le nombre de conditionnement cond(p, x) peut être arbitrairement grand, par exemple au voisinage des racines de p.

Ici nous ne considérerons que des polynômes dont les coecients sont des nombres ottants. Cette situation apparaît par exemple lors de l'évaluation de fonctions élémentaires [66], ou en calcul géométrique [55]. Le problème est que même dans ce cas particulier où les coecients de p sont des ottants, la relation (4.1) montre que le résultat calculé par le schéma de Horner peut être extrêmement moins précis que l'unité d'arrondi u. C'est le cas lorsque cond(p, x) est grand devant u−1, et on parlera alors d'évaluation mal conditionnée. Lorsque la précision de travail u n'est pas susante pour garantir la précision du ré-sultat, plusieurs alternatives existent pour simuler des précisions de travail supérieures. Au chapitre précédent nous avons rappelé que les expansions de longueur xe, telles les  double-double  et les  quad-double  [81, 57] sont des solutions logicielles couramment utilisées pour simuler respectivement une précision double ou quadruple de la double pré-cision IEEE-754.

Nous proposons dans ce chapitre une alternative à l'utilisation de cette arithmétique double-double, dans le contexte de l'évaluation de polynômes à une indéterminée. Nous supposons que tous les calculs sont eectués à une précision xée u, dans le mode d'arrondi au plus proche. Le principe du schéma de Horner compensé que nous présentons ici est celui de la compensation des erreurs d'arrondi, à l'aide des transformations exactes décrites au chapitre 3. Nous montrerons que la précision de l'évaluation calculée par le schéma de Horner compensé satisfait

|p(x) − bp(x)|

|p(x)| ≤ u + cond(p, x) × O(u2). (4.4) Comparée à la relation (4.1), l'inégalité précédente montre que le résultat de l'évaluation compensé est aussi précis que celui calculé par le schéma de Horner classique en précision doublée, avec un arrondi nal vers la précision de travail. Nous avons déjà mentionné ce comportement au chapitre précédent au sujet de la sommation et du produit scalaire compensés.

Comme dans le cas du schéma de Horner classique, la borne d'erreur relative (4.4) dé-pend du nombre de conditionnement de l'évaluation : la précision du résultat compensé peut donc être arbitrairement mauvaise pour des évaluations mal conditionnées. Néan-moins, la borne (4.4) montre que la précision du résultat compensé est du même ordre de grandeur que la précision des calculs tant que cond(p, x) est petit devant u−1.

Cette remarque motive une partie de notre étude du schéma de Horner compensé, portant sur le calcul d'un arrondi dèle de p(x). Rappelons que r est un arrondi dèle

4.2. Du schéma de Horner à sa version compensée 45