résolution d'une équation dans ℂ

Bugs

Modérateur : xcasadmin

L.A.
Messages : 4
Inscription : sam. oct. 13, 2012 4:52 pm

résolution d'une équation dans ℂ

Message par L.A. » sam. oct. 13, 2012 5:35 pm

Bonjour,

Il me semble que l'équation z²=(conj(z))² n'est pas bien résolue par Xcas :

Code : Tout sélectionner

resoudre_dans_C(x^2=(conj(x))^2))
renvoie

Code : Tout sélectionner

list[` x`]
(que j'interprète comme ℝ), au lieu de ℝ ∪ iℝ.

À moins que quelque chose ne m'échappe — je débute avec Xcas.

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: résolution d'une équation dans ℂ

Message par parisse » dim. oct. 14, 2012 6:07 am

C'est en fait le systeme solve([0,a*b],[a,b]) obtenu en posant x:=a+i*b qui renvoie [a,0]. Je ne pense pas pouvoir changer ça, un systeme de calcul formel se place toujours dans la situation ou les parametres sont generiques, ici on resoud a*b=0 par rapport à b en supposant donc que a a une valeur générique (c'est la même chose que si on résoud une équation en une variable solve(a*b,b), le cas où a=0 n'est pas pris en compte).

L.A.
Messages : 4
Inscription : sam. oct. 13, 2012 4:52 pm

Re: résolution d'une équation dans ℂ

Message par L.A. » mar. oct. 23, 2012 5:04 pm

Je conçois qu'il y ait des difficultés de programmation, même si, n'étant qu'utilisateur, je ne suis pas sûr de comprendre celles qui, ici, conduisent Xcas à se tromper dans la résolution de cette équation.
Mais alors, quelle confiance accorder à ses autre réponses ?

Serait-il possible qu'il signale les réponses douteuses — à défaut des réponses fausses ?

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: résolution d'une équation dans ℂ

Message par parisse » mar. oct. 23, 2012 5:50 pm

De manière générale comme je le disais, il faut se méfier si on est dans des cas non génériques, ainsi solve/csolve servent à trouver des solutions isolées (de dimension 0), pas des courbes solutions, ici le fait que la partie réelle de l'équation (z^2-conj(z)^2=0) s'annule est non générique.

L.A.
Messages : 4
Inscription : sam. oct. 13, 2012 4:52 pm

Re: résolution d'une équation dans ℂ

Message par L.A. » mar. oct. 23, 2012 6:06 pm

Merci de cette réponse.
Mais me conduira-t-elle à écarter le projet de l'utilisation de Xcas avec des élèves de lycée — auprès desquels je me sens incapable de l'expliquer ?

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: résolution d'une équation dans ℂ

Message par parisse » mar. oct. 23, 2012 6:32 pm

Ici on observe une solution qui n'est pas standard (à cause du ` x`, à comparer avec une solution "normale" comme par exemple pour csolve(z^2=conj(z),z)), faire ressortir que ça vient de la partie réelle de l'équation qui s'annule (alors que xcas s'attend à résoudre un système de 2 équations à 2 inconnues). C'est l'occasion de montrer qu'un système de calcul formel ne s'utilise pas comme une boite noire, on délégue les calculs à la machine (ce qu'elle sait faire bien mieux que nous), mais on doit conserver le controle et l'interprétation des résultats (ce que notre intelligence sait bien mieux faire qu'une machine). A mon avis, il faut l'expliquer aux lycéens, plutot que de cacher le problème sous le tapis et les laisser admettre sans discernement les réponses d'un logiciel quand ils l'utiliseront plus tard.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: résolution d'une équation dans ℂ

Message par alb » mar. oct. 23, 2012 8:38 pm

Ne plus utiliser sa voiture pour aller au travail au motif qu'elle tombe en panne une fois sur 2500 n'est peut-être pas un choix judicieux :-)

C'est vrai qu'il y a des situations où l'utilisateur reste le maître:
E:=sqrt(x-3)*(x-1)*(x-5);solve(E)
eq:=exp(x^2-5)=exp(-4x);solve(eq)
solve((x^2-1)/(x-1))
Ce n'est pas une raison pour se passer de Xcas pour conjecturer la limite de somme(1/u(k),k,1,n) avec u(n+1)=1+produit(u(k),k,1,n) et u(1)=1

Le vrai danger, ce n'est pas quand les ordinateurs penseront comme les hommes, c'est quand les hommes penseront comme les ordinateurs ...

L.A.
Messages : 4
Inscription : sam. oct. 13, 2012 4:52 pm

Re: résolution d'une équation dans ℂ

Message par L.A. » lun. oct. 29, 2012 2:36 pm

Merci de ces exemples éclairants.

Au vu de la coïncidence entre la faiblesse des capacités de calcul des élèves et l'utilisation massive des calculatrices dans l'enseignement secondaire, je m'interroge sur l'aide que peuvent y apporter les logiciels de calcul formel. Mon avis n'est pas arrêté. Je doute. J'expérimente.
J'en débattrais volontiers avec vous de vive voix, mais pas sur un forum public, quand mes remarques y seraient prises pour des agressions auxquelles on répondrait pas des slogans. — Ce forum-ci, d'ailleurs, n'est peut-être pas le lieu.

Mais je reste persuadé que le dicton "It's not a bug, it's a feature" doive être entendu comme ironique.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: résolution d'une équation dans ℂ

Message par alb » lun. oct. 29, 2012 4:43 pm

salut,
s'il ne fallait qu'un exemple édifiant pour justifier l'usage des logiciels de calcul formel ce serait celui-ci ...
Dans un forum que je fréquente (pour vanter les mérites de Xcas :-))
nombreux (au moins 70%, la proportion augmente d'année en année) sont les élèves et aussi les étudiants qui rédigent leurs énoncés
soit en ne mettant pas de parenthèses soit en les mettant au hasard.
A la sortie du collège les élèves entrant en seconde ne savent pas taper une expression en ligne.
Pour certains 10/(2+3) s'écrit directement en 2 dimensions sur une calculatrice que je ne nommerai pas
et le résultat est celui de la calculatrice, ils ne savent pas le démontrer !

Sans parler de la tendance des nouveaux programmes à expérimenter, conjecturer avant de démontrer ce qui justifie pleinement l'usage des logiciels de calcul formel.
Comme toujours ce n'est pas l'outil qui est dangereux ...
Il m'arrive d'interdire d'écran un élève qui reste scotché dessus.

Répondre