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.

Reply via email to