By the way, Naveen, could you create a repository for your work? It will be easier to work with.
Best regards, Nijso On Tuesday, 30 March 2021 at 09:48:48 UTC+2 nijso.be...@gmail.com wrote: > Hi Naveen, Oscar, > I agree with Oscar that there is still much work to be done, even having > 'only' the rational Riccati solver implemented and tested is still a lot of > work, after all you have to implement and test all subcases (movable poles, > fixed poles, poles at infinity). And the solver should not only work on the > solvable ODEs, but should also not get stuck on ODEs that are not solvable > using this method. Also sometimes we will find only special solutions and > we would need to construct the general solution from them. Since this is a > core solver for possibly many other solvers, it is important that it > functions very well. > > I have put the first 367 kamke odes (the ODEs of first order and first > degree) in sympy format in a list, it is here: > https://github.com/bigfooted/sympy_ode > > I think a modular approach is best and the solver should consist of a > number of independent functions that can be re-used elsewhere. For instance: > isRiccati(ode) : return True if the input ODE is Riccati, False otherwise, > Riccati2Normal(ode) : returns the Riccati ode in normal form, > Poles(ode) : returns the poles, and their order and multiplicities, > etc.. > But I think you have made a good start. > > Regarding the GSoC application: I would focus a bit more on that now, it's > always good to be able to get some feedback before submitting (not sure how > that works regarding independent reviewing, though). > > Best regards, > Nijso > > > ... > > > > On Tuesday, 30 March 2021 at 08:34:12 UTC+2 naveensai...@gmail.com wrote: > >> Hi Oscar, >> >> Should we add all the ODEs of Kamke and Murphy or only Riccati ODEs? In >> either case, how do we plan on parsing the solution from Maple/Mathematica? >> I could see that there is a Mathematica Parser, but even that seems to be >> very basic and is not parsing some complex expressions. >> >> Naveen >> On Monday, March 29, 2021 at 7:17:25 PM UTC+5:30 Naveen Saisreenivas >> Thota wrote: >> >>> > When reviewing GSOC applications (just speaking for myself - I am not >>> > the only reviewer) I am most interested in ensuring that we can get >>> > the best contributors who are capable of making the most valuable >>> > contributions to important parts of SymPy. What you are proposing here >>> > is a significant improvement to an important part of SymPy so the main >>> > points to focus on in your application are: >>> > 1) making it clear why this is important and how significant the >>> improvement is >>> > 2) demonstrating that you personally understand what needs doing and >>> > are capable of doing the necessary work >>> >>> Okay, thank you for the advice, Oscar! I'll make the proposal and post >>> it here so that you and others can review it. >>> >>> Naveen >>> On Monday, March 29, 2021 at 5:03:53 PM UTC+5:30 Oscar wrote: >>> >>>> On Mon, 29 Mar 2021 at 10:42, Naveen Saisreenivas Thota >>>> <naveensai...@gmail.com> wrote: >>>> > >>>> > > I think you underestimate how much work is involved in really >>>> making >>>> > > the implementation robust and complete. Note that it's much better >>>> to >>>> > > have a well-tested, complete, efficient implementation of a single >>>> > > algorithm with nicely organised and documented code than it is to >>>> have >>>> > > multiple half-implemented algorithms. As Nijso emphasised earlier >>>> the >>>> > > most important thing first is to establish a systematic test base. >>>> We >>>> > > should get the Kamke examples in and you should verify that this >>>> does >>>> > > find all the rational function solutions for all of the Ricatti >>>> ODEs. >>>> > >>>> > I was thinking as much, but I wanted to ask just to know your opinion >>>> as well. I did test the current code with some examples, but I am yet to >>>> test it with all of them. So, from what you say, I am planning to include >>>> Rational Riccati Solver and ODE test bank (Kamke and Murphy) as the >>>> primary >>>> items to be done and leave computation of rational solutions for a general >>>> 1st order equation as a bonus? Will this be okay? >>>> >>>> Yes, I think that sounds good. >>>> >>>> Note, as I said in reply to some other queries about GSOC exactly what >>>> you would or wouldn't achieve within the duration of the project is >>>> less important than demonstrating that you are capable of making >>>> significant contributions to SymPy. All tasks can turn out to be >>>> harder or easier than expected so it's hard to estimate in advance >>>> what is possible given a fixed timeframe. >>>> >>>> When reviewing GSOC applications (just speaking for myself - I am not >>>> the only reviewer) I am most interested in ensuring that we can get >>>> the best contributors who are capable of making the most valuable >>>> contributions to important parts of SymPy. What you are proposing here >>>> is a significant improvement to an important part of SymPy so the main >>>> points to focus on in your application are: >>>> 1) making it clear why this is important and how significant the >>>> improvement is >>>> 2) demonstrating that you personally understand what needs doing and >>>> are capable of doing the necessary work >>>> >>>> Then if your application is successful and it turns out that (based on >>>> the work you have already done) it is not hard to complete some of the >>>> tasks listed then there is no shortage of other things to be done for >>>> ODEs in SymPy. On the other hand if one of the tasks turns out to be >>>> more involved than expected then it is better to limit the scope of >>>> the project later and make sure that the parts that are implemented >>>> are done well. >>>> >>>> A general point that I often make to students is that (usually) it is >>>> better to do half a job well than to do the whole job badly. If half a >>>> job is done well then it makes a good starting point for someone in >>>> future to finish that work. If the whole job is done badly it >>>> potentially makes it more difficult for someone else to improve that >>>> work than it would be for them if starting from scratch. >>>> >>>> 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/ec01c77e-7ca7-48bc-aec8-94dcd3977567n%40googlegroups.com.