Download as pdf
Download as pdf
You are on page 1of 46
Chapitre 1 Analyse d’erreurs 1.1 Introduction Les cours traditionnels de mathématiques nous familiarisent avec des théories et des méthodes qui permettent de résoudre de fagon analytique un certain nombre de problémes. C'est le cas notamment des techniques dintégration et de résolution d’équations algébriques ou différentielles. Bien qu’on puisse proposer plusieurs méthodes pour résoudre un probleme donné, celles-ci conduisent un méme résultat, précis et unique. Crest ici que analyse numérique se distingue des autres champs plus classiques des mathématiques. En effet, pour un probléme donné, il est pos- sible d’utiliser plusieurs techniques de résolution qui résultent en différents algorithmes. Ces algorithmes dépendent de certains paramétres qui influent sur la précision du résultat. De plus, on utilise en cours de calcul des ap- proximations plus ou moins précises. Par exemple, on peut remplacer une dérivée par une différence finie de facon transformer une équation différen- tielle en une équation algébrique. Le résultat final et son degré de précision dépendent des choix que lon Une partie importante de l’analyse numérique consiste donc & contenir les effets des erreurs ainsi introduites, qui proviennent de trois sources prin- cipales: « les erreurs de modélisation; « les erreurs de représentation sur ordinateur; @ les erreurs de troncature. 2 Chapitre 1 Les erreurs de modélisation, comme leur nom Vindique, proviennent de Yétape de mathématisation du phénoméne physique auquel on s‘intéresse. Cette étape consiste & faire ressortir les causes les plus déterminantes du phénomene observé et a les mettre sous forme d’équations (différentielles le plus souvent). Si le phénomine observé est trés complexe, il faut simplifier et négliger ses composantes qui paraissent moins importantes ou qui rendent a résolution numérique trop difficile. C'est: ce que l'on appelle les erreurs de modélisation. La seconde catégorie d’erreurs est lige & l'utilisation de ordinateur. En. effet, la représentation sur ordinateur (généralement binaire) des nombres introduit souvent des erreurs. Méme infimes au départ, ces erreurs peu- vent s'accumuler lorsqu’on effectue un tr’s grand nombre d'opérations. Par exemple, la fraction 1/3 na pas de représentation binaire exacte, car elle ne posséde pas de représentation décimale finie. Ces erreurs se propagent au fil des calculs et peuvent compromettre la précision des résultats. Enfin, les erreurs de troncature proviennent principalement de Putilisa- tion du développement de Taylor, qui permet par exemple de remplacer une équation différentielle par une équation algébrique. Le développement de Taylor est le principal outil mathématique du numéricien. Tl est done primordial d’en maitriser énoncé et ses conséquences. Ce chapitre traite done principalement d’erreurs numériques, et non des inévitables erreurs de programmation qui font, hélas, partie du quotidien du numéricien. II devrait permettre au lecteur de mieux gérer les erreurs au sein des processus numériques afin d°étre en mesure de mieux interpréter les résultats, Tout d’abord, un pen de terminologie est nécessaire pour éventuellement quantifier les erreurs. Définition 1.1 Soit 2, un nombre, et 2*, une approximation de ce nombre. L’erreur| absolue est définie par: (1) Analyse d’erreurs Définition 1.2 Soit 2, un nombre, et 2*, une approximation de ce nombre. L’erreur| relative est définie par: n= 2] _ [al fear (3) De plus, en multipliant par 100%, on obtient erreur relative en pour- centage. En pratique, il est difficile d’évaluer les erreurs absolue et relative, car on ne connait généralement pas la valeur exacte de x et on n’a que 2*. Dans le cas de quantités mesurées dont on ne connait que la valeur approximative, il est impossible de calculer l’erreur absolue; on dispose en revanche d’une borne supérieure pour cette erreur qui dépend de la précision des instruments de mesure utilisés. Cette borne est quand méme appelée erreur absolue, alors quen fait on a: jr-a"|< Ae ce qui peut également s*écrire: at -Ar++ x of = Odngidnyadnys ++ x 6" S 0(b=1)(b~ 1)(b= 1) x ‘erreur relative satisfait done: en vertu de I’équation 1.12. [dz]. 0(b= 1)(b= 1-1) x E(x a eee el O,didyd--dnduyidnya--- OF 0,(b — 1)(b— 1)(6-1)--- x BP 0,100 000--- x < 1xbln On note alors que 6!" est une borne supérieure pour la précision machine. Dans ce qui suit, on ne fera plus la distinction entre la précision machine € et sa borne supérieure b!-", bien que ces deux quantités soient légerement, différentes. 0 Analyse d'erreurs 2 Test facile de montrer que cette borne est presque atteinte pour tous les nombres x de développement en base b de la forme: 0,100 000 --0(b — 1)(b— 1) +++ xb (1.14) Cest-A-dire dont le 1 est suivi de (n— 1) zéros et ensuite d’une infinité de chiffres valant (b— 1). L’erreur relative est alors: qui est trds pres de I". Exemple 1.11 Suivant la norme IEBE, la mantisse dun réel contient 23 bits en simple précision (52 bits en double précision), mais avec une précision de 24 bits (53 en double précision) puisque, aprés la normalisation, le premier 1 n’est pas gardé en mémoire. La précision machine vaut alors: gm 0,119 x 107° en simple précision et Cy 0,222 x 10715 en double précision. Co résultat peut étre vérifié directement sur ordinateur au moyen de ’al- gorithme qui suit (voir Chapra et Canale, réf. [4]). Cet algorithme permet de construire une suite de nombres de forme similaire & celle de "équation 1.14. Algorithme 1.1: Pré esl 2. Lorsque 1 + € > 1, effectuer € = «/2 3. = 2x eet arret 4, Précision machine = € 0 2 Chapitre 1 Dans Valgorithme précédent, le nombre (1 +) prend successivement les valeurs suivantes: Forme décimale | Forme binaire 2 01x? 15 Ol x 2 1,25 0,101 x 2 1,125 0,1001 x 2! 1,0625 0,10001 x 2" Cette suite continue jusqu’a ce que le nombre de zéros intercalés dans la représentation binaire soit trop grand et dépasse la. longueur de la mantisse. On aura alors 1+ ¢ = 1 et Valgorithme s’arrétera. Il est. & noter que la représentation binaire de 1+¢ est de forme similaire a celle de la relation 1.14. Sur un IBM RISC 6000, la concordance entre le résultat de cet algorithme et Péquation 1.13 est parfaite. Terminons cette section par deux exemples illustrant les effets parfois étonnants de la représentation binaire. Exemple 1.12 Si on convertit la fraction décimale 0,1 en sa valeur binaire, on O1x2 = 0,2 O2xK2 = 04 OAx2 = 08 08x2 = 16 06x2 = 12 02x2 = 04 ou encore (0,1)10 = (0,000 110011 00: }o Ainsi, une fraction ayant un développement décimal fini peut avoir un déve- loppement binaire illimité. Analyse derreurs 2B Lorsqu’on utilise un nombre fini de bits dans la mantisse pour représenter (0,1)10, Vimportance de V'erreur commise dépend du nombre de bits utilisés. Exemple 1.13 Le probléme consiste a sommer 10 000 fois le nombre (1,0):o, qui posséde un développement binaire fini, et le nombre (0,1)i0, qui n’a pas de représentation exacte sur un nombre fini de bits. On obtient, sur un IBM RISC 6000, les résultats suivants: 10 000,00000 et 999,9028931 en simple précision et: 10.000,000 000 0000000 et 100,000 014901 161 19 en double précision. Cela démontre effet des erreurs de représentation sur ordinateur. Des opérations en apparence identiques donnent, dans un cas, un résultat exact et, dans l'autre, un résultat erroné dont la pré avec le nombre de bits de la mantisse. jon augmente 1.5 Arithmétique flottante Les erreurs ont tendance se propager et quelques fois & s’amplifier au fil des calculs. Dans cette section, nous suivons l’évolution des erreurs au fil des opérations élémentaires. Afin de simplifier l'exposé, nous utilisons le systéme décimal, mais les effets décrits valent également pour les autres bases. Tout nombre réel z s’écrit sous la forme: 2 = Oydydadg + -dndn ga +++ x 10! Définition 1.5 Soit x, un nombre réel. On note fi(x) sa représentation en notation flot- tante a n chiffres définie par: A(x) = Odidods +d, x 10! Py Chapitre 1 Remarque 1.8 La notation flottante d’un nombre dépend du nombre n de chiffres dans la mantisse, mais aussi du procédé retenu pour éliminer les derniers chiffres, Ainsi, la troncature consiste & retrancher les chiffres & partir de la position n+ 1. Avec Varrondi, on ajoute 5 au (n+ 1)° chiffre de la mantisse avant @effectuer la troncature. La troncature est dite biaisée, car on a toujours, pour des nombres positifs, f(x) < 2. Par contre, Varrondi est non biaisé, car on a tour & tour # < fi(z) ou z > f(x). Nous utilisons Parrondi dans les, exemples qui suivent. 0 Remarque 1.9 La norme IEEE recommande utilisation de l'arrondi dans la représentation binaire des nombres réels. 0 Exemple 1.14 Si on choisit n = 4, alors on a: (1/3) a(n) 0,3142 x 102 (12,4551) = 0,1246 x 10 1.5.1 Opérations élémentaires Les opérations élémentaires sont l'addition, la soustraction, la multiplica- tion et la division. Soit x et y, deux nombres réels. On effectue ces opérations en arithmétique flottante de la fagon suivante: zty + M(f(2)+A(y)) zy > Mf(2)- My) tty > fi(f(z) +My) xy = fi(fi(r) x f(y)) Analyse d’erreurs 25 En un mot, on doit d’abord représenter les deux opérandes en notation flottante, effectuer Popération de la fagon habituelle et exprimer le résultat en notation flottante. Exemple 1.15 Sion prend n = 4, alors on a: 1/3x3 + fA(f(1/3) x (3) 4((0,3333 x 10°) x (0,3000 x 10")) = £(0,099.99000 x 10") 0,9999 x 10° On remarque une légére perte de précision par rapport & la valeur exacte de cette opération qui est 1. La multiplication et la division sont particulitrement simples en arith- métique flottante A cause de la loi des exposants. Exemple 1.16 Toujours avec n = 4, effectuer les opérations suivantes: a) (0,4035 x 10°) x (0,1978 x 10-*) £1(0,4035 x 10° x 0,1978 x 101) £1(0,079 8123 x 10°) = 11(0,798 123 x 104) 0,7981 x 104 b) (0,567 89 x 104) + (0,123 4321 x 108) £1(0,5679 x 10 + 0,1234 x 10-*) 41(4,602 106 969 x 10") ‘(0,460 210 6969 x 108) 0,4602 x 10° 26 Chapitre 1 Par contre, il faut étre plus prudent avec l'addition et la soustraction, On ajoute d’abord des zéros & la mantisse du. nombre ayant le plus petit exposant de telle sorte que les deux exposants soient égaux. On effectue ensuite Popération habituelle et on met le résultat en notation flottante. Exemple 1.17 ‘Toujours avec n = 4, effectuer les opérations suivantes: a) (0,4035 x 10°) + (0,1978 x 104) £1(0,4035 x 10° + 0,1978 x 10*) = f(0,4035 x 10 + 0,001 978 x 10) £1(0,405.478 x 10°) 0,4055 x 10° b) (0,567 89 x 10%) — (0,1234321 x 10°) £1(0,5679 x 104 — 0,1234 x 108) £1(0,005 679 x 10° — 0,1234 x 10°) = —f(0,117 72 x 10°) 0,117 x 10° On constate qu'il est primordial de décaler la mantisse avant deffectuer Paddition ow la soustraction, Remarque 1.10 Tl faut bien remarquer que des opérations mathématiquement équivalentes ne le sont pas forcément en arithmétique flottante. L’ordre des opérations est trés important. En voici un exemple. O Exemple 1.18 La propriété de distributivité de la multiplication sur ’addition n’est pas tou- jours respectée en arithmétique flottante, En effet, en arithmétique exacte: 122 x (333 + 695) = (122 x 333) + (122 x 695) = 125.416 Analyse d'erreurs 27 En arithmétique flottante avec n = 3, on obtient d’une part: 122 x (333-4695) = fll(0,122 x 10%) x (0,333 x 10° + 0,695 x 10%)] AN[(0,122 x 10°) x f1(1,028 x 10%)] fi[(0,122 x 10°) x (0,103 x 104)} £1(0,012.566 x 10”) 0,126 x 10° wonag et dautre part: (122 x 333) + (122 x 695) fiffl((0,122 x 10%) x (0,333 x 10%) + £1((0,122 x 10°) x (0,695 x 10%))] = fiff1(0,040 626 x 10°) + £1(0,084 79 x 10°)] fi[(0,406 x 10°) + (0,848 x 10°)] f1(1 254 x 10°) = 0,125 x 108 (On constate donc une légere différence entre les deux résultats, ce qui indique que les deux facons d’effectuer les opérations ne sont pas équivalentes en arithmétique flottante. 1.5.2 Opérations risquées Un certain nombre de caleuls sont particuliérement sensibles aux erreurs arrondi. Nous présentons quelques exemples d’opérations & éviter. Exemple 1.19 ‘Additionner deux nombres dont les ordres de grandeur sont trés différents: (0,400 x 10*) + (0,1000 x 10-*) £1(0,4000 x 104 + 0,100 x 10-7) £1(0,4000 x 10* + 0,000 0001 x 10*) £1(0,400 0001 x 10°) = 0,4000 x 104 La loi des exposants et l’arrondi font en sorte que le petit nombre disparait complétement devant le plus grand. Ce comportement est encore plus en évidence dans Vexemple suivant. 28 Chapitre 1 Exemple 1.20 Calculer une somme de termes positifs: On peut évaluer analytiquement cette série en utilisant les fractions par- tielles. En effet: ara S=l+ Daa = me ee lead 1 St eo) ela eight Gee i = 2- a4 On peut caleuler cette somme tout d’abord directement: ae i in ltste Sin Lt p+ gh et ensuite & rebours: 1 de Un ame oo Les résultats calculés sur IBM RISC 6000 sont résumés dans le tableau ci- dessous pour différentes valeurs de n. m Stn San Valeur exacte de 5, ‘99 | 1,989999890 | 1,990000010 1,99 999 | 1,999001026 | 1,999000072 1,999 9999 | 1,999 791 980 | 1,999899983 1,999 On remarque que Sa est plus précis que S1,n. Cela est dit au fait que lors- qu’on somme $;,, on accumule dans $1,, les sommes intermédiaires. Consé- quemment, S;,, devient de plus en plus grand par rapport & ji et on finit Analyse d’erreurs 29 par additionner un trés grand et un trs petit nombre (ce type d’opération est & éviter). Inversement, lorsqu’on somme S2,x, les sommes intermédiaires augmentent, mais les termes qui s'ajoutent au fil de la sommation croissent, également et le phénoméne précédent ne se produ Exemple 1.21 Soustraire deux nombres presque identiques: (0,5678 x 10°) — (0,567 x 10°) 1(0,5678 x 10° — 0,567 x 10°) £1(0,0001 x 10°) 0,1000 x 103 La soustraction de ces 2 nombres de valeur trés proche fait apparaitre trois, 0 non significatifs dans la mantisse du résultat. On appelle ce phénoméne Vélimination par soustraction des chiffres significatifs. L’exemple suivant en illustre les conséquences possibles. Exemple 1.22 (Chapra et Canale, réf. (4]) Calculer les racines de: ax? +bz+e qui sont bien sit + Vi Te viata nyo ThE Mee oy py = oe 2a 2a On considére le cas ot a = 1, b = 3000,001 et ¢ = 3. Les ry = 0,001 et rp = —3000. Un calcul en simple préc donne ry = —0,000988 28133 et r2 = —3000,0000, dont erreur relative est respectivement de 1,17% et de 0,0%. Le calcul de rz ne pose aucune difficulté particuliére. L’erreur relative lige & ry provient de addition de (4), qui vaut ~3000,000977, et de VB? — dac, qui vaut 299,999 023. Cette 30 Chapitre 1 opération revient & soustraire des nombres trés voisins. Pour éviter cela, on peut multiplier r; par son conjugué et calculer: yw (eta) ( -b - VR Fac =2e = 2a —b—Ve=4ac} b+ Vb? = dac On obtient de cette maniére: ry = —0,001 000 000047 et une erreur relative extrémement faible. Exemple 1.23 Evaluer une série de nombres de signes alternés (Chapra et Canale, réf [4]). Nous verrons un peu plus loin que le développement de Taylor de la fonction e~* autour de 0 est: + (cute | (Cyntiant eal (m+! (1.15) yettgntt (+I 0 Sn +e On remarque que les termes de Ja série changent constamment de signe. Dans l’expression 1.15, Sy désigne la somme des (n + 1) premiers termes de la série. Le tableau ci-dessous présente quelques résultats intermédiaires obtenus lors de |’évaluation de e~!°, qui consiste 4 poser tout simplement x = 10 dans l’équation 1.15. Analyse d’erreurs 31 z a Jal Somme partielle Sy 0 +1,000 000 00 +1,000 000 000 ry —10,000 0000 —9,000 000 000 2 +50,000 0000 +41,000 000 00 3 — 166,666 718 —125,666 6718 4 +416,666 687 +291,000 0000 5 833,333 374 542,333 3740 10 $2755,732 17 41342587 402 20 +41,103 1875 +13,396 751.40 30 | +0,376.9989125 x 10-? | +0,852284 9530 x 10-° 31 | —0,1216125558 x 10? | -0,363840 6051 x 10-° 32 | +0,380 039 2442 x 10-? | +0,161986 3906 x 10-* 33 | —0,115 163.4060 x 10® | -0,989647 6690 x 10-* 34 | +0,338715 9086 x 10-* | -0,650931 7609 x 10~* 35 | -0,967 759 7518 x 10-* | —0,747 707 7452 x 10-* 40 | +0,122561 8007 x 10-7 | -0,726567 8660 x 10~* 41 | -0,298931 2131 x 10-* | —0,726576 6908 x 10-* 42 | +0,7117409990 x 10° | -0,726569 5604 x 10" 43 | —0,165521 1662 x 10-® | -0,726571 2338 x 10-* 44 | +0,376 184 4655 x 10-1 | —0,726 570 8700 x 10-* 45 | -0,835 965 4982 x 10- | —0,726570 9428 x 10~* Voila un exemple parfait de calcul instable. On remarque immédiate- ment que le résultat final est faux, car on obtient une valeur négative pour Texponentielle dont la valeur exacte est 0,1539993 x 10%. On voit aussi qu'il est inutile de continuer pour des valeurs de n plus grandes que 45, car la valeur de 2°/n! est trop petite pour modifier substantiellement le résul- tat. Cela revient additionner un trés grand et un trés petit nombre. On constate enfin que le phénoméne d’élimination par soustraction des chiffres significatifs se produit de fagon systématique en raison de lalternance des signes. On peut contourner ces difficultés en évaluant la série de maniére diffé- rente. Une possibilité consiste & utiliser l'algorithme de Horner pour l’éva- uation des polynémes. 32. Chapitre 1 1.5.3 Evaluation des polynémes Il est trés fréquent d’avoir & évaluer des polynémes de degré élevé en analyse numérique. Il est donc important de pouvoir les évaluer rapidement et de la facon la plus stable possible du point de vue de larithmétique flottante. C'est ce que permet ’algorithme de Horner appelé aussi algorithme de multiplication imbriquée. Pour évaluer un polynome de la forme: P dig + aya + ape? + aga? 4 +--+ ane" en un point x quelcongue, il suffit de regrouper judicieusement les termes de Ja facon suivante: P(e) = do + 2(ay + 2(a2 + 2(a3 + -+++2(an—1 +4q2)---))) (1-16) Voyons lévaluation d'un polynéme a exemple suivant, Exemple 1.24 Soit le polynéme: 2442 +50? +329 qui nécessite 6 multiplications et 3 additions. En suivant le mode de regrou- pement de l’équation 1.16, on obtient: wz) = 2+ 2(4 (5 +3z)) qui nécessite seulement 3 multiplications et 3 additions (et aucune élévation de puissance). On réduit donc substantiellement le nombre dopérations né- cessaires et, de plus, cette nouvelle expression est moins sensible aux effets de Parithmétique flottante. La méthode de Horner est facile & programmer grace & l’algorithme sui- vant. Algorithme 1.2: Méthode de Horner 1. Etant donné les coefficients a; d’un polynéme de degré n 2. Etant donné une abscisse x Analyse d’erreurs 33 3. Etant donné la variable py qui contiendra la valeur du polynome en x 4. Pn =n 5. Pour i= nyn— Lyn 2,2+,2, Pra = Gia + Pat 6. Ecrire 2, p(t) = Pa 3 Exemple 1.25 La méthode de Horner peut servir & reprendre le calcul € alternée 1.15. Les coefficients du polynéme sont: ion a 19 par la série a Pour le polynéme de degré n = 45, on obtient la valeur approximative 0.453999 x 10-4, qui est tres prés de la valeur exacte et qui ne change plus pour les valeurs suivantes den. 1.6 Erreurs de troncature Les erreurs de troncature constituent la principale catégorie derreurs. ‘Tout au long de ce manuel, nous abordons des méthodes de résolution qui comportent des erreurs de troncature plus ow moins importantes. L’ordre ‘une méthode dépend du nombre de termes utilisés dans les développements de Taylor appropriés. Il est donc essentiel de revoir en détail le développe- ment de Taylor, car il constitue Poutil fondamental de l'analyse numérique. Remarque 1.11 Test important de ne pas confondre les erreurs de troncature traitées dans cette section et la troncature utilisée pour la représentation des nombres sur ordinateur. O 34 Chapitre 1 Figure 1.5: Approximation de f(x) au voisinage de 20 1.6.1 Développement de Taylor en une variable Il existe plusieurs facons d’introduire le développement de Taylor. Une fagon trés simple consiste & le présenter formellement comme un probleme @’approximation au voisinage d’un point zo. On se demande alors quel est Ie polynéme de degré 0 (noté Pa(z)) qui donne la meilleure approximation @une fonction f(z) donnée dans le voisinage du point zo. Selon la figure 1.5, ce polynéme est: Po(z) = F(x0) On peut pousser plus loin analyse et chercher le meilleur polynéme de degré 1 de la forme: P,(2) = a9 + a1(2 — 20) qa On pourrait tout aussi bien chercher un polynéme de forme plus classique: Piz)= lth 2 Ces deux expressions sont équivalentes et aboutissent au méme résultat. La forme 1.17 est plus pratique et plus naturelle puisqu’elle s'articule autour du point to On doit introduire deux conditions pour déterminer les deux constantes. Intuitivement, la meilleure droite (polynéme de degré 1) est celle qui passe Analyse d’erreurs 35, par (zo, f(o)) et dont la pente est celle de la fonction f(z) en ao, ce qui entraine que: Pi(z0o) = f(v0) (1.18) Pi(to) = S"(20) (1-19) on encore a = f(z0) a = f'(z0) Ten résulte expression suivante: P(x) = f(t0) + f'(z0) (2 ~ 20) On peut bien siir poursuivre ce raisonnement & condition que la fonction f(z) soit suffisamment dérivable. Dans le cas d’un polynéme de degré 2, on imposerait: Px(zo) = f(20) (1.20) Pi(t0) = f"(20) (1.21) Py(z0) = f"(z0) (1.22) pour obtenir facilement: (x0) (2 = to)? 2 En poursuivant ce raisonnement jusqu’a l’ordre n, c’est-a-dire en imposant Pégalité des dérivées jusqu’a l'ordre n, on obtient le polynéme de Taylor de degré nde la fonction f(x) autour de x9. P2(x) = J(20) + f'(20) (2 = 20) + Définition 1.6 Le polynéme de Taylor de degré n de la fonction f(x) autour de 29 est défini par: Pala) = flea) + f(a) (e~ 20) + Pee = 20 (1.23) + ice) = 20)" ot f("'(o) désigne la dérivée d’ordre n de f(z) en zo. 36 Chapitre 1 Ce polynéme donne une approximation de la fonction f(x) au voisinage de zp. Il n’y a.cependant pas égalité en ce sens que si on utilise ’équation 1.23 pour estimer f(x) on commettra une erreur. Remarque 1.12 On choisit généralement le point <9 ott on développe le polyndme de Taylor de fagon & ce que Pon puisse facilement évaluer la fonction f(z) ainsi que ses dérivées, O Le résultat suivant quantifie Perreur commise lorsqu’on utilise le poly nome de Taylor (Thomas et Finney, réf. [22]) ‘Théoreme 1.2 Soit f(z), une fonction dont les dérivées jusqu’a Vordre (n +1) existent at voisinage du point zo. On a Pégalité suivante: S(2) = Paz) + Ra(z) (1.24) ott P,(z) est le polynéme de Taylor 1.23 et Rn(z) est erreur commise, qui est donnée par: LOAD (Ea) (2 = zo) (n+I pour un certain €(2) compris entre zp et 2. R,(2) = (1.25) Remarque 1.13 1. L’équation 1.24 est une égalité et ne devient une approximation que lorsque le terme d’erreur est négligé. 2. Le terme derreur de l’équation 1.25 devient de plus en plus grand lorsque x s’éloigne de x en vertu du terme (x ~ 2o)("*)) (voir la. figure 1.5). 3. Inversement, pour une valeur de z prés de zo, le terme d’erreur de uation 1.25 est de plus en plus petit lorsque n augmente. 4. On sait que le point €(x) existe et qu'il varie avec 2, mais on ne connait pas sa valeur exacte, Il n’est donc pas possible d’évaluer le terme erreur exactement. On peut tout au plus lui trouver une borne su- périeure dans la plupart des cas. Analyse d’erreurs 37 5. On commet une erreur de troncature chaque fois que V’on utilise le développement de Taylor et que l'on néglige le terme d’erreur de l’équa- tion 1.25.0 Un cas particulier important du théoreme précédent est le premier théo- réme de la moyenne, qui équivaut & poser n = 0 dans le développement de Taylor. Corollaire 1.1 Soit f(z), une fonction dérivable dans Vintervalle [z0,z]. Alors il existe € dans [z9,z] tel que: S(z) qui s%éerit également sous la forme: (20) + f(E)(z — 70) S(2) = S(t0) = fe = 20) © (1.26) ‘On crée une forme plus pratique du développement de Taylor en remplacant z par zq +h ou encore l’expression x ~ ro par h. On obtient ainsi: F(z0 +h) = Pa(h) + Rn(h) (1.27) ot fl(zo) h? Pa(h) = $20) + f(a) h+ FEDE (1.28) piaoyi #020) hm + Meo (20) . (nt), (nti) ey ee) Bes (1.29) (nti pour &(h) compris entre zo et to +h. Exemple 1.26 On considére la fonction f(z) = e* an voisinage de zo = 0. Puisque toutes les dérivées de e* sont égales & e* et valent 1 en zo = 0, le développement 38 Chapitre 1 de Taylor de degré n devient: eo an roth = he P(h)=ltht bap tet ay et expression du terme derreur de l’équation 1.29 est: E(k) nth ere ot E(h) € [0,4]. On peut méme déterminer une borne supérieure pour le terme d’erreur. La fonction exponentielle étant croissante, on a: ll < gh Ra(h) = dans Vintervalle (0, h] et on conclut que: hc 30 a(h) < 1 Ba) S Gea (1.30) On peut utiliser ce développement pour estimer la valeur de e! en pre- nant h = 0,1. nm] P,(0,l) | Exreur absolue | Nombre de chiffres | Borne pour le significatifs _| terme d’erreur 0 | 7,000 0000 | 0,105 x 10° T 0,111 x 10° 1 | 1,1000000 | 0,517 x 10-2 2 0,552 x 10"? 2 | 1,1050000 | 0,171 x 10% 4 0,184 x 10-3 3 | 1,105 1667 | 0,420 x 107° 6 0,460 x 10-5 On obtient erreur absolue simplement en comparant le résultat avec la valeur exacte 1,105 170918, tandis que la borne supérieure de l'erreur pro- vient de P’équation 1.30 avec h = 0,1. Enfin, si on prend h = 0,05 et n = 3 pour estimer €:°°, on obtient: P3(0,05) = 1,051 270833 et une erreur absolue d’environ 0,263 x 10~®. On remarque de plus que le rapport des errours absolues liées & Pa(ht) est: [P5(0,1) — e®} _ 0,4245 x 10-5 1P,(0.05) — 95] ~ “0,268 x 10-5 = 1614 Analyse d’erreurs 39 La valeur de ce rapport n’est pas fortuite. La définition suivante permet de comprendre d’oii provient cette valeur (Bourdeau et Gélinas, réf. [1]). Définition 1.7 Une fonction f(h) est un grand ordre de h” au voisinage de 0 (noté f(x) = O(h")) s'il existe une constante positive C telle que: Helse au voisinage de 0. Bien qu’imprécise, cette définition exprime assez bien les caractéristiques une fonction de type O(h”). Lorsque h est assez petit, la fonction O(h") décroit comme Ch”. Plus n est grand, plus la décroissance est rapide. Ainsi, une fonction O(h°) décroit plus vite qu'une fonction O(h?), qui elle-méme décroit plus vite qu’une fonction O(h). Pour avoir une idée du comportement une fonction de type Oh"), il suffit de remarquer que, lorsque h est divisé par 2, la fonction O(A") diminue selon un facteur approximatif de 2”. En effet, si on remplace h par h/2 dans Ch”, on obtient: che Remarque 1.14 Le terme d’erreur du polynéme de Taylor de degré n est généralement de type O(h"*1), Cela explique le rapport de 16,14 obtenu dans l'exemple précédent. Eneffet, on y trouve un polynéme de Taylor de degré 3 dont le terme d’erreur est de type O(h*). En passant de h = 0,1 & h = 0,05, on divise h par un facteur de 2, d’oit une diminution selon un facteur de 24 = 16 de Verreur. Bien siir, le facteur de 16 est approximatif ct n'est atteint qu’ des valeurs de h tras petites. Dans le cas général, on note: F(z0 +h) = Pa(h) + O(R™*) O 40 Chapitre 1 Définition 1.8 Une approximation dont le terme d’erreur est un grand ordre de h” (O(h")) est dite d’ondre n. Remarque 1.15 Suivant cette définition, le polyndme de Taylor de degré n est: généralement (mais pas toujours) une approximation (ordre (n+1) de f(z). Par exemple, le développement de Taylor de degré n de e* autour de 2 = 0 est d’ordre (n+). Remarque 1.16 Dans certains manuels, il y a confusion entre le degré et ordre du polyndme de Taylor. Il faut sassurer de bien distinguer ces deux notions. 0 Exemple 1.27 Calculer le développement de Taylor d’ordre 5 de la fonction sin x autour de 2 = 0. Les dérivées de la fonction sont respectivement: f(z) sinz, f@) = 0 F(z) coz, f0) = 1 i"@) =sinz, f"(0) 0 r"(2) -cose, f"(0) = -1 vie) sinz, (0) = 0 mz) cos. Le développement de Taylor est donc: 2 cose(h) 8 sin(zo + h) = sin(h) = h~ 3 7] Analyse d’erreurs 41 Il suffit de calculer le polynéme de Taylor de degré 3 (P3(h)) pour obtenir une approximation d’ordre 5 de la fonction sin h. Puisque la fonction cos = est bornée en valeur absolue par 1, on note immédiatement que: ® Rath) < Si on prend maintenant h = 0,1, on peut obtenir 'approximation: ae 33 sin(0,1) ~ 0,1 - 099 8: une erreur absolue de 0.833210". Il est a noter que la borne supérieure de Perreur vaut 0,8333 x 10-7, ce qui est trds prés de la valeur exacte, Sion prend h = 0,2, on trouve: sin(0,2) ~ 0,2 - = 0,198 666 6667 et une erreur absolue de 0,2664 x 10-*. On remarque de plus que le rapport entre les deux erreurs absolues est: ce qui confirme que cette approximation est bien d’ordre 5. En prenant une valeur de h deux fois plus grande, on trouve une erreur & peu pres 2° = 32 fois plus grande. Cet exemple montre que le polynéme de Taylor de degré 3 de la fonction f(x) = sin x est d’ordre 5. 1.6.2 Développement de Taylor en plusieurs variables On peut reprendre, dans le cas de plusieurs variables, le raisonnement qui a mené au développement de Taylor d’une variable, Nous nous limitons, pour les fins de exposé, & trois variables, le cas général étant similaire. 42 Chapitre 1 ‘Théoréme 1.3 Soit f(z1, 22,03), une fonction de trois variables, que l'on suppose suffisam- ment différentiable. On a alors: F(a + hi 22 + hayes + hy) = f(%1, 2273) Aflerza za), , Serena), , flen2n 23) + (Een), 4 Sone fy + Uertn29),,) apt ae (745 7,23) a P flr te, : a P Alors 2229) yg, PS eta “218) az% a3 2 flor 20 hy + PL Lenn) )y45) + (2 2059) 4 Pir 2I28) rs mes suivants (désignés par les pointillés) font intervenir les différentes dérivées partielles d’ordre 3, 4, 5--+ de la fonction f(s, 22,23). On voit bien la similitude avec le cas d’une variable. En pratique, on utilise principalement le développement de degré 1, qui ne fait intervenir que les dérivées partielles ordre 1.0 Exemple 1.28 Soit la fonction de deux variables: f(eay22) = 2] + a sin ze que l'on développe autour de (21,22) = (1,0). On a alors f(1, 0) = 1. De plus, les dérivées partielles du premier ordre de f sont: OF(2129) oe gains, 2feus72) Ent) 95, ¢siney Ont = 2, cos2, et celles du deuxiéme ordre sont: 2 f(a, 2 242 2 TN Ce ee Ce Oat Oz} ~OnOr2 Analyse d’erreurs 43 Au point (1, 0), ces dérivées partielles valent: EURO aie a Ory oz. “ 20,0), 0,0), @F0.9) _, az? Oa 021022 Le développement de Taylor de degré 2 de cette fonction de deux variables autour du point (1,0) est done: 1 (1+ hy, 0+ he) © 1+ 2hy + Uh + geht + 0h3) + (Ihiha) cest-A-dire F(L+ hy, ha) ~ 14 2hi + ho + AY + hike En choisissant par exemple hy = hz = 0,1, on obtient I'approximation sui- vante: F(LL, 01) 1,32 qui est proche de la valeur exacte 1,319 816758 avec une erreur absolue environ 0,000 183. Si on prend maintenant hy = hz = 0,05, on obtient ‘une approximation de f(1,05, 0,05) qui vaut 1,155. L’erreur absolue dans ce dernier cas est d’environ 0,000021 825, qui est environ 8,4 fois plus petite qu'avec hy = ho = 0,1. Ce facteur de 8 s’explique par le choix d’un dévelop- pement de degré 2 (et d’ordre 3) et par la division des valeurs de hy et hy par 2. 1.6.3 Propagation d’erreurs dans le cas général Nous approfondissons dans cette section plusieurs notions vues plus haut. Que peut-on dire, par exemple, de la précision des résultats obtenus lorsqu’on additionne ou qu'on multiplie des valeurs connues avec une précision limitée? Plus généralement, si on a: attAr yt Ay y quelle sera la précision de la fonction ’une variable f(2*) ou de la fonction de deux variables g(2*, y*)? Ici encore, le développement de Taylor apporte 44 Chapitre 1 une solution. Considérons d’abord le cas d’une variable. Une quantité 2 inconnue est approchée par une valeur approximative 2* avec une erreur absolue Az. On estime la valeur inconnue f(z) par approximation f(2*). Lerrenr absolue lige & ce résultat est: AS =\f(2)- £2") Ona de plus: S{a) = fle" £ Ax) = fle") £ F(a") Az + O(Az)?) En négligeant les termes d’ordre plus grand ou égal & 2, on obtient: Af lf(@)| Ae que l'on peut également écrire: A(z) = S(e") + [f'(@)Ae (1.31) Exemple 1.29 On a mesuré la Jongueur d’un c6té dune boite cubique et obtenu I* = 10,2 cm avec une précision de Pordre du millimetre (Al = 0,1 cm). On cherche le volume v de cette boite. Dans ce cas, f(J) = F = vet lerreur lige au volume est: [f'(t*)| Al = 3 (10,2)? x 0,1 = 31,212 < 0,5 x 10? La valeur approximative du volume est (10,2)* = 1061,2 cm®, dont seuls les deux premiers chiffres sont significatifs. Av= seoee On traite les fonctions de plusieurs variables en faisant appel au déve- loppement de Taylor en plusieurs variables. Nous donnons le résultat en dimension 3 seulement, car le cas général ne pose aucune difficulté supplé- mentaire Analyse derreurs 45 ‘Théoréme 1.4 Soit f(z, y, 2),une fonction de trois variables x, y et z dont on estime la valeur par 2", y* et 2* avec une précision de Ac, de Ay et de Az respectivement. Lrerreur absolue Af est donnée par: es 4 2 ay (1.32) : pete Exemple 1.30 Un signal électrique est donné par: V =A sin(ut ~ 4) oii V est la tension, A est ’amplitude du signal (A* = 100 V), w est la fréquence (w* = 3 rad/s), @ est le déphasage (4* = 0,55 rad) et t est le temps (t" = 0,001 s). En supposant que A et w sont connus exactement (A= Av, w = u*) et que o* et t* possedent respectivement 2 et 1 chiffres significatifs, il s’agit d’évaluer Verreur absolue lige & V ainsi que le nombre de chiffres significatif. Puisque A et w sont connus exactement, on sait immédiatement que AA et Aw sont nuls et quills n’ont aucune contribution a lerreur liée & V. Par ailleurs: At = 05x 107% Ad = 05x10? et Verreur totale est: cest-A-dire AV = |A*w* cos( *)1x(0,5x10-*) +|—A* cos(w*t” — o*)|x(0,5x107?) 46 Chapitre 1 ce qui donne: AV 256,226 662 35 x (0,5 x 10-%) + | — 85,408874 5 x (0,5 x 10-7) 0,555 157 684 La tension approximative V* est bien sir: V" = A*sin(w*t* — 9") = -52,012730 71 et puisque AV < 0,5 x 10!, ce nombre n’a qu’un seul chiffre significatif. Quelques cas particuliers méritent de Vattention. De l’équation 1.32, on peut déduire la fagon dont se propagent les erreurs dans les opérations élé- mentaires. En effet, en prenant par exemple f(x,y) = ¢/y, on trouve: 1 == IyiAz + ely ay ilaz+ Fe ay = Meee ey ou encore Wiiae + kA 2+ |e A@ety= eee v On obtient ainsi le tableau suivant & partir de Péquation 1.32. A(z+y) = Ar+Ay A@e-y) = ArtAy 1.33) Ate xy) = ylAz+|zlAy (138) Az + [elds Afesy) = Wdetbelay On remarque que les erreurs absolues pour la soustraction s’additionnent. Le tableau montre également la similitude entre la propagation d’erreurs et la différentiation d’une somme, d'une différence, d’un produit et d’un quotient de deux fonctions.

You might also like