probleme avec assume

Utilisation de Xcas

Modérateur : xcasadmin

fred
Messages : 46
Inscription : mer. sept. 09, 2009 7:29 pm

probleme avec assume

Message par fred » jeu. mai 21, 2015 7:08 pm

Bonjour

Je ne comprends pas comment Xcas gère la fonction "assume"
(1) dans une fenêtre de géométrie (une instruction par ligne)

Code : Tout sélectionner

A:=point(a,0)
B:=point(b,0)
longueur(A,B)
réponse : abs(a-b) -> ok

(2) dans une fenêtre de géométrie (une instruction par ligne)

Code : Tout sélectionner

assume(c=-2)
C:=point(c,0)
assume(d=1)
D:=point(d,0)
longueur(B,D)
réponse : -c+d -> ?? où est passée la valeur absolue ?

Je pensais que les "assume" ne servaient qu'à permettre un affichage, mais que dans les calculs leur valeur n'intervenait pas ?

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

Re: probleme avec assume

Message par parisse » ven. mai 22, 2015 6:03 am

Ils interviennent partiellement pour ce genre de simplification, ici assume(c=-2) signifie que c est un paramètre dont la valeur est proche de -2. De même que pour assume(a>0); abs(a) renvoie a.

fred
Messages : 46
Inscription : mer. sept. 09, 2009 7:29 pm

Re: probleme avec assume

Message par fred » ven. mai 22, 2015 6:57 am

Donc si je ne veux pas d'ambiguïté :
* j'utilise des "assume" avec des valeurs pour voir ma figure en fenêtre de géométrie 2D, mais il vaut mieux les purger avant de demander certains calculs ?
* comment peut-on savoir si les simplifications de certaines expressions prennent en compte la valeur de "assume" ?

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

Re: probleme avec assume

Message par parisse » ven. mai 22, 2015 8:04 am

Les informations de assume sont utilisees pour tout ce qui concerne le choix de branches comme des hypotheses de type inequations (abs, sqrt, etc.). Pour tous les calculs analytiques, ils ne sont pas utilises.

fred
Messages : 46
Inscription : mer. sept. 09, 2009 7:29 pm

Re: probleme avec assume

Message par fred » ven. mai 22, 2015 4:16 pm

Peut-être que j'abuse, mais serait-il possible d'avoir un "warning" qui indique que la fonction appelée (exemple "longueur(A,B)") a effectué un choix qui a été influencé par un appel à "assume" ?
Mais cela complique peut-être trop le source ?

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

Re: probleme avec assume

Message par parisse » ven. mai 22, 2015 6:33 pm

Je ne crois pas que ce soit faisable, parce qu'en fait le test de base a>b passe par une phase d'evaluation numerique de a-b, si le test est significativement >0 ou <0, alors le resultat est renvoye. Or des qu'il y a evaluation numerique, un assume est remplace par sa valeur numerique (forcement sinon on ne peut pas faire de representation graphique). Et on ne peut pas mettre un warning chaque fois qu'on evalue numeriquement un assume.

fred
Messages : 46
Inscription : mer. sept. 09, 2009 7:29 pm

Re: probleme avec assume

Message par fred » sam. mai 23, 2015 8:30 am

Merci pour vos réponses rapides. Je vais donc utiliser les "assume" avec plus de prudence ;-)

Répondre