> How much do you actually need to understand of the theory to make it work?
Sure, you could just implement it based on the maple code from Smith's thesis, that's how I started with my implementation. Most of what you need to do in practice is a lot of manipulation of the analytic solution of the Riccati ODE, which can be written as a finite sum of rational expressions. > Could you suggest any paper for Ricatti ODEs? Would there be enough work for it be a good GSoC project? A note on the Riccati differential equation, W. Yuan: https://www.sciencedirect.com/science/article/pii/S0022247X0200536X A good rational Riccati solver would be a nice GSoC project, especially if you want to find all rational solutions and if you want it to be robust and validated. You could also add the Kamke database as a regression test, also for the testing the rest of the ode solvers. There is less time available compared to last year, so you could implement this first as a stand-alone algorithm. Later, the Kovacic method can then just call the Riccati solver. There are also algorithms for finding rational solutions of first order ODEs by solving a Riccati ODE, they could then also use this solver. Best regards, Nijso On Monday, 15 March 2021 at 17:47:58 UTC+1 [email protected] wrote: > > 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/b35673bb-fe20-4c0b-832f-4af240ffd667n%40googlegroups.com.
