Hi, 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 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. 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. 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. Hope this helps. If you or somebody else wants to work on any of these methods, I'll be happy to help. All the best, Nijso On Saturday, 13 March 2021 at 17:05:53 UTC+1 Oscar wrote: > On Sat, 13 Mar 2021 at 15:39, Naveen Saisreenivas Thota > <naveensai...@gmail.com> wrote: > > > > > There are simpler and more useful algorithms that have not yet been > > > implemented in sympy. In particular the Kovacic algorithm gives > > > solutions for a useful and commonly occurring class of ODEs: > > > > For Kovacic's Algorithm, I found a paper which consists of an updated > Kovacic Algorithm and includes the implementation in Maple for different > cases. Here is the link to it - > > https://cs.uwaterloo.ca/research/tr/1984/CS-84-35.pdf > > > > Please let me know if this is a good idea for a GSoC project. > > If you can understand the algorithm and think that you would be able > to implement it then it would be a good idea for a GSOC project. > > 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/2eab2acc-d0b2-4f36-baab-7bddcee618d2n%40googlegroups.com.