>  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.

Reply via email to