Précision des calculs sur TI et Casio
Posted: 19 May 2024, 12:43
Je m’intéresse à la précision de nos calculatrices.
Je vois la précision documentée par critor dans le comparatif, par la méthode 1+x-1, et j’ai vérifié que j’ai bien ces résultats sur mes calculatrices. Par exemple, sur ma TI 36x pro Mathprint, je constate que le résultat est 0 pour [x| < 3E-10, ce qui semble bien correspondre à une précision sur 32 bits. Pourtant, on peut constater que d’autres calculs se font avec une précision sur 13 chiffres, pi et e sont d’ailleurs donnés sur 13 chiffres.
On peut constater cette précision en calculant par exemple (en Radians) :
Tan(355/226 + x) - Tan(355/226)
La résolution est de 1E-12 en x (pour une variation de 56 en y !) ce qui indique plutôt un calcul sur 40 bits et non 32.
Qu’est-ce donc que ce seuil de 3E-10 pour le 1er calcul ?
Je crois comprendre que c’est lié au traitement QPiRac : ça correspond au seuil qui permet d’affecter un nombre QPiRac : si |x| < seuil, alors la calculatrice conserve l’entier “1” dans notre calcul, un arrondi est donc effectué (le seuil semble différent si PI est présent dans le nombre)
Il semble que nos calculatrices travaillent donc avec une certaine précision pour les calculs (sur n bits) et d’autre part avec un seuil concernant le moteur QPiRac qui peut effectuer un arrondi.
La même manip sur mes autres calculatrices donne ces résultats, avec dans l’ordre :
"Seuil QPiRac" / Précision des calculs (nombre de bits)
TI 36x Pro : 3E-10 / 1E-12 (40 bits - et non 32)
TI 30x Pro : 9,5E-12 / 8E-13 (40 bits - et non 37)
Casio Graph 90+E: 1E-12 / 1E-14 (48 bits? - et non 40)
Casio Graph Light : 1E-18 / 1E-22 (76 bits? - et non 60)
Avec une calculatrice graphique, si on trace 1+x-1, on voit parfaitement le “plat” en 0,0, de la largeur du seuil de part et d’autre.
Par exemple sur la Casio Graph Light, avec une fenêtre graphique xmin = -9.5E-18, xmax = +9.5E-18, ymin = -3.1E-18, ymax = +3.1E-18
Qu’en pensez-vous? C’est peut-être quelque chose de connu, mais je n’ai vu ça nulle part...
Je vois la précision documentée par critor dans le comparatif, par la méthode 1+x-1, et j’ai vérifié que j’ai bien ces résultats sur mes calculatrices. Par exemple, sur ma TI 36x pro Mathprint, je constate que le résultat est 0 pour [x| < 3E-10, ce qui semble bien correspondre à une précision sur 32 bits. Pourtant, on peut constater que d’autres calculs se font avec une précision sur 13 chiffres, pi et e sont d’ailleurs donnés sur 13 chiffres.
On peut constater cette précision en calculant par exemple (en Radians) :
Tan(355/226 + x) - Tan(355/226)
La résolution est de 1E-12 en x (pour une variation de 56 en y !) ce qui indique plutôt un calcul sur 40 bits et non 32.
Qu’est-ce donc que ce seuil de 3E-10 pour le 1er calcul ?
Je crois comprendre que c’est lié au traitement QPiRac : ça correspond au seuil qui permet d’affecter un nombre QPiRac : si |x| < seuil, alors la calculatrice conserve l’entier “1” dans notre calcul, un arrondi est donc effectué (le seuil semble différent si PI est présent dans le nombre)
Il semble que nos calculatrices travaillent donc avec une certaine précision pour les calculs (sur n bits) et d’autre part avec un seuil concernant le moteur QPiRac qui peut effectuer un arrondi.
La même manip sur mes autres calculatrices donne ces résultats, avec dans l’ordre :
"Seuil QPiRac" / Précision des calculs (nombre de bits)
TI 36x Pro : 3E-10 / 1E-12 (40 bits - et non 32)
TI 30x Pro : 9,5E-12 / 8E-13 (40 bits - et non 37)
Casio Graph 90+E: 1E-12 / 1E-14 (48 bits? - et non 40)
Casio Graph Light : 1E-18 / 1E-22 (76 bits? - et non 60)
Avec une calculatrice graphique, si on trace 1+x-1, on voit parfaitement le “plat” en 0,0, de la largeur du seuil de part et d’autre.
Par exemple sur la Casio Graph Light, avec une fenêtre graphique xmin = -9.5E-18, xmax = +9.5E-18, ymin = -3.1E-18, ymax = +3.1E-18
Qu’en pensez-vous? C’est peut-être quelque chose de connu, mais je n’ai vu ça nulle part...