In the last 2 weeks, I worked on the following -
- I finally found out why the solver was failing for certain types of ODEs. Turns out there was a typo in the paper where the algorithm was described! After using the correct equation in a particular relation, the solver now works for all types of ODEs encountered so far.
-
I've moved the code into a different submodule. Now the solver doesn't depend on
dsolve
and the solver's true speed can be tested directly. -
Some examples had really complex solutions that were not simplifying. Using
cancel(extension=True)
made it work and the solutions are now verified withcheckodesol
as well.
Most of the hard work is done with this PR, although minor changes will take some more time. The things that I am planning to work on next are -
- Add a function to compute the general solution of the equation from the particular solution.
- Document everything in this PR as much as possible.
- Start the work on the second part of the project, i.e. porting all Kamke ODEs into SymPy and making a test suite.