I agree.

On Friday, February 27, 2015 at 4:27:42 AM UTC+2, Aaron Meurer wrote:
>
> Ah, apparently the core is looking at assumptions and automatically 
> simplifies based on them. I don't think that any automatic 
> simplification should happen based on assumptions. 
>
> Aaron Meurer 
>
> On Thu, Feb 26, 2015 at 6:20 PM, Paul Royik <[email protected] 
> <javascript:>> wrote: 
> > Thank you. 
> > Got it! 
> > 
> > On Friday, February 27, 2015 at 1:52:32 AM UTC+2, Ondřej Čertík wrote: 
> >> 
> >> On Thu, Feb 26, 2015 at 4:05 PM, Paul Royik <[email protected]> 
> wrote: 
> >> > It doesn't work if x is positive. 
> >> 
> >> Indeed, looks like a bug. As a workaround, you can always substitute 
> >> general "x" for the positive "x", then it will work: 
> >> 
> >> In [4]: x = Symbol("x", positive=True) 
> >> 
> >> In [5]: powsimp(sqrt(x)*sqrt(x-4), force=True) 
> >> Out[5]: 
> >>   ___   _______ 
> >> ╲╱ x ⋅╲╱ x - 4 
> >> 
> >> In [6]: powsimp((sqrt(x)*sqrt(x-4)).subs(x, Symbol("x"), force=True) 
> >>    ...: 
> >> KeyboardInterrupt 
> >> 
> >> In [6]: powsimp((sqrt(x)*sqrt(x-4)).subs(x, Symbol("x")), force=True) 
> >> Out[6]: 
> >>   ___________ 
> >> ╲╱ x⋅(x - 4) 
> >> 
> >> 
> >> > In fact, when x is positive, 1/sqrt(x*(x-4)) automatically converted 
> to 
> >> > 1/sqrt(x)/sqrt(x-4) 
> >> 
> >> The same trick: 
> >> 
> >> In [7]: powsimp(1/(sqrt(x)*sqrt(x-4)).subs(x, Symbol("x")), force=True) 
> >> Out[7]: 
> >>       1 
> >> ───────────── 
> >>   ___________ 
> >> ╲╱ x⋅(x - 4) 
> >> 
> >> 
> >> Ondrej 
> >> 
> >> > 
> >> > On Thursday, February 26, 2015 at 11:23:31 PM UTC+2, Aaron Meurer 
> wrote: 
> >> >> 
> >> >> See http://docs.sympy.org/latest/tutorial/simplification.html#powers. 
>
> >> >> powsimp(expr, force=True) will do what you want. 
> >> >> 
> >> >> Aaron Meurer 
> >> >> 
> >> >> On Thu, Feb 26, 2015 at 12:18 PM, Paul Royik <[email protected]> 
> >> >> wrote: 
> >> >> > I need something more general 
> >> >> > 
> >> >> > On Thursday, February 26, 2015 at 7:50:15 PM UTC+2, John Peterson 
> >> >> > wrote: 
> >> >> >> 
> >> >> >> 
> >> >> >> 
> >> >> >> On Thursday, February 26, 2015 at 8:32:11 AM UTC-7, Paul Royik 
> >> >> >> wrote: 
> >> >> >>> 
> >> >> >>> What is the best way to convert sqrt(x)*sqrt(x-4) to 
> sqrt(x^2-4x) 
> >> >> >>> or 
> >> >> >>> (x^2+5x+4)/sqrt(x)/sqrt(x-4) to (x^2+5x+4)/sqrt(x^2-4x) 
> >> >> >>> 
> >> >> >>> I tried replace, but it doesn't work in second case. 
> >> >> >> 
> >> >> >> 
> >> >> >> Be careful, they aren't equal for all values of x, but subs() 
> will 
> >> >> >> do 
> >> >> >> this 
> >> >> >> if you are willing to be explicit... 
> >> >> >> 
> >> >> >>> #!/usr/bin/env python 
> >> >> >>> from sympy import * 
> >> >> >>> print sympify('(x**2 + 5*x + 4) / sqrt(x) / 
> >> >> >>> sqrt(x-4)').subs(sympify('sqrt(x)*sqrt(x-4)'), 
> sympify('sqrt(x**2 - 
> >> >> >>> 4*x)')) 
> >> >> >> 
> >> >> >> 
> >> >> >> Output: 
> >> >> >> 
> >> >> >>> (x**2 + 5*x + 4)/sqrt(x**2 - 4*x) 
> >> >> >> 
> >> >> >> 
> >> >> > 
> >> >> > -- 
> >> >> > You received this message because you are subscribed to the Google 
> >> >> > Groups 
> >> >> > "sympy" 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 http://groups.google.com/group/sympy. 
> >> >> > To view this discussion on the web visit 
> >> >> > 
> >> >> > 
> >> >> > 
> https://groups.google.com/d/msgid/sympy/a20128fc-d1bd-479e-8845-a581cfc6b7d4%40googlegroups.com.
>  
>
> >> >> > 
> >> >> > For more options, visit https://groups.google.com/d/optout. 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "sympy" 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 http://groups.google.com/group/sympy. 
> >> > To view this discussion on the web visit 
> >> > 
> >> > 
> https://groups.google.com/d/msgid/sympy/dc099057-8529-4f12-ae42-ed7f9e89b98e%40googlegroups.com.
>  
>
> >> > 
> >> > For more options, visit https://groups.google.com/d/optout. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sympy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > Visit this group at http://groups.google.com/group/sympy. 
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/sympy/b9754512-debb-4099-bfab-3724b3be1568%40googlegroups.com.
>  
>
> > 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" 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 http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/f4a0a064-3ef0-43c7-a4fb-728323538d57%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to