31
Christian Vassard (IUFM Rouen) 9 Chapitre Vouloir faire des mathématiques avec une calculatrice, ou un ordinateur, semble relever de la gageure ! En effet, d’un côté, un mathématicien travaille de façon symbolique avec des nombres très variés, comme 1/3 ou 2 ou encore , c’est-à-dire des nombres qui bien souvent possèdent un nombre illimité de chiffres après la virgule. De l’autre, du fait des incontournables contraintes matérielles, les représentations de nombres dans un microprocesseur sont bien évidemment bornées. Toute la question est de savoir comment le caractère intrinsèquement fini de la calculatrice peut rendre compte de l’infini des mathématiques. Nous nous proposons dans ce chapitre de donner quelques éléments de réflexion sur ces problèmes importants. Sommaire Chapitre 9. Arithmétique de la calculatrice.......................................................... 151 1. Nombres machine et … nombres réels................................................ 152 1.1 Mode exact ou approché ?........................................................... 152 1.2 Avec quels nombres une calculatrice travaille-t-elle ?............. 153 1.3 Et les nombres réels des mathématiciens ? ............................. 155 1.4 L’erreur d’affectation ..................................................................... 157 2. Opérations en arithmétique à virgule flottante .................................... 162 2.1 Principe des calculs pour les quatre opérations ....................... 162 2.2 Les différences évanescentes ..................................................... 166 2.3 Dépassement de capacité............................................................ 168 3. Un exemple de propagation des erreurs d’arrondi ............................. 170 3.1 De l’influence des opérations sur le résultat obtenu ................ 170 3.2 Bilan de ces différents calculs… ................................................. 171 3.3 Propagation des erreurs d’arrondi .............................................. 172 3.4 Correction de l’arithmétique de la calculatrice .......................... 174 4. Résoudre une équation du second degré dans les réels .................. 177 4.1 La méthode naturelle .................................................................... 177 4.2 Vers une fonction plus performante ........................................... 177 BILAN : autour de l’ensemble des nombres calculatrice ......................... 180 Chapitre 9. Arithmétique de la calculatrice

Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Christian Vassard (IUFM Rouen)

9

Ch

ap

itre

Vouloir faire des mathématiques avec une calculatrice, ou un ordinateur, semble relever de la

gageure ! En effet, d’un côté, un mathématicien travaille de façon symbolique avec des nombres très

variés, comme 1/3 ou 2 ou encore , c’est-à-dire des nombres qui bien souvent possèdent un nombre

illimité de chiffres après la virgule. De l’autre, du fait des incontournables contraintes matérielles, les

représentations de nombres dans un microprocesseur sont bien évidemment bornées.

Toute la question est de savoir comment le caractère intrinsèquement fini de la calculatrice peut

rendre compte de l’infini des mathématiques. Nous nous proposons dans ce chapitre de donner

quelques éléments de réflexion sur ces problèmes importants.

Sommaire

Chapitre 9. Arithmétique de la calculatrice.......................................................... 151

1. Nombres machine et … nombres réels ................................................ 152

1.1 Mode exact ou approché ? ........................................................... 152

1.2 Avec quels nombres une calculatrice travaille-t-elle ? ............. 153

1.3 Et les nombres réels des mathématiciens ? ............................. 155

1.4 L’erreur d’affectation ..................................................................... 157

2. Opérations en arithmétique à virgule flottante .................................... 162

2.1 Principe des calculs pour les quatre opérations ....................... 162

2.2 Les différences évanescentes ..................................................... 166

2.3 Dépassement de capacité ............................................................ 168

3. Un exemple de propagation des erreurs d’arrondi ............................. 170

3.1 De l’influence des opérations sur le résultat obtenu ................ 170

3.2 Bilan de ces différents calculs… ................................................. 171

3.3 Propagation des erreurs d’arrondi .............................................. 172

3.4 Correction de l’arithmétique de la calculatrice .......................... 174

4. Résoudre une équation du second degré dans les réels .................. 177

4.1 La méthode naturelle .................................................................... 177

4.2 Vers une fonction plus performante ........................................... 177

BILAN : autour de l’ensemble des nombres calculatrice ......................... 180

Chapitre 9.

Arithmétique de la

calculatrice

Page 2: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

152 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

1. Nombres machine et … nombres réels

1.1 Mode exact ou approché ?

Avec l’unité nomade, on accède à ce réglage avec la touche ~ (menu Fichier, Réglages, Réglages

du classeur sur le logiciel) :

Le mode Exact renvoie toujours un résultat exact – en cas d’impossibilité de calcul, le résultat qui a

été saisi ; le mode Approché renvoie toujours un résultat approché, comme une calculatrice

traditionnelle ; le mode Auto combine les deux : exact quand c’est possible, approché sinon.

Ci-dessous quelques exemples de calculs dans les différents modes :

mode Exact mode Approché

mode Auto

Page 3: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 153

© T³ France 2010 / Photocopie autorisée

Une ruse que nous utiliserons parfois : il suffit dans un calcul, quel que soit le mode choisi,

d’introduire un nombre « à virgule », comme 2.718 pour que le résultat soit donné en mode approché.

Notamment, et nous ferons l’usage de cet artifice parfois, le simple fait de multiplier un résultat par

1.0 en donne une valeur approchée1 :

Nous profitons de ce menu pour régler le classeur à Flottant 12 : notons que c’est simplement un

paramètre concernant l’affichage des résultats car les calculs sont toujours effectués au maximum des

possibilités de la calculatrice.

1.2 Avec quels nombres une calculatrice travaille-t-elle ?

Les constructeurs de calculatrices gardent jalousement le secret sur leurs systèmes de représentation

des nombres : on n’en trouve pas trace dans la notice de la TI-Nspire. Mais on peut penser, sans

prendre trop de risques, que TI s’appuie pour la TI-Nspire sur le principe de codage Décimal Codé

Binaire (DCB) qui se distingue dans sa forme des codages dits IEEE, plus lourds, implantés sur les

ordinateurs.

Essayons d’appréhender la situation que l’on rencontre sur notre calculatrice : sans entrer dans des

détails techniques ardus, nous nous contenterons de comprendre ce que la calculatrice nous révèle de

son mode de fonctionnement à partir de l’affichage des résultats.

Travaillons d’abord en mode approché. Quel est le résultat renvoyé par exemple pour le nombre

réel 100 ?

D’une part, on peut lire un résultat, 5.18784831432E49, avec 12 chiffres significatifs (dont 1 chiffre

non nul avant la virgule).

Quand on « redescend » le résultat en ligne de commande, on constate que la calculatrice travaille en

fait avec 14 chiffres significatifs : elle utilise en fait deux chiffres supplémentaires, ici 1 et 6, qu’on

appelle des chiffres de réserve. Les chiffres de réserve lui servent notamment à arrondir le résultat

affiché.

D’autre part, apparaît un exposant de la puissance de 10, qui peut varier sur une TI-Nspire entre –999

et 999.

Sur cet autre exemple, seulement 11 chiffres significatifs s’affichent, car le dernier… est 0 (voir les

chiffres de réserve et l’arrondi qui en résulte).

1 … ce qui évite l’utilisation de approx ou la combinaison de touches /·.

Page 4: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

154 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Ci-dessous figurent quelques exemples de nombres :

Plus généralement, en mode approché, un nombre machine s’écrit sous la forme

1 2, ... 10p

Nx d d d

où N est le nombre de chiffres significatifs de la calculatrice, ici égal à 142, et où d1, d2, ..., dN sont des

chiffres du système décimal. Ce nombre est précédé d’un signe + ou –.

1 2, ... Nm d d d est appelé la mantisse du nombre x. Si l’on suppose de plus que d1 0 – ce que l’on

a observé sur la calculatrice – le nombre est dit écrit en virgule flottante normalisée : la mantisse m

est alors nécessairement comprise entre 1 et 9,999 999 999 999 9.

p est appelé l’exposant du nombre x : il peut varier sur une TI-Nspire entre –999 et 999.

Attention à bien utiliser la touche i pour saisir un nombre en virgule flottante : la multiplication par

une puissance de 10 donne un résultat équivalent, mais un calcul doit être effectué, qui prendra plus

de temps.

Comme on le voit sur l’écran précédent, le nombre saisi, en fonction de sa taille apparaîtra ou bien en

virgule flottante (si sa partie entière dépasse 12 chiffres), ou bien en écriture traditionnelle (sinon).

Cardinal de l’ensemble des nombres machine

Cet ensemble est fini : on l’oublierait presque tant la calculatrice semble capable d’effectuer

n’importe quel calcul. Il est facile d’en donner le cardinal. En effet, dans le système de représentation

des nombres réels de la calculatrice que nous venons de décrire, le nombre de nombres qui peuvent

être représentés exactement par la machine s’élève à :

2 9 1013

(2 999 +1) + 1.

En effet, on a : 2 possibilités pour le signe,

9 pour le choix de d1 (pas le 0),

1013

pour le choix de d2, ..., d14,

2 999 + 1 pour l’exposant (on n’oublie pas de rajouter 1 pour l’exposant 0),

et le zéro, pour lequel il faut rajouter 1 !

C’est un nombre colossal, égal à 359 820 000 000 000 001.

2 On compte ici les chiffres de réserve, au nombre de deux.

Page 5: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 155

© T³ France 2010 / Photocopie autorisée

Nous appellerons dans ce chapitre l’ensemble de tous les nombres que la machine peut

représenter en virgule flottante.

Première différence de taille – nous en pointerons bien d’autres – : entre et : le premier est fini, le

second infini (il a même la puissance du continu).

La calculatrice en mode approché ne peut pas donc pas représenter tous les nombres réels, ni même

tous les décimaux ou tous les entiers…

Mais la calculatrice fonctionne aussi en mode exact. Elle peut aussi travailler :

de façon formelle avec des nombres comme 2, ou ou e ou i ;

avec des nombres entiers longs, allant jusqu’à un peu plus de 913 chiffres3.

On peut noter l’ensemble de tels nombres : de même que pour , l’ensemble est aussi un

ensemble fini.

Par ailleurs, la calculatrice est aussi capable d’effectuer du calcul formel avec des variables désignées

par une ou plusieurs lettres, représentant un nombre non précisé. On peut mener alors un calcul

comme on le ferait en mathématique : factorisation, développement, résolution d’équation, dérivation,

etc. Nous ne développerons pas ce point dans ce chapitre.

1.3 Et les nombres réels des mathématiciens ?

Première manifestation du conflit nombres réels-nombres machine. Tous les nombres réels ne sont pas

représentables exactement4 par la calculatrice :

soit qu’ils soient trop grands en valeur absolue et dépassent le plus grand nombre de la

calculatrice 9,999 999 999 999 9 10999

: on parle dans ce cas d’overflow5 ;

soit qu’ils soient trop proches de 0, plus précisément compris en valeur absolue entre 0 et

1 10–999

: on est alors dans une situation d’underflow ;

soit enfin, cas le plus fréquent, qu’ils soient compris strictement entre deux nombres machine,

par exemple 1/3 compris entre 0,333 333 333 333 33 et 0,333 333 333 333 34.

3 Cette dernière possibilité est absolument remarquable pour l’arithmétique. Nous en avons développé de nombreux exemples dans les

chapitres qui précèdent.

4 Sauf bien évidemment les nombres que l’on représente formellement, comme … Nous écarterons ce cas dans la suite du chapitre.

5 Ou dépassement de capacité ou encore de surpassement de capacité mais le mot anglais est le plus fréquemment employé. Pour underflow,

le mot sous-passement de capacité est parfois utilisé.

Page 6: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

156 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

En cas d’overflow, la valeur est remplacée par le symbole ou – et un message d’avertissement

est affiché :

Quant à l’underflow, il est passé sous silence, et le nombre est mis d’autorité à 0 : cela peut, comme

on le verra sur certains exemples altérer de façon importante le résultat d’un calcul.

Cas plus fréquent, quand un nombre réel est compris strictement entre deux nombres machine, la

machine applique une procédure pour remplacer le nombre par un nombre machine, avec lequel elle

peut travailler. Cette procédure entraînera ce qu’on appelle une erreur d’affectation : c’est le premier

type d’erreur que l’on rencontre quand on travaille avec une calculatrice…

Prenons un exemple. Entrons dans une TI-Nspire le nombre : 1,234 567 890 129 198 76.

18 chiffres significatifs… soit 4 de trop pour la calculatrice !

Que renvoie-t-elle ?

La calculatrice affiche 1.23456789013 : c’est un nombre de 12 chiffres, le 12e ayant été arrondi.

Faisons apparaître les chiffres de réserve, 9 et 2, en redescendant le nombre en ligne de commande : la

calculatrice travaille avec 1.2345678901292. Ils servent notamment ici à arrondir le résultat6 : pour

arrondir à 3, la calculatrice a besoin de savoir, qu’après le 2 vient un 9…

6 Mais ce n’est pas leur seule utilisation ! Ils servent aussi à limiter la propagation des erreurs d’arrondi.

Page 7: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 157

© T³ France 2010 / Photocopie autorisée

Le dernier chiffre de réserve est lui-même arrondi : la saisie 919876 a été transformée en 92, ce qui

laisse penser que la calculatrice a connaissance du chiffre qui vient après le 17. Ce qui est encore

confirmé par les exemples suivants :

Dans les deux cas, le 12e chiffre est arrondi… et le 14

e aussi (pour mémoire

3,141 592 653 589 793 238 462 643 383 279 502 884).

En résumé, il n’est pas inutile d’avoir en tête ce que des collègues de l’IREM de Montpellier

appelaient, il y a quelques années, la « trilogie de la calculatrice » :

1.4 L’erreur d’affectation

Ce que l’on appelle l’erreur d’affectation, c’est précisément l’écart entre le nombre réel que

l’on cherche à représenter et le nombre machine qui le représente effectivement8.

C’est en quelque sorte le prix à payer de la finitude de toute calculatrice.

Cette erreur peut être calculée dans les exemples précédents. Nous ferons les calculs

systématiquement avec les chiffres de réserve, avec lesquelles la calculatrice travaille :

1,234 567 890 129 2 – 1,234 567 890 129 187 6 = 1,24 10–14

.

Obtenir une majoration de l’erreur d’affectation

L’erreur d’affectation a pu précédemment être calculée parce qu’on connaissait précisément la valeur

entrée. C’est rarement le cas dans la pratique9.

7 Travaille-t-elle avec un chiffre de réserve supplémentaire ? La question est posée…

8 C’est une erreur absolue…

9 Connaître l’erreur exactement, c’est aussi connaître exactement la valeur entrée…

La trilogie de la calculatrice :

le nombre qu’on rentre,

celui qu’elle affiche,

celui avec lequel elle travaille…

Très souvent, ces nombres sont deux à deux différents…

Page 8: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

158 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Par exemple, quand on souhaite travailler avec 2, la calculatrice affiche en fait le nombre décimal

1,414 213 562 37 (12 chiffres significatifs) et elle effectue ses calculs avec 1,414 213 562 3731, (14

chiffres significatifs)10

.

Comme précédemment, l’erreur d’affectation est celle que l’on commet en remplaçant 2 par

1,4142135623731 (valeur considérée avec les chiffres de réserve).

À défaut d’être connue exactement, l’erreur peut être facilement majorée. Comme le résultat dans ce

cas est arrondi, on est alors sûr que :

1,414 213 562 373 05 2 < 1,414 213 562 373 15

(la véritable valeur est 1,414 213 562 373 095 048 801 688 724 209…) 

–5 10 – 14

2 – 1,414 213 562 373 1 < 5 10–14

soit

| 2 – 1,414 213 562 373 1| 5 10–14

.

Remarquons que si l’on change le nombre11

, le majorant de l’erreur d’affectation change lui aussi.

Ainsi par exemple, avec 123456789 :

on peut écrire :

11 111,111 060 555 5 123 456 789 < 11 111,111 060 556 5

–5 10–10

123 456 789 – 11 111,111 060 556 < 5 10–10

soit 8123 456 789 11111,111060 6 5 10 .

Un résultat général…

On dispose du résultat général suivant qui donne une majoration de l’erreur commise. On note

habituellement fl(a)12

le nombre machine correspondant à a.

Théorème

Dans une arithmétique flottante à t chiffres on a fl 5 10 ta a a p , avec p = 1 dans le

cas de l'arrondi et p = 2 dans le cas de la troncature.

10 Une fois de plus le dernier chiffre de réserve est arrondi.

11 Ou du moins son ordre de grandeur…

12 fl pour flottant.

Page 9: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 159

© T³ France 2010 / Photocopie autorisée

Démonstration

Plaçons-nous d’abord dans le cas de la troncature.

Soit donc a = 1 2 1, ... ... 10q

t ta a a a avec a1 0 le nombre réel que l’on cherche à rentrer dans la

calculatrice.

Puisqu’il y a troncature à t chiffres significatifs, on aura :

fl(a) = 1 2, ... 10q

ta a a avec a1 0.

L’erreur commise est donc :

1

1 2

fl 0,0...0 ... 10 (avec t 1chiffres 0 après la virgule)

, ... 10 10

q

t

q t

t t

a a a

a a

Cherchons à majorer cette expression :

1 2 1 1 2, ... 10 10 10 , ...t ta a a a a car a1 0.

Par conséquent :

1 2 1 2fl , ... 10 10 10 , ... 10 10 10 10q t q t t

t ta a a a a a a

ce qui est bien la majoration attendue.

Plaçons-nous maintenant dans le cas de l’arrondi.

Un cas se traite immédiatement, de la même façon que précédemment : en posant

1 2 1, ... ... 10q

t ta a a a a avec a1 0 et 1 0,1, 2, 3 ou 4ta , après arrondi à t chiffres significatifs, on

aura cette fois :

1 2fl , ... 10q

ta a a a

et l’erreur commise est donc :

1 2

1 2

fl 0,0...0 ... 10 (avec 1chiffres 0 après la virgule)

, ... 10 10

q

t t

q t

t t

a a a a t

a a

Par le même raisonnement que précédemment, on a :

1 2 1 2fl , ... 10 10 5 , ... 10 10 5 10q t q t t

t ta a a a a a a

, ce que l’on cherche à

obtenir.

Supposons maintenant que 1ta soit égal à 5, 6, 7, 8 ou 9.

Dans un premier temps, on cherche à arrondir 1 2 1, ... ...t tm a a a a . Attention, l’arrondi que l’on va

obtenir ne contient pas forcément les mêmes chiffres que m, même sur les t – 2 premiers chiffres.

Ainsi si l’arrondi à 4 chiffres significatifs de 1,2879876 est 1,288, l’arrondi de 1,9999654 est 2,000…

qui n’a aucun chiffre en commun avec le nombre de départ. Il faut être prudent !

Notons donc 1 2, ... tb b b l’arrondi de m. Alors :

1 2 1 2 1 1 2, ... , ... ... 0,0...0 ...t t t t tb b b a a a a c c , avec t – 1 chiffres 0 après la virgule.

Que se passe-t-il dans la soustraction ?

b1 , b2 … bt

– a1 , a2 … at at+1 at+2 …

0 , 0 0 ct+1 ct+2 …

Page 10: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

160 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Si 1ta est le dernier chiffre non nul de m, alors

1 5 tc et la différence vaut moins de 5 10 t .

Sinon, 1ta hérite d’une retenue précédente égale à 1 et 1tc est alors inférieur ou égal à 4.

Bref, dans les deux cas :

1 2 1 2 1 1 2, ... , ... ... 0,0...0 ... 5 10 t

t t t t tb b b a a a a c c

1 2 1 2fl fl , ... 10 10 5 10 10 5 , ... 10 10 5 10t q t q t q t

t ta a a a c c a a a

C’est bien le résultat attendu.

On remarque que l’erreur produite lors d’un arrondi est majorée par un nombre deux fois plus petit

que celui obtenu par troncature.

Ce théorème donne un majorant de l’erreur absolue : il est immédiat d’en déduire que l’erreur relative

fla a

a

est majorée par 5p 10

–t, avec p = 1 dans le cas de l'arrondi et p = 2 dans le cas de la

troncature.

Pour la TI-Nspire, en tenant compte des chiffres de réserve, on sait que t = 14 et que le quatorzième

chiffre est arrondi : un majorant de l’erreur relative est donc 5 10–14

.

À cause des erreurs d’affectation, deux nombres réels différents peuvent être représentés

par le même nombre machine.

Ainsi par exemple, 1,234567890123456789 et 1,234567890123498765 sont représentés par le même

nombre machine,1,2345678901235, comme le prouvent les écrans suivants :

Plus généralement, on conçoit qu’un même nombre machine représente en fait une infinité de

nombres réels.

À l’inverse – rien n’est vraiment simple quand on travaille avec une calculatrice – deux nombres réels

égaux sont parfois représentés par des nombres machine différents !

Prenons par exemple 3 2 2 et 2 1 : ces deux réels sont égaux (ce sont deux nombres positifs

qui ont même carré) et la calculatrice en mode exact le confirme :

Page 11: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 161

© T³ France 2010 / Photocopie autorisée

En mode approché (faire /·), elle les considère comme différents :

Si l’on s’en tient à l’affichage, les nombres ont l’air égaux ; en fait ils diffèrent légèrement par leurs

chiffres de réserve (pour le premier, 08 et pour le second 10) : les calculs qui ont conduit aux résultats

n’ont pas été exactement les mêmes…

Cet exemple met en évidence la supériorité du calcul formel sur le calcul en virgule flottante…

Gardons nous d’être là encore trop confiants, même si des progrès ont été faits ! Là où la Voyage 200

renvoyait le problématique :

la TI-Nspire obtient des résultats tout à fait satisfaisants :

Plus généralement, la calculatrice renvoie true si elle trouve un chemin d’un des membres du signe =

vers l’autre ; sinon elle renvoie false. Mais on peut concevoir que le chemin à trouver soit invisible à

la calculatrice. Par exemple, on sait grâce aux formules élémentaires de trigonométrie que

1 cos12sin

24 2

… mais cette égalité formelle n’est pas perçue par la TI-Nspire, pas plus

d’ailleurs que l’égalité approchée, à cause des chiffres de réserve…

Page 12: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

162 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

En tout état de cause, la prudence s’impose, même avec le calcul formel.

Bref, il n’existe pas de panacée en matière de calcul par ordinateur ou calculatrice : on ne peut pas

demander à ce type d’outil, par essence fini, de rendre compte de la complexité et de l’infinitude des

objets mathématiques, qui relèvent du monde des idées. Des problèmes sont donc inévitables, et ce

quel que soit le logiciel ou la calculatrices utilisés. Si l’utilisateur se doit de les connaître, pour bien

maitriser son outil, il convient de rester réaliste et de ne pas mettre trop rapidement la calculatrice, ou

l’ordinateur, aux oubliettes : on y perdrait un outil de calcul personnel extraordinaire qui rend dans la

plupart des cas de bien fiers services13

.

2. Opérations en arithmétique à virgule flottante

Si l’on se contentait juste d’entrer des nombres dans la calculatrice, les problèmes seraient

relativement limités ! Mais aux erreurs d’affectation mentionnées ci-dessus vient s’ajouter une

difficulté supplémentaire : on fait des calculs, de nombreux calculs même, et le résultat d’une seule

opération portant sur deux nombres machine donne rarement exactement un nombre machine.

Nouvelle source d’erreur donc…

Si l’erreur commise pour une seule opération peut assez bien être cernée, la question se pose de la

validité d’un résultat renvoyé lorsqu’on enchaîne les opérations par dizaines, voire par centaines dans

un programme. Le problème est d’un abord difficile, sans solution simple. Tout au plus est-il

important d’avoir quelques points de repère, que nous examinerons dans ce qui suit.

On pourrait croire que l’utilisation du mode exact de la calculatrice aplanit toutes les difficultés.

D’une part, les remarques des pages précédentes dissiperont les éventuelles illusions qu’on pourrait

avoir. D’autre part, les calculs exacts, outre qu’ils pénalisent lourdement le processeur et la mémoire,

ne sont intéressants que lorsque le résultat se simplifie bien et s’appréhende facilement… mais c’est

rarement le cas en analyse ! Nous aurons l’occasion de revenir sur ce point.

2.1 Principe des calculs pour les quatre opérations

Dans les exemples qui suivent, nous nous placerons dans le cas fictif d’une arithmétique à 3 chiffres

significatifs et des exposants compris entre –15 et 15 ; nous supposerons que le dernier chiffre

affiché, le troisième, est arrondi14

.

On additionne en mettant en évidence un exposant commun (le plus grand), puis en effectuant

l’opération, comme on procéderait à la main.

Étudions quelques exemples.

13 Nous avons montré et nous montrerons par la suite – du moins l’espérons-nous ! – combien la TI-Nspire ou son logiciel, bien utilisés,

peuvent être extraordinairement performants… et d’une utilisation très commode.

14 Concrètement, cela induit que, d’une façon ou d’une autre, on connaisse le quatrième chiffre significatif… Mais nous n’entrerons pas

dans les détails techniques d’architecture de la machine ou de l’ordinateur qui permettrait de résoudre ce point.

Page 13: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 163

© T³ France 2010 / Photocopie autorisée

(+1,25 105) + (+6,57 10

6) = (+0,125 + +6,57) 10

6

= +6,695 106 +6,70 10

6

Le résultat obtenu n’est pas un nombre machine – c’est souvent le cas – mais tout revient à arrondir le

résultat obtenu. En d’autres termes, l’erreur que l’on commet n’est autre qu’une erreur d’affectation

sur le résultat du calcul.

C’est la situation que l’on rencontre par exemple ci-après :

(+4,37 1011

) + (+1,25 105) = (+4,37 + +0,00000125) 10

11

= +4,37000125 1011

+4,37 1011

.

Là encore, l’erreur commise n’est qu’une erreur d’affectation sur le résultat du calcul. Remarquons

aussi qu’aucun des chiffres significatifs du deuxième terme n’a été pris en compte dans le résultat

final, les nombres à ajouter étant de taille trop différente (la situation doit être évitée autant que

possible lors de calculs répétés).

Voir par exemple l’exemple qui suit, sur une TI-Nspire :

Mathématiquement, dans ce cas particulier, tout revient à dire que l’on a l’égalité-machine x + z = x,

bien que z soit non nul ! L’addition dans l’ensemble des nombres calculatrice perd une propriété

pourtant très élémentaire de l’addition des réels15

.

Dans le même ordre d’idée, le nombre 1 possède un « successeur » dans l’ensemble des nombres

machine : c’est 1 + 10–13

= 1,0000000000001, alors que 1 + 10–14

= 1.

10–13

est appelé l’epsilon machine : c’est la plus grande valeur telle que 1 1 . Pour la TI-

Nspire, on a vu que l’erreur relative d’affectation était égale à 145 10 / 2 .

La soustraction fonctionne de façon analogue :

(+5,78 106) – (+3,23 10

5) = (+5,78 – +0,323) 10

6 = +5,457 10

6 +5,46 10

6

L’erreur commise est une erreur d’affectation sur le résultat du calcul.

Mais peuvent se produire des disparitions de chiffres significatifs, lorsque l’on soustrait deux nombres

très proches : comme ils sont proches, ils ont des chiffres en commun, qui disparaissent par

soustraction. Cette disparition accroît fortement l’erreur sur le résultat. On parle alors de différence

évanescente ou parfois d’erreur de cancellation.

15 Elle en perdra beaucoup d’autres, comme on le verra dans la suite… ce qui n’empêche pas la calculatrice ou l’ordinateur d’être un outil

précieux pour faire des mathématiques.

Page 14: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

164 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Prenons un exemple, en calculant x – y, où x = +3,24 105 et y = +3,23 10

5.

x – y = (+3,24 105) – (+3,23 10

5) = (+3,24 – +3,23) 10

5 = +0,01 10

5 = 1,00 10

3 = 1000

La situation peut paraître anodine ainsi présentée… car les calculs qui sont faits dans ce cas sont

corrects, bien évidemment, puisqu’on raisonne déjà sur des nombres machine…

Mais dans la pratique, c’est rarement le cas ! Les nombres qui interviennent ont presque toujours été

arrondis : ainsi, x peut provenir par exemple de 324 499, arrondi à 324 000 = +3,24 105 et y de

323 000.

x – y en réalité vaudra 1499, à rapprocher du 1000 donné par la calculatrice : 3 chiffres significatifs

ont été écartés du calcul. L’erreur absolue est de 499, tandis que l’erreur relative s’élève à

1499 1000 49933,2%

1499 1499

.

Plus généralement, x représente a priori un nombre qui, compte tenu des arrondis, est dans

l’intervalle :

[+3,235 105 ; +3,245 10

5[

tandis que –y représente un nombre de l’intervalle ]–3,235 105 ; –3,225 10

5].

On peut donc affirmer que :

x – y ]0 ; +0,02105[ = ]0 ; 2000[.

Le résultat peut donc valoir n’importe laquelle des valeurs de cet intervalle… tandis que la

calculatrice renverra dans tous les cas 1000… L’erreur commise peut devenir importante.

Plus généralement, l’erreur de cancellation intervient lorsque l’on soustrait deux nombres x et y proches, ayant de nombreux chiffres en commun… qui vont disparaître par soustraction

16, comme

dans l’exemple qui suit :

C’est une erreur fréquente, qui peut être redoutable et perturber profondément le résultat d’un calcul.

Nous verrons dans le paragraphe suivant quelques exemples où cette erreur intervient et comment la

contourner.

Poursuivons avec la multiplication ou la division. On multiplie, ou on divise, en multipliant, ou

en divisant, les mantisses et en additionnant, ou en soustrayant, les exposants. Ainsi :

(+1,25 105) (–1,28 10

5) = (+1,25 –1,28) 10

10 –1,60 10

10

Dans ce cas, le produit des deux nombres machine est bien un nombre machine. Mais il arrive, comme

pour l’addition, que l’on perde des chiffres significatifs, lorsque le résultat obtenu dépasse les

capacités d’affichage de la calculatrice. On commet alors l’équivalent d’une erreur d’affectation par

arrondi sur le résultat du calcul. Ainsi :

(+1,25 105) (+6,57 10

6) = (+1,25 +6,57) 10

11 = 8,2125 10

11 8,21 10

11

(+1,25 105) / (+4,37 10

11) = (+1,25 / +4,37) 10

–6

+0,286041 10–6

+2,86 10-7

16 C’est le principal problème que l’on rencontre avec les additions-soustractions : à tel point que si l’on peut éviter de faire une soustraction

par transformation algébrique, on ne s’en privera pas, quitte à ce que les calculs soient plus compliqués !

Page 15: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 165

© T³ France 2010 / Photocopie autorisée

Peuvent aussi survenir un overflow, ou sur-passement de capacité, et un underflow, ou sous-

passement de capacité, comme le montrent les exemples suivants.

(+1,25 105) (+4,37 10

11) = (+1,25 +4,37) 10

16

= +5,4625 1018

= +5,46 1018

…overflow…

En cas d’overflow sur une TI-Nspire, le résultat est considéré comme égal à l’infini, sans pour autant

que les calculs soient bloqués :

(+2,15 10–11

) / (+4,37 1011

) = (+0,215 / +0,437) 10–22

+0,491990 10–22

4,91 10–22

…underflow…

La TI-Nspire remplace le résultat par 0 quand elle rencontre un underflow, et ne renvoie aucun

message d’avertissement. Il est vrai que, dans ce cas et contrairement à l’overflow, l’erreur commise

est souvent très petite.

Les quelques exemples précédents tendent à montrer que l’erreur commise lors d’une opération

arithmétique, sauf dans le cas d’une situation de différence évanescente, d’un overflow ou d’un

underflow, n’est rien d’autre qu’une erreur d’affectation sur le résultat obtenu : nous admettrons que

c’est bien le cas en général.

Tenant compte du théorème établi plus haut, on peut alors affirmer que :

Soit * une des quatre opérations arithmétiques +, –, et /.

Hors cas de différence évanescente, d’overflow ou d’underflow, l’erreur produite sur

l’opération * satisfait à l’inégalité :

* fl * 5 * 10 tA B A B A B p

avec p = 1 dans le cas de l’arrondi et p = 2 dans le cas de la troncature.

Page 16: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

166 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Malheureusement on ne dispose pas toujours d’un résultat analogue pour les fonctions mathématiques

usuelles : il suffit de reprendre le calcul de sin24

fait au début du chapitre pour réaliser que des

problèmes peuvent survenir.

2.2 Les différences évanescentes

Nous avons vu que cette situation pouvait introduire des erreurs importantes dans un calcul ; comme

de plus, les calculs que l’on effectue à la calculatrice sont rarement isolés, ces erreurs se propagent et

peuvent ôter tout sens à un résultat renvoyé.

La situation doit donc être identifiée lorsqu’elle survient, et contournée si c’est possible.

Facile à diagnostiquer en fait : elle n’est susceptible d’apparaître qu’avec des différences… une façon

de contourner le problème est de bannir purement et simplement, lorsque c’est possible, les

différences dans un calcul. D’autant que la difficulté peut souvent être contournée par un calcul

analytique.

Quelques exemples montrent ci-après comment on peut procéder.

Soit à calculer 1 1

123456001 123456002 . Sans précaution la calculatrice renvoie :

Remarquons que le résultat n’affiche plus que 6 chiffres significatifs, alors que la calculatrice peut en

gérer jusqu’à 14. Cette perte de chiffres significatifs est caractéristique d’une situation de différence

évanescente.

Peut-on se débarrasser de la différence ? Oui, car il est immédiat que

1 1 1 1

1 1 1

x x

x x x x x x

.

On peut donc écrire que 1 1 1

123456001 123456002 123456001 123456002

… ce qui donne

maintenant sur la calculatrice :

On constate que la simple transformation algébrique du calcul nous permet de récupérer 14 chiffres

significatifs, au lieu des 6 précédents. On voit bien dans cet exemple tout l’intérêt qu’il y a à se

débarrasser de la soustraction… puisque c’est possible !

Page 17: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 167

© T³ France 2010 / Photocopie autorisée

Un autre exemple, avec une situation que l’on rencontre quand on cherche à conjecturer à la

calculatrice la limite quand x tend vers 0 de 1 1

( )x

f xx

. Sans aucune précaution – voir la

colonne B de la feuille de calcul ci-dessous – on arrive à :

Le calcul est fait avec approx.

De là à conclure que la limite est 0, il n’y a qu’un pas… qu’il ne faut pas franchir, car on peut à juste

titre suspecter une situation de différence évanescente. En effet, lorsque x est petit, 1 1x – on

peut même avoir l’égalité pour la calculatrice lorsque x est inférieur à l’epsilon-machine – et l’on est

amené à faire une différence de deux nombres très voisins, qui fait disparaître de nombreux chiffres

significatifs17

Là encore, une transformation algébrique simple règle la difficulté. On sait que :

1 1 1 11 1 1

1 11 1 1 1

x xx x

x xx x x x

… et les différences gênantes ont disparu (colonne C) ! On peut alors conjecturer sans peine que la

limite est 0,5.

Pour le dernier exemple, nous cherchons à calculer sin x x , pour des valeurs de x proches de 0. On

constate très vite que tous les chiffres significatifs du résultat ont disparu et qu’on ne peut donner de

réponse satisfaisante (colonne B).

17 Voire tous les chiffres significatifs pour donner 0 ici lorsque x est très petit. D’où notre problème !

Page 18: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

168 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

On peut contourner cette difficulté avec la formule de Taylor :

3 5

7sin6 120

x xx x o x ,

avec une précision suffisante pour les valeurs considérées de x. C’est ce que nous faisons dans la

colonne C du tableur.

Un autre exemple peut être évoqué : il vaut mieux remplacer le calcul de ln x – 1 par lnx

e

lorsque x

est proche de 1.

2.3 Dépassement de capacité

Soit à calculer le plus précisément possible l’expression 296

x

x

xe

e x pour x = 2 310.

Le premier réflexe est de prendre sa calculatrice et de lancer le calcul :

Réponse undef… on doit donc regarder le problème de plus près. Le message d’avertissement laisse

suspecter des underflows ou overflows.

Page 19: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 169

© T³ France 2010 / Photocopie autorisée

Une première approche consiste à regarder séparément comment se comportent les numérateurs et

dénominateurs :

L’un et l’autre sont en dépassement de capacité : la calculatrice répond sagement et undef pour le

quotient !

L’expression doit être transformée pour qu’on puisse espérer avancer dans le calcul. On peut écrire :

296 2961

x

x x

xe x

e x x e

Regardons ce que cette formule donne :

Un premier résultat donc ! Mais peut-on être satisfait ou doit-on regarder d’un peu plus près ?

On peut craindre un underflow pour 296 xx e .

Le résultat est effectivement nul, sans aucun message d’avertissement… Il faut mieux regarder de

près la contribution de chacun des facteurs :

On constate que le produit 2 310e par 2 310296

est sûrement un nombre raisonnable en taille, mais qui

passe à 0 de façon quelque peu abusive à cause de l’underflow sur l’exponentielle.

Comment remédier à tout ceci ? Une nouvelle transformation algébrique s’impose :

296 296

148 1482 21

1 1

x

x x x x

xe x x

e x x ex e x e

Page 20: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

170 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Le résultat est maintenant :

Le produit 148 11552 310 e peut être calculé correctement et on peut maintenant avoir confiance dans le

résultat affiché.

On constate sur cet exemple, et sur ceux qui ont précédé, que des expressions mathématiquement

égales sont bien loin parfois d’être équivalentes du point de vue de la calculatrice : elles peuvent

donner des résultats qui diffèrent. Les propriétés de l’ensemble des nombres machine ne sont donc

pas les mêmes du point de vue des opérations que celles de l’ensemble des réels. On doit

systématiquement réfléchir à la meilleure formule pour qu’un calcul soit mené à son terme le plus

efficacement possible.

3. Un exemple de propagation des erreurs d’arrondi

On se propose d’examiner comment les erreurs d’arrondi se propagent dans un calcul banal, mais avec

de nombreuses opérations, la somme 500 000

1

1

k k

calculée avec le logiciel sur l’ordinateur.

Elles proviennent, comme on l’a vu de deux causes :

les erreurs d’affectation sur chacun des nombres entrés (ou presque !) ;

les erreurs dues aux opérations, qui sont, comme on l’a vu, des erreurs d’affectation sur les

résultats de chaque somme.

3.1 De l’influence des opérations sur le résultat obtenu

Gardons les mêmes nombres, et donc les mêmes erreurs d’affectation, mais modifions l’ordre des

termes : les opérations ne seront donc pas exactement les mêmes. Mathématiquement, le résultat doit

être le même. Qu’en est-il exactement ?

Faisons d’abord le calcul dans l’ordre croissant des entiers :

Réponse 13,699580042419

Puis dans l’ordre décroissant :

Page 21: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 171

© T³ France 2010 / Photocopie autorisée

Réponse 13,699580042312

Résultat légèrement différent…

Ou encore en additionnant les entiers pairs dans l’ordre croissant, puis les entiers impairs dans le

même ordre :

Réponse 13,699580042312

… en additionnant les entiers pairs dans l’ordre décroissant, puis les entiers impairs dans le même

ordre :

Réponse 13,699580042314

… enfin en additionnant par les deux bouts…

Réponse 13,699580042324

On pourrait multiplier les exemples…

3.2 Bilan de ces différents calculs…

Point négatif : cinq façons d’organiser un même calcul, quatre résultats différents… Globalement, on

ne peut qu’avoir de sérieux doutes sur les deux chiffres de réserve, ainsi que sur le douzième chiffre

significatif.

Page 22: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

172 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Est-ce surprenant ? Non, car on a vu précédemment que des expressions mathématiquement égales ne

sont pas forcément équivalentes du point de vue l’organisation des calculs.

Point positif : les différences se manifestent essentiellement sur les chiffres de réserve... C’est aussi

leur rôle que d’amortir la propagation des erreurs d’arrondi dans un calcul.

Quelles sont les causes d’erreur ?

On a parlé des erreurs d’affectation, mais elles ne peuvent justifier tous les écarts : les différents

calculs précédents faisant intervenir les mêmes nombres, on a nécessairement les mêmes erreurs

d’affectation. Il faut cette fois regarder du côté des erreurs induites par les opérations.

Mais au fait, quel est donc le résultat exact ?

On peut l’obtenir en utilisant un logiciel de calcul formel en lui demandant d’afficher 50 chiffres

significatifs… Sur la base des différents résultats obtenus, on peut penser que les 30 ou 40 premiers

sont corrects. On obtient :

13,699580042305528321963895496730411108319299879385

À la lumière de ce résultat, le calcul fait avec les indices décroissants est un des deux qui donnent le

résultat le plus proche.

Cela n’est pas surprenant et on peut en déduire une loi empirique générale, qui contribue à retarder

l’apparition de sommes de nombres d’ordre de grandeurs différents : il vaut mieux effectuer une

somme en allant du plus petit nombre vers le plus grand.

3.3 Propagation des erreurs d’arrondi

Limitons-nous au cas où l’on calcule la somme S dans l’ordre croissant

S = 1

1 +

1

2 +

1

3 + … +

1

500 000.

Le résultat renvoyé pour ce calcul est le premier obtenu : 13,699 580 042 419. Un calcul d’erreur

précis est délicat à faire. Tout au plus, nous nous contenterons de donner quelques éléments pour

comprendre la pertinence du résultat renvoyé.

Si l’on écrit les premiers termes :

1,0000000000000

0,5000000000000 1,5000000000000

0,3333333333333 1,8333333333333

0,2500000000000 2,0833333333333

0,2000000000000 2,2833333333333

0,1666666666666 2,4499999999999

etc.

Page 23: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 173

© T³ France 2010 / Photocopie autorisée

on réalise que chaque terme n’interviendra dans sa contribution qu’au plus avec ses 13 premières

décimales18

. En d’autres termes, l’erreur sur chacun des termes est moindre que 10-13

. L’erreur au bout

des 500000 termes sera majorée par 500 000 10-13

= 5 10-8

= 0,000 000 05.

On peut en déduire l’encadrement suivant :

13,699 580 042 419 0,000 000 05 S

13,699 580 042 419 0,000 000 05 13,699 580 042 419 0,000 000 05 S

13,699 579 992 419 13,699 580 092 419 S

13, 92 419 13, 92 419699 5 699 579 9 80 0 S

Avec ce calcul d’erreur, nous ne serions sûrs que des 4 premières décimales19

; mais nous avons pour

autant une valeur approchée à moins de 10 10-8

= 10-7

près.

Un tel calcul d’erreur d’erreur est particulièrement catastrophique et reflète sans doute très mal la

réalité de notre résultat. L’erreur maximale est très peu probable : il faudrait pour ce faire que l’erreur

sur chaque terme soit la plus grande possible, et qu’il n’y ait aucune compensation de ces erreurs d’un

terme à l’autre. Ce n’est pas réaliste : la majoration obtenue est certes fiable, mais excessivement

pessimiste. Ceci illustre la difficulté qu’il y a même pour un calcul simple à estimer de façon correcte

l’erreur commise.

Une approche statistique est possible et fournit des résultats bien plus satisfaisants. Cette

approche appréhende le calcul dans sa globalité et donne des résultats bien moins pessimistes que les

désastreux calculs de majoration vus précédemment.

Appelons l’erreur commise sur la somme S précédente (possédant n = 500 000 termes) et ek l’erreur

d’arrondi globale, quelle qu’en soit la cause, commise sur le terme d’ordre k de cette somme.

On a clairement : = ke

D’autre part, compte tenu de l’arrondi sur chaque terme, on sait que 135 10ke .

L’idée est de considérer ek et comme des variables aléatoires et de faire les deux hypothèses

suivantes :

(1) les erreurs ek sont des variables aléatoires indépendantes les unes des autres ;

(2) l’espérance mathématique de ek est égale à 0 : autrement dit, l’arrondi n’a pas plus de

raison de se faire par excès que par défaut.

Remarquons que 222 2 135 10k k k kV e E e E e E e

D’après l’hypothèse (2), on a ( ) 0k kE E e E e .

D’après l’hypothèse (1), on a ( )V 2

13( ) 5 10kV e n et donc l’écart-type de vérifie :

13( ) 5 10V n .

18 Une de moins d’ailleurs quand la somme dépassera 10…

19 La configuration est toutefois particulière compte tenu des chiffres 7 9 9 et 8 0 0.

Page 24: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

174 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

On pourrait conclure avec l’inégalité de Bienaymé-Tchebychev, mais le théorème central limite donne

des résultats bien plus précis. Ce théorème permet d’affirmer que la loi de est une loi normale

d’espérance 0 et d’écart-type , majoré par 135 10n . En d’autres termes,

suit la loi

normale centrée réduite.

On sait alors que la probabilité que soit dans un intervalle d’amplitude 2 autour de 0 est

d’environ 0,95 :

2 2 0,95p .

Comme 13 132 ;2 5 10 ;5 10n n , on en déduit que :

13 135 10 5 10 0,95p n n .

Avec n = 500 000, on peut écrire :

13 135 500 000 10 5 500 000 10 0,95 p

10 103,54 10 3,54 10 0,95p

Autrement dit, l’erreur probable est majorée dans 95% des cas par 3,54 10-10

… résultat beaucoup

plus intéressant que celui que nous avons obtenu par majoration plus haut.

On peut en déduire l’encadrement suivant :

13,699 580 042 419 0,000 000 000 354 S

13,699 580 042 419 0,000 000 000 354 13,699 580 042 419 0,000 000 000 354 S

13,699 580 042 065 13,699 580 042 773 S

13, 065 13, 773699 580 042 699 580 042 S

Avec ce calcul d’erreur, nous sommes sûrs des 9 premières décimales, avec une erreur majorée par

7,08 10-10

… mais avec une probabilité d’un peu plus de 0,95.

3.4 Correction de l’arithmétique de la calculatrice

Il est cependant possible d’atténuer ce phénomène de propagation des erreurs d’arrondi, pour

obtenir un résultat satisfaisant même avec une calculatrice.

Page 25: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 175

© T³ France 2010 / Photocopie autorisée

Pour mieux comprendre ce qui se passe, étudions un exemple particulier de ces erreurs dues à

l’addition, au moment par exemple où la TI-Nspire vient de calculer s =15 000

1

1

k k

et qu’elle doit ajouter à

ce nombre 1

15 001.

Examinons précisément quels calculs sont faits par la calculatrice. En faisant apparaître les chiffres de

réserve, on a :

s 10,193 054 477 948 et 1

15 001 0,000 066 662 222 518 499

La somme effectuée à ce moment est donc la suivante, les chiffres en grisé n’étant pas pris en compte

par la calculatrice :

1 0 , 1 9 3 0 5 4 4 7 7 9 4 8

+ 0 , 0 0 0 0 6 6 6 6 2 2 2 2 5 1 8 4 9 9

1 0 , 1 9 3 1 2 1 1 4 0 1 7 0 5 1 8 4 9 9

6 chiffres significatifs de 1

15 001 sont donc purement et simplement occultés dans ce calcul : cette

perte, certes petite, contribue peu à peu à la dégradation des calculs.

Se pose alors une question : est-il possible de conserver ces chiffres significatifs qui disparaissent ?

La réponse, paradoxalement, est oui et va grandement contribuer à améliorer le calcul.

Effectuons la suite de calculs suivants :

d’abord, (s + 1

15 001) – s, qui met en évidence la valeur de

1

15 001 qui a été incorporée à s ;

par suite, 1

15 001, duquel on ôte le résultat précédent, donne la partie que l’on n’a pas utilisée

de 1

15001 :

Page 26: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

176 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

Remarquons que ce dernier résultat devrait être 0 mais… ce n’est pas le cas car les règles usuelles de

calcul dans ne sont pas conservées pour l’ensemble des nombres de la calculatrice…

Nous voilà donc avec des décimales qui passaient jusqu’à présent aux oubliettes. Les récupérer pour

chaque terme doit permettre d’améliorer le calcul de S.

Les remarques précédentes nous conduisent à écrire une fonction, pour atténuer les erreurs

d’arrondi dues aux sommes successives. En effet, on peut facilement cumuler dans une variable e les

erreurs d’arrondi calculées comme précédemment. Il suffit alors qu’à la fin la fonction retourne s + e

au lieu de s pour que l’on obtienne un résultat plus précis.

C’est ce que fait la fonction suivante :

On obtient les résultats suivants :

Le calcul est plus long que précédemment : on n’y gagne guère à remplacer une fonction de la

calculatrice (), par un programme en TI-Basic. Mais la réponse obtenue est particulièrement

intéressante.

Le résultat à 14 chiffres est :

13,699 580 042 306

au lieu de

13,699 580 042 312

ce qui est exactement la réponse renvoyée par WIMS, arrondie à 14 chiffres significatifs. On peut

considérer que notre fonction a neutralisé la propagation des erreurs d’arrondi.

Mais on peut encore affiner le résultat en ajoutant à la main les contenus des variables s et e. On

obtient s 13,699 580 042 419 et e 0,000 000 000 113 493 849 9

1 3 , 6 9 9 5 8 0 0 4 2 4 1 9

– 0 , 0 0 0 0 0 0 0 0 0 1 1 3 4 9 3 8 4 9 9

1 3 , 6 9 9 5 8 0 0 4 2 3 0 5 5 0 6 1 5 0 1

Résultat à comparer avec celui qu’on a obtenu avec WIMS :

13,699580042305528321963895496730411108319299879385

qui montre qu’un chiffre significatif supplémentaire a été récupéré !

Page 27: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 177

© T³ France 2010 / Photocopie autorisée

4. Résoudre une équation du second degré dans les réels

Évidemment, la calculatrice dispose d’outils qui donnent des résultats satisfaisants. Toutefois,

l’algorithme est si classique et si simple à mettre en œuvre sur une calculatrice qu’on est souvent

amené à l’aborder avec des élèves.

On considère donc l’équation 2 0ax bx c avec a, b et c réels, 0a , que l’on cherche à résoudre

de manière approchée.

4.1 La méthode naturelle

La méthode semble couler de source et ne poser aucun problème : les coefficients de l’équation

peuvent être passés comme paramètres d’entrée de la fonction ; on calcule ensuite le discriminant,

dont on teste le signe, avant de renvoyer les différents résultats, par exemple dans une liste.

C’est ce que fait la fonction suivante :

Remarquons qu’on divise non pas par 2, mais par 2., pour être sûr que le résultat renvoyé, s’il existe,

soit approché.

Les résultats obtenus semblent être conforme à nos attentes :

4.2 Vers une fonction plus performante

Sans précautions particulières, les problèmes ont toutes les chances de survenir. Par exemple, si

l’on cherche à résoudre 8 2 810 8 10 0x x :

Page 28: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

178 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

La deuxième solution, 0, interroge. Tout d’abord 0 n’est pas solution de cette équation. Enfin si la

solution est un nombre proche de 0, ce que l’on veut bien admettre, pourquoi la calculatrice ne

parvient-elle pas à l’exprimer ?

Il faut examiner de plus près ce qui se passe. La variable d de la fonction contient en mode

approché juste b2 = 0,64 car –4ac = 164 10 ne peut pas être pris en compte sur les 14 chiffres que

gère la TI-Nspire. Par conséquent :

8

0,8 0,880 000 000

2 2 10

b d

a, une des valeurs renvoyées…

… mais aussi 8

0,8 0,80

2 2 10

b d

a

On reconnaît là une différence évanescente, différence de deux nombres tellement voisins qu’ils sont

égaux pour la calculatrice et que tous les chiffres significatifs disparaissent.

Le remède est simple : il faut éviter de faire la soustraction fautive. C’est possible car, dans les

formules de résolution d’une équation du second degré, l’une met en œuvre une addition et l’autre une

soustraction. Si la soustraction doit être évitée, on peut s’appuyer sur le fait que le produit des racines

d’une telle équation, quand elles existent, vaut c

a : dès que l’une, x’, est connue, on peut facilement

déduire l’autre sans soustraction, c’est '

c

ax.

Nous voilà donc amenés à tester dans la fonction le signe de b :

si 0b , on doit calculer '2

b dx

a

et ''

'

cx

ax … c’est bien une somme sur les valeurs

absolues qui est faite…

si 0b , on doit calculer '2

b dx

a

et ''

'

cx

ax … c’est bien une somme qui est faite…

Exit la différence à problème…

Pour résumer, on peut travailler avec une variable e, valant 1 lorsque b > 0, –1 si b < 0 et 0 si b = 0.

Les formules précédentes se résument en :

'2

b e dx

a

et ''

'

cx

ax .

La fonction peut alors être la suivante : elle est certes moins immédiate, mais bien plus performante !

On utilise la fonction sign de la TI-Nspire : attention à ce qu’elle renvoie pour 0…

Page 29: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 179

© T³ France 2010 / Photocopie autorisée

Remarquons que la solution x1 ne peut pas être nulle : comme somme de deux nombres de même

signe, elle est nulle si et seulement si chacun des nombres –b et e d l’est, ce qui suppose b nul et d

nul… mais on est alors dans le cas où le trinôme possède une racine double.

Les résultats sont les mêmes pour les équations « classiques », fort heureusement, mais bien plus

satisfaisant pour notre équation problématique :

La solution proche de 0 que nous pressentions est 1,25 10-8

… qui n’est pas vraiment 0 et tout à fait

représentable par les puissances de 10 de notre calculatrice !

Remarquons que la fonction Solve de la calculatrice a un comportement excellent sur ce problème :

Page 30: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

180 Mathématiques et TI-Nspire

© T³ France 2010 / Photocopie autorisée

BILAN : autour de l’ensemble des nombres calculatrice

C’est l’ensemble qui a la « prétention » sur une calculatrice de remplacer l’ensemble des nombres

réels : il y réussit bien souvent (les outils de calcul électroniques sont devenus indispensables en

mathématiques) mais il vaut mieux savoir que des problèmes peuvent se poser.

Nous reprenons ci-après quelques-unes des propriétés déjà rencontrées, qui distinguent cet ensemble

de l’ensemble des nombres réels.

Tout d’abord, nous avons remarqué que était une partie finie et totalement ordonnée de : à ce

titre, il possède un plus grand élément et un plus petit élément strictement positif ; chaque élément,

hormis les deux extrêmes, possède un successeur et un prédécesseur.

Une calculatrice est donc bien loin de pouvoir représenter l’intégralité des nombres réels, même pas

d’ailleurs l’intégralité des nombres décimaux.

Les propriétés usuelles des calculs dans ne sont pas conservées.

Par exemple l’associativité de l’addition n’est plus vraie en général. Ainsi si l’on considère les deux

expressions suivantes, mathématiquement égales du fait de l’associativité de l’addition dans :

u = (y + x) – x

v = y + (x – x)

elles peuvent différer pour une calculatrice. Avec x = 1 et y = 10–15

, on obtient :

u = (10–15

+ 1) – 1 = 1 – 1 = 0

v = 10–15

+ (1 – 1) = 10–15

La différence certes peut paraître faible, mais elle n’en est pas moins gênante si l’on poursuit les

calculs : en divisant par y, y x x

y

et

y x x

y

, on trouve respectivement 0 et 1...

L’addition n’est plus régulière. En effet, dans , a + x = b + x entraîne a = b. Avec une calculatrice,

on a 1 + 10-30

= 1 + 0 : pourtant 10-30

0.

Plus étonnant mais cela montre bien les différences avec l’ensemble des réels : sur une calculatrice,

une série dont le terme général tend vers 0 est convergente. En effet si le terme général tend vers 0,

pour une valeur suffisamment grande de n, il sera égal à 0 car on ne peut pas s’approcher indéfiniment

de 0 sur un ensemble discret. Par exemple, sur une TI-Nspire, la série harmonique est « convergente »

et, pire encore, la limite trouvée dépend de l’ordre des calculs.

Bref dans les calculs, il faut être prudent comme on l’a remarqué à plusieurs reprises. D’autant plus

que, dans un programme par exemple, ce n’est pas un mais des dizaines voire des centaines

d’opérations qui sont enchaînées... Les erreurs d’affectation initiales, les erreurs d’arrondi d’un calcul

particulier vont alors se trouver ballotées au fil du programme : elles étaient petites, elles vont grossir

un peu, parfois exagérément au point de masquer le calcul que l’on fait20

La ligne de conduite lors de tout calcul se résume à cette technique : il est absolument essentiel de

conserver le plus possible le maximum de chiffres significatifs. Pour ce faire, quelques lignes

directrices à ne pas perdre de vue. On doit :

bannir les soustractions dans un calcul, partout où c’est mathématiquement possible, pour

éviter le phénomène des différences évanescentes ;

20 Par exemple dans le cas d’Alfred Logarithme (voir chapitre suivant), une erreur très petite, de l’ordre de 10–14 se trouve multipliée par un

nombre très grand (25! de l’ordre de 1025) et fausse complètement le résultat final en 25 étapes...

Page 31: Arithmétique de la calculatrice - Univers TI-Nspire · 2011. 3. 20. · Ils servent notamment ici à arrondir le résultat6: pour arrondir à 3, la calculatrice a besoin de savoir,

Arithmétique de la calculatrice 181

© T³ France 2010 / Photocopie autorisée

éviter de sommer des quantités d’ordres de grandeur très différents ;

dans une suite d’additions, additionner les nombres du plus petit au plus grand ;

se méfier des opérations répétées qui peuvent faire exploser une petite erreur d’affectation

de départ ; au minimum, essayer d’analyser la réponse renvoyée et de comprendre comment

l’erreur évolue au fil de l’algorithme.

En dehors de cas particuliers particulièrement explosifs, lors de tout calcul, les erreurs d’arrondi

peuvent finir par prendre une place non négligeable qu’il vaudra mieux estimer. Il y a d’ailleurs ici un

véritable conflit à gérer : d’un côté l’analyse numérique affirme que pour accroître la précision d’une

méthode, on doit répéter un grand nombre de fois les itérations (erreur par exemple de type k’/n2) ; de

l’autre, l’algorithmique rappelle que plus on fait de calculs, plus les erreurs d’arrondi sont importantes

(erreur proportionnelle au nombre d’opérations du type kn).

L’erreur totale est la somme des deux erreurs précédentes : par exemple elle est de la forme 2

'k

k nn

.

L’étude rapide d’une telle fonction montre que l’erreur globale présente un minimum : jusqu’à ce

minimum, la précision du résultat augmente ; au-delà, il est vain de poursuivre le calcul car les erreurs

d’arrondi altèrent le résultat renvoyé.