> 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.
Yes, the Saunders' algorithm doesn't look like it involves Galois theory, but since its quite old, it may not be as fast as newer methods. If we go ahead with this, the only part which could be difficult might be the Laurent series expansion. Does SymPy already have a Laurent Series expansion in the series module? I couldn't find it in the docs. > 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. Yes, for instance, I saw this paper - https://www.math.fsu.edu/~hoeij/papers/issac05/f99HoeijWeil.pdf which is a more recent and faster algorithm that involves Galios theory. Naveen On Monday, March 15, 2021 at 9:49:56 PM UTC+5:30 Oscar wrote: > On Mon, 15 Mar 2021 at 15:23, [email protected] > <[email protected]> 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/b2ee66b7-c4a1-407a-83c2-187754119b9cn%40googlegroups.com.
