Hi Nijso, Thank you for the suggestions. Even I have found the Kovacic Algorithm to be difficult to understand since I'm not familiar with differential galois groups.
> 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. Could you suggest any paper for Ricatti ODEs? Would there be enough work for it be a good GSoC project? > 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. Which paper would be more useful for SymPy - the lie symmetry methods for 1st order or the lie symmetry methods for 2nd order? > Hope this helps. If you or somebody else wants to work on any of these methods, I'll be happy to help. Thanks again. I will definitely ask you for help in case I end up implementing these methods! Naveen On Monday, March 15, 2021 at 9:49:56 PM UTC+5:30 Oscar wrote: > On Mon, 15 Mar 2021 at 15:23, nijso.be...@gmail.com > <nijso.be...@gmail.com> wrote: > > > > Hi, > > Hi Nijso, > > > I implemented the Lie method for second order ODEs in the maxima cas. > The code for maxima is here : > > > > https://github.com/bigfooted/maxima-odesolve > > > > specific jupyter doc for ode2_lie (best viewed with nbviewer): > > > https://nbviewer.jupyter.org/github/bigfooted/maxima-odesolve/blob/master/Doc/ode2_lie.ipynb > > 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 > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/bbe28ae4-6d23-43d6-aa85-c44b1e02d23cn%40googlegroups.com.