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 sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to