Page 1 of 2

TI-Nspire CAS: bug fonction trigo inverse valeur remarquable

Unread postPosted: 01 Jun 2013, 23:09
by critor
Ce soir, en résolvant des équations complexes du second degré, ma TI-Nspire CAS munie de l'OS 3.2 m'a renvoyé des résultats justes mais anormalement compliqués.

Alors certes, on ne voit pas les nombres complexes avant la Terminale S, mais derrière il y a de la trigonométrie qui est davantage à votre portée, et j'ai identifié le problème.

La TI-Nspire CAS gère nombre de valeurs trigonométriques remarquables sous les formes kπ, kπ/2, kπ/3, kπ/4, kπ/5, kπ/6, kπ/8, kπ/10 et kπ/12.
Pour toute valeur se mettant sous l'une de ces formes, la calculatrice est capable de retourner une valeur exacte de son cosinus, de son sinus et de sa tangente.


Si l'on compose par exemple la fonction cosinus avec sa fonction cosinus inverse, il est normal de retrouver le même résultat.

Cela marche très bien avec les valeurs remarquables sous les formes kπ, kπ/2, kπ/3, kπ/4 et kπ/6:
ImageImage


Cela marche aussi très bien avec des valeurs non remarquables pour la calculatrice, comme kπ/7, kπ/9, kπ/11, kπ/13 et plus généralement kπ/n avec n≥13:
ImageImage


On peut généraliser à tout nombre réel x de [0;π]: cos-1(cos(x))=x



Sauf que, pour certaines valeurs remarquables, notre TI-Nspire CAS nous complique la vie - il s'agit de kπ/5, kπ/8, kπ/10 et kπ/12:
ImageImage


Ces résultats sont justes, mais inutilement compliqués...

Le problème?
La TI-Nspire CAS connaît bien les cosinus, sinus et tangente des valeurs se mettant sous les formes kπ/5, kπ/8, kπ/10 et kπ/12.
Mais il semble que dans ces cas-là, les fonctions trigonométriques inverses ne gèrent pas les valeurs retournées, ce qui donne des résultats compliqués car non simplifiés.

Et si comme moi ce résultat est utilisé de façon interne à une autre tâche comme la résolution d'une équation complexe du second degré, vous obtenez rapidement des monstres...



Une solution pour contourner ce problème si vous travaillez beaucoup sur la trigonométrie et les nombres complexes est d'utiliser un moteur de calcul numérique exact alternatif, comme par exemple mCAS, qui effectivement se débrouille très bien sur ces valeurs remarquables.
Image

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 07:53
by Lionel Debroux
Depuis deux ans qu'ils trafiquent le CAS (à partir de l'OS 3.0.1.1753), il y a quand même des dégâts...
A chaque fois qu'un nouveau problème de ce genre est publié, je me pose la question de la qualité, de la couverture, de l'utilisation effective de la suite de tests du CAS (on peut avoir une suite de tests sans l'exécuter correctement ^^)...

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 13:07
by Bisam
Le problème survient surtout si on fait des tests avec ces valeurs non simplifiées...

Si on tape
Code: Select all
cos⁻¹(cos(π/12))=π/12
la calculette répond "false" ! (mais au moins, elle prévient qu'elle a été obligée de faire un calcul approché pour répondre).

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 13:14
by critor
Bravo, là c'est pas un résultat non simplifié, c'est un résultat faux.

Il y a un écart à 10-14 près en valeur approchée en effet.

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 13:15
by Excale
Le problème, c'est que dans les programmes, on ne va pas s'amuser à mettre des warnCodes partout^^.

Edit: J'ai un écart de 10^-14 moi, ce qui est normal.

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 13:21
by Adriweb
J'ai aussi un écart de 10^-14...

Je me demande si les autres plateformes soi disant concurrentes ont aussi ce genre de problèmes, manifestement sur Nspire ils n'ont pas été remarqués tout de suite malgré une communauté plutôt grande, alors je doute que ça ait été le cas sur Casio/HP...

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 13:30
by critor
Ben si tu cherches de plate-formes concurrentes avec CAS, tu trouveras pas grand chose avant la rentrée déjà...

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 15:00
by Bisam
De plus en plus fort :
Code: Select all
arccos(cos(pi/10))-pi/10=0
renvoie "false" mais
Code: Select all
arccos(cos(pi/10))-pi/10=0.
renvoie "true".
La différence ? C'est le point après le zéro qui force l'évaluation approchée.

Il faut cependant prendre les choses avec philosophie : les échecs de la calculatrice et de l'ordinateur, et en particulier ceux survenant dans les calculs approchés et dans la comparaison à 0 font partie du nouveau programme d'informatique des classes prépa !

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 15:03
by critor
Comme pour les quotients de racines, je viens de reporter le bug directement à l'équipe de maths de TI.

Nous verrons bien si ces trop nombreux bugs du moteur CAS depuis l'OS 3.0 sont corrigés lors de la sortie de l'OS 3.6 dans quelques semaines ou pas...


En attendant, pour chaque programme de Maths que je fais pour TI-Nspire CAS, je suis obligé de surcharger les fonctions de CAS TI par mes propres fonctions qui font un test pour détecter le bug, et appliquent avant ou après l'appel à la fonction TI un workaround si nécessaire... Ça devient pénible.

Re: TI-Nspire CAS: bug fonction trigo inverse valeur remarqu

Unread postPosted: 02 Jun 2013, 15:27
by Lionel Debroux
Pénible est un des mots appropriés, inacceptable en est un autre.