Internally, there is no difference between 1/(x + 1)**2 and (x + 1)**-2. There is no class in SymPy that represents division. 1/x is represented internally as just Pow(x, -1).
If all you care about is printing, then I recommend you modify the printer. Which printer are you using? What you need to do is subclass the appropriate printer and override the _print_Pow method. Aaron Meurer On Sun, Jun 16, 2013 at 11:40 PM, Ben Lucato <ben.luc...@gmail.com> wrote: > If I have code like so: > > x = sympy.Symbol('x') > y = 1 / (x + 1)**2 > > it evaluates to > y = (x + 1)**(-2) > > > is there a way to prevent that happening and have it remain as 1 / (x + > 1)**2. > > **** OR: alternatively, is there a way to retrieve 1 / (x + 1)**2 from the > canonical form? I've looked at the docs and searched in this google group > but haven't found relevant discussions. The reason I want to do this is for > printing purposes > > -- > 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 sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > Visit this group at http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. > > -- 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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.