Since your belief about what the correct behavior is, is at best arguable, and at worst, wrong, I would not expect it to be "corrected"
Sqrt(anything) has TWO values. Choosing one should depend on the choice of square root branch, e.g. assume(sqrt(E)) assuming something about E doesn't say much. e.g. even sqrt(9) is +-3. who cares about the "sign" of 9. In some engineering and physical circumstances, a branch of the sqrt can be intuited. But the math issue is not resolved by "assume(x>0)" etc On Saturday, June 15, 2013 8:31:02 AM UTC-7, Eric Gourgoulhon wrote: > > Hi, > > Here is some behavior of Sage which can be quite disturbing for a new user > and probably would be considered as a bug: > > sage: assume(x<0) > sage: sqrt(x^2).simplify_full() > x > > It appears that the instruction "assume(x<0)" is not sufficient to enforce > the desired behavior: x is still considered as a complex number and > sqrt(x^2) returns *a* square root of x^2, not necessarily the positive one. > To enforce x real, one should set: > > sage: maxima_calculus.eval('domain:real') > 'real' > > Then the output of simplify_full() is correct: > > sage: sqrt(x^2).simplify_full() > -x > > But the following problem remains: > > sage: sqrt((x-1)^2).simplify_full() # correct result: > -x + 1 > sage: sqrt(x^2-2*x+1).simplify_full() # wrong result (and not consistent > with the above): > x - 1 > > I know that the problem is due to Maxima function randcan and has been > much discussed, in particular here: > http://www.math.utexas.edu/pipermail/maxima/2011/026097.html > What is the latest status of this ? In particular, is there any > possibility to enforce the correct behavior by passing some options to > Maxima ? (I've noticed that maxima_calculus.eval('radexpand:true') does not > help). > Thank you for your help. > > Eric. > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.