On 05/10/2016 04:56 PM, Vincent Delecroix wrote:
> still
>
> sage: n = SR.var('n')
> sage: assume(n, 'real')
> sage: assume(n >= 0)
> sage: bool(sqrt(pi)*sqrt(n) == sqrt(pi*n))
> False
>
What `bool(expr1 == expr2)` does is something like,
bool((expr1 - expr2).simplify_full() == 0)
As long as you're sure that everything involved is real, adding
simplify_real() into the mix will perform two extra simplifications that
simplify_full() will not, so you get better results in that case.
To make it Do The Right Thing by default, you would have to modify
simplify_full() to loop through all of the terms in the expression and
check if they're real. If they are, you could call simplify_real() in
addition to the other simplifications that simplify_full() does.
(There may be problems with that approach, but that's the idea, anyway.)
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.