On Mon, 15 Mar 2021 at 15:23,
nijso.be...@gmail.com
<
nijso.be...@gmail.com> wrote:
>
> Hi,
Hi Nijso,
Sounds like you'd be a very useful person to have around!
> I also implemented Kovacic method in maxima, the code is in the same repository. They are both very advanced methods. Kovacic' algorithm is a fundamental algorithm so every ODE solver should have it (or a modern version of it). But I do not recommend implementing Kovacic' method unless you are somewhat familiar with differential Galois groups.
How much do you actually need to understand of the theory to make it work?
I wouldn't say that I know differential Galois theory but reading
Kovacic's paper and also the Smith paper linked above I thought that I
was able to follow the algorithm itself and how to implement it. To me
it looked as if differential Galois theory was needed for the proofs
but not for the algorithm itself. I have seen other more recent papers
about extensions or modifications of Kovacic's algorithm that did seem
to be more heavily based on the Galois theory though.
> The second order integrating factor method could be done, though, because I think the learning curve for understanding, or at least working with, Lie groups is not so steep as for differential Galois. However, it is less useful than Kovacic. You can also start by writing a solver for first order rational Riccati ODEs, because Kovacic' method is basically telling you how the Liouvillian solution of a second order ODE can be found by solving a rational Riccati ODE.
Yes, some easily solvable cases of Ricatti ODEs are not yet covered by dsolve.
> You can also consider implementing a general Lie (symmetry) method to find integrating factors for first order ODEs. It is the most successful first order ODE solver and can solve e.g. 90% of the Kamke database of first order ODEs.
> Such a method can also solve all 'trivial' ODEs like linear, separable, Bernoulli, which sympy cannot all solve. It is more robust because symmetry methods does not depend on pattern matching the ODE. Some Lie group methods have been implemented in sympy already which can be a basis to work on. Note that all solvable first order ODEs have an integrating factor, and an integrating factor solves the first order ODE.
Yes, some methods have been implemented in sympy. There is a lot of
code for the Lie group solver but I think that the implementation is
buggy.
> Hope this helps. If you or somebody else wants to work on any of these methods, I'll be happy to help.
Anything you can do to help would be great!
Oscar