There seems to be another bug here: In [105]: 2*(2, ) Out[105]: (2, 2)
In [106]: S(2)*(2, ) AttributeError: 'Tuple' object has no attribute 'as_coeff_Mul' Aaron Meurer On Thu, Aug 2, 2012 at 2:42 PM, Aaron Meurer <[email protected]> wrote: > On Thu, Aug 2, 2012 at 5:36 AM, gsagrawal <[email protected]> wrote: >> >> Thanks , >> Ghanshyam Agrawal >> Developer ,Mettl (math.mettl.com) >> Gurgaon, >> Contact No : 9717167192 >> >> >> >> On Thu, Aug 2, 2012 at 2:37 PM, Aaron Meurer <[email protected]> wrote: >>> >>> This is a bug. The reason that it didn't do it before was that we >>> didn't have the Tuple() object. Now that we do, 'x*()' is converted >>> to Symbol('x')*Tuple(), and unfortunately, Mul doesn't do any type >>> checking and so allows Tuple in its args. >>> >>> I'm not sure what the correct fix is. Should Mul check if its args are >>> Expr? >>> >> this is doable but again ,this is not limited to Mul ,we have to check in >> Add/Pow also. >> But if you try to do sympify("x*{}") ,it throws error that "unsupported >> operand type". Cant we just add tuple also over there. i coudnt find the >> exact location where we are throwing this error . can any one guide. > > The error comes from the fact that {} is not converted by sympify(). > The error itself is a result of x.__mul__ returning NotImplemented for > non-sympy types. Python then tries {}.__rmul__(x), which also returns > NotImplemented, so it raises a TypeError (Python itself does this, not > us). > > So I think to fix this we either need to do more type checking in Mul, > or refactor the logic in to subclasses' dispatch methods (basically > what Ronan is working on). > > Aaron Meurer > >> >>> >>> Aaron Meurer >>> >>> On Thu, Aug 2, 2012 at 2:52 AM, gsagrawal <[email protected]> wrote: >>> > In current version >>> > r="x*()" >>> > print sympify(r) #prints x*() >>> > >>> > But it was throwing error "TypeError: can't multiply sequence by non-int >>> > of >>> > type 'Symbol'" in earlier versions (0.7.1/http://live.sympy.org/) >>> > >>> > What is reason ? and any suggestion on how can i fix this ? >>> > >>> > >>> > Thanks, >>> > Ghanshyam Agrawal >>> > Developer : math.mettl.com >>> > >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> > Groups >>> > "sympy" group. >>> > To post to this group, send email to [email protected]. >>> > To unsubscribe from this group, send email to >>> > [email protected]. >>> > For more options, visit this group at >>> > http://groups.google.com/group/sympy?hl=en. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "sympy" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/sympy?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sympy" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
