Page 1 sur 1

simplification d'une racine

Publié : ven. févr. 04, 2011 12:52 pm
par alb
0.9.1 sous linux
Je teste un exemple trouvé dans votre m249tp
A:=sqrt(1-a^2)/sqrt(1-a);simplify(subst(A,a=2); renvoie sqrt(3)
alors que:
A:=sqrt(1-a^2)/sqrt(1-a);assume(a>1);B:=simplify(A);simplify(subst(B,a=2)); renvoie -sqrt(3)
Est-ce un bug ou faut-il prendre des précautions avec ce genre d'expression ?

Re: simplification d'une racine

Publié : ven. févr. 04, 2011 2:35 pm
par parisse
C'est un probleme que je n'ai pas encore eu le temps de regler, qu'on peut plus ou moins detecter en lisant

Code : Tout sélectionner

Warning, choosing root of [1,0,4,0,%%%{4,[2]%%%}] at parameters values Vector [0]
Warning, choosing root of [1,0,%%%{2,[2]%%%}+%%%{-2,[1]%%%},0,%%%{1,[4]%%%}+%%%{2,[3]%%%}+%%%{-3,[2]%%%}+%%%{-4,[1]%%%}+%%%{4,[0]%%%}] at parameters values Vector [0]
en fait il simplifie des racines carrees avec a en parametre pour a=0 (parameters values Vector[0]) sans tenir compte de l'hypothese.

Re: simplification d'une racine

Publié : dim. avr. 17, 2011 10:27 am
par alb
C'est curieux que supposons(x>-1);simplifier(sqrt(-3*(x+1)^2)) renvoie x,(i)*x*sqrt(3)+(i)*sqrt(3)
et que supposons(x>-1);simplifier(sqrt(-4*(x+1)^2)) renvoie x,2*x*(-1)^(1/2)+2*(-1)^(1/2)
L'utilisation de evalc résout le problème.