As discussed in the last post, I tried to fix some things that were not working correctly.
-
Most of the code now uses
Poly
objects instead ofExpr
, so the solver is much faster than it previously was. - I found out about constructing general solutions for the Riccati ODEs from their particular solutions, and it is quite easy if it has 2 or 3 particular solutions. If the ODE has only one solution, then the general solution may or may not be found depending on whether an intermediary integral can be computed or not.
The things that I am planning to fix next are -
- I couldn't fix the bug where some types of ODEs were not solvable. It has something to do with poles at infinity, although I'm not sure exactly why the algorithm is failing.
- Try and simplify expressions inside the function, to make sure that computation doesn't become slow.