Paste of the result looks bad but it does something like you are asking.

/c

On Wednesday, January 27, 2016 at 10:48:53 AM UTC-6, Chris Smith wrote:

> 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]> 
>> 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].
>>> 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/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/9440f97e-7962-4f24-90d4-bcb310590110%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to