Hi. I just created http://code.google.com/p/sympy/issues/detail?id=3148. The issue is related to constantsimp() in the ODE module. Basically, right now, it converts things like 2*C1 + C1**2*x + (C1 + 1)*x**2 into C1 + C2*x + C3*x**2. In other words, it absorbs C1, C2, ... constants into other constants and into each other, and then renumbers them, because they are no longer the same constant.
I think this is a bad idea, because it makes it look like C1, C2, and C3 are independent of each other, when they really aren't (because, in this example, C2 = C1**2/4 and C3 = C1/4 + 1). What I think it should do instead is return something like C1 + C1**2/2**2 + (C1/4 + 1)*x**2. In other words, simplify one constant, and rewrite the others in terms of it. The question is, how do you determine how to do this? Has anyone ever considered such an algorithm? The idea is that you have an over-determined system of several equations, and you want to rewrite the equations in terms of some new unknowns so that the whole system becomes simpler. I think that idea could also be useful in solve(), except there you also need to care about the relationship between the new system variables and the old ones, and how simple they are. Does anyone have any thoughts on how this could be achieved? Aaron Meurer -- 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.
