Un test de précision frappé d’obsolescence

Dans le petit monde des calculatrices scientifiques, il existe un test de précision bien connu et pratique, qualifié de « Forensics » par son auteur.

En quoi consiste-t-il et que teste-t-il exactement ?

Un nombre source, « 9 » en l’occurrence, va subir trois transformations successives au moyen des touches de trigonométrie puis trois autres, inverses des premières, qui vont le ramener à l’écran, reconnaissable mais quelque peu dégradé.

L’ampleur de la dégradation renseignera sur le degré de précision propre à la calculatrice testée. Mieux, la valeur à l’écran permettra souvent d’identifier la puce électronique de la machine, après rapprochement avec une table de référence.

Rappelons que lors de ce test, la valeur « 9 » (9 degrés) se voit transformée en l’expression de son sinus, résultat transformé à son tour par appui sur la touche cosinus puis celle de tangente. Les trois opérations font chacune chemin arrière, précédées de la touche « arc« , soit la séquence « 9 ; SIN ; COS ; TAN ; ARC TAN ; ARC COS ; ARC SIN » , voire ARCSIN (ARCCOS (ARCTAN (TAN (COS (SIN(9)))))) pour une calculatrice à entrée naturelle.

Par quoi le nombre source est-il dégradé au cours du test ?

Dans un monde parfait l’expression numérique du sinus d’un angle exigerait, le plus souvent, une infinité de décimales que ne pourra jamais fournir un écran de huit ou dix chiffres. Les résultats et calculs intermédiaires seront donc tronqués étape après étape, au mieux arrondis. Au sens strict, ce ne sont plus des sinus ou des cosinus qui sont manipulés devant nous mais de pâles fantômes. Dans ces conditions l’espoir du retour d’une valeur source pleinement reconstituée est illusoire, c’est incalculable, perdu d’avance on le sait, le contraire serait louche.

La qualité de l’algorithme de calcul ainsi que les ultimes incertitudes du processeur ont aussi un impact sur la précision du résultat. On imagine sans peine qu’un excellent algorithme consommerait un temps de calcul pénalisant pour une simple calculatrice de poche, en particulier si elle est ancienne et lente. On attend avant tout qu’il apporte une certaine justesse avec un délai de réponse raisonnable.

S’il est facile de constater d’un regard que la calculatrice échoue à restaurer un 9 pur et intact, comment savoir si elle n’a pas malgré tout approché ou même touché la valeur exacte attendue pour un champ fini de calcul. Dit autrement, comment faire la part de la cause structurelle et de celle algorithmique dans la différence montrée par le test ?

Ce champ, lié au système de représentation interne des nombres et exprimable en une quantité finie de chiffres est souvent renseigné par le manuel, qui indiquera aussi la politique d’arrondis en vigueur, un dernier chiffre arrondi ou bien systématiquement tronqué.

Ainsi, muni d’une calculatrice témoin, un SHARP PC-1280 doté de la double précision de 20 chiffres et même un peu plus, je me suis livré à l’exercice ingrat de collecter chaque valeur théorique exacte pour un champ de calcul donné, de 8 chiffres à 18 chiffres, et selon que le dernier chiffre bénéficie d’un arrondi ou non. J’ai obtenu en conséquence une liste de 20 valeurs que je reproduis plus bas.

Place au test !

Si une machine venait à montrer exactement la valeur attendue pour sa catégorie, cela démontrerait une précision de calcul de premier plan, et par voie de conséquence une absence de scorie susceptible d’aider à identifier la puce, le test Forensics habituel serait devenu sans objet, rattrapé par les progrès apportés aux puces et aux algorithmes.

Constatations :

Parmi les surprises, on voit toutes les calculatrices graphiques CASIO à 15 chiffres (5 non affichés), depuis la GRAPH 100, réussir sans accroc. Chez Texas-Instruments, C’est la vaillante TI-89, plus toute jeune, qui brille, suivie par les Nspire qui présentent un infime écart au tout dernier chiffre. Dans la catégorie des 13 chiffres, la TI-30X MathPrint Pro est impeccable elle aussi, avec une justesse parfaite.

SHARP manque systématiquement les cibles. Quand à HP, Les familles 28, 48, 50, Prime en mode non CAS brillent en catégorie 12 chiffres. On note une HP-15C, parfaite sur 10 chiffres, et des comportements non parfaitement élucidés sur le Classpad 400, la Numworks, et la HP Prime en mode CAS.

En conclusion, beaucoup de calculatrices actuelles, mais pas que, rendent le test Forensics obsolète, muet sur le processeur en jeu, les résultats étant simplement arithmétiquement exacts. Chercher à mesurer quelle est la plus précise revient à vérifier qu’un champ de 15 chiffres est meilleur qu’un autre de 13 chiffres, on le savait déjà.

Il reste malgré tout beaucoup de machines qui renvoient des résultats à la justesse imparfaite. C’est le cas des Ti-83 même récentes, mais les progrès avancent c’est incontestable et le domaine de prédilection du test Forensics reste celui des plus anciennes machines, qui faisaient de leur mieux, celles des collectionneurs, c’est là qu’il prend son sens et offre une utilité toujours précieuse.

Je mets en bas le tableau des valeurs attendues et ci-dessous les résultats de quelques machines.