So you might try a helper function something like:

>>> combine_like_radicals(sqrt(x)*sqrt(y) + root(2*pi*x,3))
xy − −  √ +2πx − − −  √ 3  

See http://codepad.org/lqcmqzwm for code snippet.



On Thursday, January 21, 2016 at 2:55:32 PM UTC-6, Aaron Meurer wrote:

> You can do it if you omit the assumptions. Otherwise, the only way is to 
> use Pow(2*pi, Rational(1, 2), evaluate=False).
>
> Aaron Meurer
>
> On Wed, Jan 20, 2016 at 4:31 PM, Jonathan Crall <[email protected] 
> <javascript:>> wrote:
>
>> I saw under 
>> http://docs.sympy.org/dev/tutorial/simplification.html#powsimp 
>> that it is impossible to combine radicals using powersimp:
>>
>> "This means that it will be impossible to undo this identity with 
>> powsimp(), because even if powsimp() were to put the bases together, 
>> they would be automatically split apart again."
>>
>> I was wondering if it was possible to do this any other way. 
>>
>> For a toy example I have 
>>
>>         import sympy
>>         L = sympy.symbols('L', real=True, finite=True, positive=True)
>>         sympy.sqrt(L) * sympy.sqrt(pi)
>>
>> and I would like to have it return sympy.sqrt(L * pi)
>> Is there any way to do this?
>>
>> What I'd really like is if it combined these terms in this real example: 
>>
>>         import simplify
>>         import vtool as vt
>>         import sympy
>>         sigma, dist, L = sympy.symbols('sigma, distij, L', real=True, 
>> finite=True, positive=True)
>>         kernel = (1 / sympy.sqrt(sigma ** 2 * 2 * sympy.pi)) * 
>> sympy.exp((-dist ** 2) / (2 * sigma ** 2))
>>         phi = (1 / L) * kernel
>>         logphi = sympy.simplify(sympy.log(phi))
>>         logphi = sympy.logcombine(logphi)
>>
>> So I would get 
>> -distij**2/(2*sigma**2) - log(sqrt(2 * pi)*L*sigma)
>>
>> instead of 
>>
>> -distij**2/(2*sigma**2) - log(sqrt(2)*sqrt(pi)*L*sigma)
>>
>>
>>
>> -- 
>> 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 https://groups.google.com/group/sympy.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sympy/c2d73b5e-60d0-4140-af8e-033ec7234890%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sympy/c2d73b5e-60d0-4140-af8e-033ec7234890%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> 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 https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/b105426c-f8f2-4f51-8afb-98a72d28a233%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to