Here's an example where the 2*C2 remains after constantsimp (and
doesn't go away even after a second pass because constantsimp isn't
expecting something about this situation) along with a comparison of
times taken:

```python
>>> def ns(s):
...  return numbered_symbols(s,start=1)
...
>>> def reps(eq):
...  return zip(eq.free_symbols - set([x]),ns('C'))
...
>>> eq=3*y + 2*z*(y + 3) + 2*z*(x*y + 3) + 9 + exp(x + 2*y)/(x + y + 1)
>>> constant_renumber(constantsimp(eq.subs(reps(eq)),x,1),'C',1,1000)
C1 + 2*C2*(C3*x + 3) + C4*exp(x)/(C5 + x)
>>> model(eq,x)
C0 + C1*exp(x)/(C2 + x) + C3*(C4*x + 3)
>>> from time import time
>>> t=time();jnk=[constant_renumber(constantsimp(eq.subs(reps(eq)),x,1),'C',1,10
00) for i in xrange(100)];print time()-t
41.0169999599
>>> t=time();jnk=[model(eq,x) for i in xrange(100)];print time()-t
2.31999993324
```

ode's constantsimp handles it's domain of problems ok, but it was
written for results from dsolve, not for the general equation.

-- 
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.

Reply via email to