> That looks nice. It would be easier to comment on the details if it was a PR. I didn't make a PR yet since it is a very basic code and more things are to be changed.
> One comment I have is that if this is all working with rational > functions it might be better to work with the numerator and > denominator as Poly rather than using Expr in the calculations. I didn't use Poly since there was some discussion on Poly being slow during creation. > I see some checks in the code that are potentially indeterminate if > the ODE has other symbols as parameters. Those need to be handled > carefully. I've changed some of the checks (will update it in the gist), but we will have to test more examples and figure out which checks could potentially fail. > Functions working with the poles might be reusable for other methods. > The 2nd_hypergeometric solver also works with the poles and could > potentially share some code. Yes, we can merge both of them together. Now that a basic Riccati Solver is done, it wouldn't take more than a week or two to merge it in the codebase. I'd like to know what all we plan on doing as a GSoC project as that would help me prepare the proposal. Like, is Kovacic's algorithm more of a priority or should Computation of All Rational Solutionsof First-Order Algebraic ODEs <https://www3.risc.jku.at/publications/download/risc_5269/RISCReport1601.pdf> be implemented? Ofcourse, if time permits, I would like to implement both. Naveen On Monday, March 29, 2021 at 12:47:39 AM UTC+5:30 Oscar wrote: > On Sun, 28 Mar 2021 at 16:47, Naveen Saisreenivas Thota > <[email protected]> wrote: > > > > Hi Nijso, > > > > Thanks for linking the report! I'll check it out. I figured out the > errors in the code. For now, it seems to be working on some examples given > in Fritz's book and Kovacic's paper. The code is here - Rational Riccati > Solver. Let me know what you think of it. I'll test some of the other ODEs > meanwhile. > > That looks nice. It would be easier to comment on the details if it was a > PR. > > One comment I have is that if this is all working with rational > functions it might be better to work with the numerator and > denominator as Poly rather than using Expr in the calculations. > > I see some checks in the code that are potentially indeterminate if > the ODE has other symbols as parameters. Those need to be handled > carefully. > > For example how does this handle a case where the poles are at > "symbolic" values? I mean suppose the denominator factorises as (x - > a)*(x - b) and we don't know whether or not a == b. > > > > Also, try splitting the solver into a number of independent functions, > like a function to determine poles, checking if a pole is really a pole, > etc. > > > > Sure, I'll do that. > > Yes, I agree. With separate smaller functions you can test and > document the different parts. > > Probably there should be e.g.: > > 1. A function for extracting b0, b1, b2 from canonical form > 2. Another for converting those to normal form > 3. etc > > Functions working with the poles might be reusable for other methods. > The 2nd_hypergeometric solver also works with the poles and could > potentially share some code. > > 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/1444f812-5fad-49e4-b328-14163920dfc1n%40googlegroups.com.
