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.
