Comment #26 on issue 3148 by trel...@yahoo.com: Too many constants from dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148

I now have a candidate branch that manages constants better.

https://github.com/zanzibar7/sympy/tree/dsolve_fixes_pullable

Example:
dsolve((x+1)*f(x).diff(x) - f(x)- 1,f(x))
f(x) = C₁ x + C₁ - 1

The general problem of constant simplification is hard. My intution tells me it's analogous to the Boolean satisfiability problem, which is NP complete in the general case. So rather than trying to exhaustively simplify constants, this new version performs a few very shallow simplifications and stops there. The up-side is that constant simplification runs relatively fast.

While this does the job for now, this probably won't close the book for good. May of the ode tests expect solutions to be in a particular arbitrary form. Changes and improvements to dsolve() in the future may cause tests to fail even though correct solutions are still returned. In addition, there are a few spots where the solution form depends on poorly defined functions like collect() which can have un-intended side-effects on the simplification process.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy-issues+unsubscr...@googlegroups.com.
To post to this group, send email to sympy-issues@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy-issues.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to