Isn't this just because the Mul evaluates itself. I don't think it's actually fraction() that is rewriting things.
Aaron Meurer On Fri, Mar 27, 2015 at 9:31 AM, Chris Smith <[email protected]> wrote: > That seems reasonable since fraction is allowing the expr to rewrite: > >>>> 2*e > 2*(x + 1)/(x - 1) >>>> fraction(_) > (2*x + 2, x - 1) > > > On Friday, March 27, 2015 at 4:28:28 AM UTC-5, Paul Royik wrote: >> >> Both fraction and as_numer_denom return (2x+2, sin(x)+1) for expression >> 2(x+1)/(sin(x)+1), i.e. they rewrite numerator and denominator. >> I suggest simple fix for fraction: substitute last line return >> Mul(*numer), Mul(*denom) with return Mul(*numer, evaluate=False), >> Mul(*denom, evaluate=False) >> For as_numer_denom fix seems harder to implement. >> >> Is it possible to change them? >> >> >> On Friday, March 27, 2015 at 1:40:39 AM UTC+2, Aaron Meurer wrote: >>> >>> It looks like fraction takes into account assumptions, but on the >>> other hand, it doesn't do any rewriting of the expression to combine >>> sums of fractions (e.g., fraction(1/x + 1/y) gives (1/x + 1/y, 1), >>> whereas (1/x + 1/y).as_numer_denom() gives (x + y, x*y)). >>> >>> Aaron Meurer >>> >>> On Thu, Mar 26, 2015 at 12:09 PM, Paul Royik <[email protected]> wrote: >>> > I used as_numer_denom earlier and now found fraction. >>> > Is there any difference between them? >>> > >>> > -- >>> > 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/64b73b09-213c-4735-a80b-f5a37a4c2766%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/12fcfa1f-5701-400f-ace6-31ee0aa00daf%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/CAKgW%3D6L%2BsTijoaxLyr%3DOjJ-TV3ZGcf6R7UjcF3Q2C%2BkzLZ2MmA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
