Page 1 sur 1

probleme avec assume

Publié : jeu. mai 21, 2015 7:08 pm
par fred
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 ?

Re: probleme avec assume

Publié : ven. mai 22, 2015 6:03 am
par parisse
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.

Re: probleme avec assume

Publié : ven. mai 22, 2015 6:57 am
par fred
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" ?

Re: probleme avec assume

Publié : ven. mai 22, 2015 8:04 am
par parisse
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.

Re: probleme avec assume

Publié : ven. mai 22, 2015 4:16 pm
par fred
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 ?

Re: probleme avec assume

Publié : ven. mai 22, 2015 6:33 pm
par parisse
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.

Re: probleme avec assume

Publié : sam. mai 23, 2015 8:30 am
par fred
Merci pour vos réponses rapides. Je vais donc utiliser les "assume" avec plus de prudence ;-)