PROGRAMMATION SCIENTIFIQUE EN C
Les erreurs sur les calculs par ordinateur Représentation des nombres réels Types d’erreurs Epsilon de la machine et nombre de chiffres significatifs d’une représentation Propagation des erreurs Approximation de fonctions par série de Taylor Travail pratique no. 1
Représentation des nombres réels Représentation des réels courts (32 bits) selon la norme de l’IEEE S Caractéristique Mantisse 31 30 23 22 0
Représentation des nombres réels Représentation des réels longs (64 bits) selon la norme de l’IEEE S Caractéristique Mantisse 63 62 52 51 0
Représentation des nombres réels Un réel court en virgule flottante (S,C,M) a sa valeur décimale N donnée par S: bit de signe C: caractéristique M: mantisse
Représentation des nombres réels Représentation sous forme d’un réel court du nombre 87,125 Après normalisation
Représentation des nombres réels Représentation sous forme d’un réel court du nombre 87,125 Mantisse avec le 1 implicite Exposant Mantisse entreposée Caractéristique
Représentation des nombres réels Représentation sous forme d’un réel court du nombre 87,125 100000101 01011100100000000000000
Types d’erreurs Erreur absolue et erreur relative Supposons que nous approximons un nombre x par x’ Les erreurs absolue et relative sont données par
Types d’erreurs Erreur absolue et erreur relative Supposons que nous approximons par ’=3.1416 Si la valeur de =3.14159265, les erreurs absolue et relative sont données par L’approximation est précise à 4 décimales près Avec 5 chiffres significatifs
Types d’erreurs Erreur d’arrondi Ce type d’erreur survient lorsque nous emmagasi-nons des nombres dans un espace physique (mé-moire) de dimension finie Ce type d’erreur fait donc référence à la représenta-tion des nombres dans l’ordinateur
Types d’erreurs Erreur d’arrondi Considérons l’addition de 2 réels chacun avec 15 bits significatifs
Types d’erreurs Erreur d’arrondi Alignement de b
Types d’erreurs Erreur d’arrondi Arrondissement du résultat
Types d’erreurs Erreur de troncature Ce type d’erreur survient quand par exemple nous utilisons un nombre de termes finis pour faire l’approximation d’une série infinie (ex: série de Taylor) L’utilisation d ’un algorithme avec un nombre d’itérations discrets peut aussi causer ce type d’erreur
Epsilon de la machine et nombre de chiffres significatifs d’une représentation Lorsque nous effectuons l’addition de 2 nombres réels le plus petit des 2 est décalé ce qui occasionne une perte de précision Dans des cas extrêmes il peut arriver que le plus petit nombre n’ai aucune signifiance dans le calcul, ayant été décalé complètement vers la droite Le nombre de décalages maximum que peut subir un nombre avant qu’il n’ai plus de signifiance corres-pond au nombre de chiffres significatifs de la repré-sentation
Epsilon de la machine et nombre de chiffres significatifs d’une représentation Le plus petit nombre signifiant d’une représenta-tion est appelé epsilon de la machine Ce nombre représente la plus petite valeur de x pour laquelle 1+x>1
Epsilon de la machine et nombre de chiffres significatifs d’une représentation Algorithme qui trouve le epsilon de la machine et le nombre de chiffres significatifs (cas binaire) eps=1 n=0 TTQ 1+eps>1 FAIRE eps = eps/2 n++ FIN TTQ eps = eps * 2 n = n-1 imprimer eps et n
Propagation des erreurs Lorsque une opération telle que l’addition est répétée il peut survenir un phénomène de propaga-tion des erreurs d’arrondis Alors la sommation suivante peut dans certain cas ne pas donner 1
Propagation des erreurs De plus, l’ordre des sommations a aussi une influence sur la propagation des erreurs Par conséquent les 2 sommations suivantes devraient donner la même valeur mais ce n’est pas le cas quand N est le moindrement grand
Propagation des erreurs Algorithme de sommation successive saut = 1/N somme = 0 POUR i = 1 à N FAIRE somme = somme + saut FIN POUR imprimer somme et erreur (1-somme)
Propagation des erreurs Algorithme de sommation ascendant somme = 0 POUR i = 1 à N par saut de 1 FAIRE somme = somme + 1/in FIN POUR imprimer somme
Propagation des erreurs Algorithme de sommation descendant somme = 0 POUR i = N à 1 par saut de -1 FAIRE somme = somme + 1/in FIN POUR imprimer somme
Approximation de fonction par série de Taylor Le développement en série de Taylor premet de faire l’approximation de fonctions suffisamment différentiables Nous pouvons évaluer la valeur d’une fonction dans le voisinage d’un point de référence par
Approximation de fonction par série de Taylor L’erreur de troncature découlant du développe-ment en série de Taylor avec n termes dérivés est donnée avec sa borne supérieure par
Approximation de fonction par série de Taylor Pour la fonction cosinus avec a = 0 et un intervalle des valeurs de h [0,/2] et n=4
Approximation de fonction par série de Taylor Pour la fonction cosinus, l’erreur de troncature est bornée par le premier terme de la série omis, cette erreur de troncature est bornée par (n=4)