MANUEL
DE
CALCUL
NUMÉRIQUE
APPLIQUÉ
les opérations d’arrondi. Le problème n’est pas si simple que cela et dépend essentiellement de
la manière dont l’algorithme propage les erreurs indépendamment des calculs effectués.
7. Un problème difficile : la propagation des erreurs en calcul automatique
Si les calculs font intervenir des fonctions transcendantes usuelles que l’on trouve sur toutes
les machines, il faut alors avoir recours au manuel du fabricant de logiciels pour connaître
l’incertitude attachée à l’usage de telle ou telle fonction, incertitudes qui dépendent, en règle
générale, de la taille de l’argument. Nous faisons allusion plus spécialement aux fonctions
dites fonctions de bibliothèque : sinus, cosinus, tangente, arc sinus, arc cosinus, arc tangente,
exponentielle, logarithme, racine carrée (annexe E)... Toutefois les erreurs affectant les résultats
(fournies par le fabricant) ne sont pas la majoration de l’erreur relative ou absolue mais plus
simplement l’écart quadratique moyen ; cela fournit une valeur bien plus raisonnable de l’erreur
qui serait sans cela toujours exagérément surestimées. Cette conception est tout à fait convenable
dans la mesure où l’on peut supposer que les erreurs obéissent à la loi de Gauss-Laplace, mais
cette hypothèse admet des limites qu’il convient de ne pas franchir et nous en verrons un exemple
un peu plus loin.
En résumé, les calculs sont réalisés au moyen d’opérations introduisant des arrondis et de
fonctions de bibliothèque affectées d’une précision limitée. Que peut-on conclure quant à la
précision des résultats finals? Il n’est pas possible d’apporter une réponse à la question ainsi
posée car les erreurs dépendent de la manière dont l’algorithme les propage et la limite supérieure
de l’erreur finale n’est pas nécessairement un majorant de la somme de la borne supérieure du
module des erreurs évaluées à chaque opération élémentaire. Pour s’en convaincre, il suffit de
procéder selon cette technique et l’on s’apercevra bien vite que cette façon de concevoir les
incertitudes se révèle très exagérée et très surestimée; en effet, il n’y a aucune chance pour que
toutes les opérations du calcul soient systématiquement l’objet d’une erreur maximum.
L’algorithme propage des erreurs, mais pour bien situer le problème disons que, de ce point
de vue, on rencontre deux types d’algorithmes : ceux qui font appel à des calculs cumulatifs
reposant sur l’addition (au sens large) et les calculs itératifs reposant sur la répétition du calcul
avec chaque fois une nouvelle valeur donnée par le précédent tour.
7.1. Les calculs itératifs
Comme nous l’avons dit ce sont des calculs répétitifs que l’on limite nécessairement à un certain
ordre, et qui consistent à réintroduire dans le calcul la dernière valeur calculée. Le plus souvent,
la procédure n’a d’intérêt que dans la mesure où la suite générée est convergente.
La limite obtenue ne dépend alors que de la précision de la machine utilisée (représentation
des nombres, fonctions de bibliothèque, . ..). Cependant, il convient d’ajouter qUe le cumul des
erreurs au cours d’un tour de calcul interviendra au niveau de la vitesse de convergence du
processus.
Exemple de calcul répétitif - Calcul de la racine carrée d’un nombre positif N.
Désignons par ao une première approximation de fl et par eo l’erreur liée à cette estimation.
On a la relation :
~4 = a0 + eo.
Nous allons essayer d’obtenir une approximation de eo. Pour cela développons au premier
ordre l’expression :
N = (ao + e0)2.
22
DE
CALCUL
NUMÉRIQUE
APPLIQUÉ
les opérations d’arrondi. Le problème n’est pas si simple que cela et dépend essentiellement de
la manière dont l’algorithme propage les erreurs indépendamment des calculs effectués.
7. Un problème difficile : la propagation des erreurs en calcul automatique
Si les calculs font intervenir des fonctions transcendantes usuelles que l’on trouve sur toutes
les machines, il faut alors avoir recours au manuel du fabricant de logiciels pour connaître
l’incertitude attachée à l’usage de telle ou telle fonction, incertitudes qui dépendent, en règle
générale, de la taille de l’argument. Nous faisons allusion plus spécialement aux fonctions
dites fonctions de bibliothèque : sinus, cosinus, tangente, arc sinus, arc cosinus, arc tangente,
exponentielle, logarithme, racine carrée (annexe E)... Toutefois les erreurs affectant les résultats
(fournies par le fabricant) ne sont pas la majoration de l’erreur relative ou absolue mais plus
simplement l’écart quadratique moyen ; cela fournit une valeur bien plus raisonnable de l’erreur
qui serait sans cela toujours exagérément surestimées. Cette conception est tout à fait convenable
dans la mesure où l’on peut supposer que les erreurs obéissent à la loi de Gauss-Laplace, mais
cette hypothèse admet des limites qu’il convient de ne pas franchir et nous en verrons un exemple
un peu plus loin.
En résumé, les calculs sont réalisés au moyen d’opérations introduisant des arrondis et de
fonctions de bibliothèque affectées d’une précision limitée. Que peut-on conclure quant à la
précision des résultats finals? Il n’est pas possible d’apporter une réponse à la question ainsi
posée car les erreurs dépendent de la manière dont l’algorithme les propage et la limite supérieure
de l’erreur finale n’est pas nécessairement un majorant de la somme de la borne supérieure du
module des erreurs évaluées à chaque opération élémentaire. Pour s’en convaincre, il suffit de
procéder selon cette technique et l’on s’apercevra bien vite que cette façon de concevoir les
incertitudes se révèle très exagérée et très surestimée; en effet, il n’y a aucune chance pour que
toutes les opérations du calcul soient systématiquement l’objet d’une erreur maximum.
L’algorithme propage des erreurs, mais pour bien situer le problème disons que, de ce point
de vue, on rencontre deux types d’algorithmes : ceux qui font appel à des calculs cumulatifs
reposant sur l’addition (au sens large) et les calculs itératifs reposant sur la répétition du calcul
avec chaque fois une nouvelle valeur donnée par le précédent tour.
7.1. Les calculs itératifs
Comme nous l’avons dit ce sont des calculs répétitifs que l’on limite nécessairement à un certain
ordre, et qui consistent à réintroduire dans le calcul la dernière valeur calculée. Le plus souvent,
la procédure n’a d’intérêt que dans la mesure où la suite générée est convergente.
La limite obtenue ne dépend alors que de la précision de la machine utilisée (représentation
des nombres, fonctions de bibliothèque, . ..). Cependant, il convient d’ajouter qUe le cumul des
erreurs au cours d’un tour de calcul interviendra au niveau de la vitesse de convergence du
processus.
Exemple de calcul répétitif - Calcul de la racine carrée d’un nombre positif N.
Désignons par ao une première approximation de fl et par eo l’erreur liée à cette estimation.
On a la relation :
~4 = a0 + eo.
Nous allons essayer d’obtenir une approximation de eo. Pour cela développons au premier
ordre l’expression :
N = (ao + e0)2.
22
