Well, I've been making some good progress. I wrote a function "distribute()" to perform the distribution of constants into Adds where needed. I toyed with just making it a hint to expand, but then every time you called it, you'd have to explicitly turn off all the other behavior that you don't want and have: expand(distribute_constant=True, power_base=False, power_exp=False, mul=False, log=False, basic=False) each time. So it made more sense to put that into a separate function.
I've got most tests working, although there are still several to fix. There is some unexpected, but not necessarily broken behavior. Denominators seem to be automatically rationalizing themselves in some places that they didn't before. Is that acceptable behavior? Another unexpected one was this: In [6]: (((x**2*y**4)**a)**(x*y))**3 Out[6]: 3 ⎛ x⋅y⎞ ⎜⎛ a⎞ ⎟ ⎜⎜⎛ 2 4⎞ ⎟ ⎟ ⎝⎝⎝x ⋅y ⎠ ⎠ ⎠ In [7]: powdenest(_) Out[7]: 6⋅a⋅x⋅y ⎛ 2⎞ ⎝x⋅y ⎠ instead of the 3⋅a⋅x⋅y ⎛ 2 4⎞ ⎝x ⋅y ⎠ that the test wants. Is there some reason that the two wasn't supposed to be pulled out? -- 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.
