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.
