Hi Mohit,

I looked at your proposal. It is not clear to me what the result of the 
refactoring would be in terms of the algorithmic implementation or the 
benefits to the ODE solver. Is it the idea to have independent classes and 
therefore solvers for each of the ODE solvers and classifiers, that can 
then be called from a master ODE solver class, and that can be called 
independently?  
In any case I wouldn't use regular pattern matching to check if an ODE 
belongs to a certain class, as this almost never works consistently and 
reliably, the preferred approach is to use functional operators like 
differentiation to determine the class (like for exact ODEs). For instance 
the well-known example f(x,y) = exp(x*x + y*y) * (cos(x+y) + cos(x-y)) is 
separable. You can only find this with pattern matching if you follow a 
correct sequence of rewriting of the function using known rules for 
trigonometry, logarithms, etc. Your approach does not detail how to do the 
classifications of all the ODEs besides the mention of 'pattern matching'. 
Your proposal for ode.py to loop over the implemented subsolvers, check if 
it matches the 'pattern' and then solve if it matches makes sense. But how 
much of the get_solution() part is shared by the different subsolvers? A 
number of the current subsolvers are actually the same, like the subsolvers 
based on undetermined coefficients,characteristic or homogeneous equations, 
there could be some merging here. Also, how is the order of the calls to 
the different subsolvers determined?  Then finally, there should be some 
further refinement in the classification, like first classifying as a 
scalar ODE, then determine the order, then go through the available options 
for this order (since most methods only work for a specific order of the 
ODE), this is not clear from the how you tackle this.

Just some ideas, all the best,
Nijso

On Thursday, 1 April 2021 at 16:31:23 UTC+2 mohitbalw...@gmail.com wrote:

> Hello everyone, 
> I wanted to share my GSoC proposal if someone can provide a feedback, it 
> would be really helpful.
> Here is the  Link 
> <https://docs.google.com/document/d/1slfj2CJRgKpmf0zOW93YkxYUDUvutTmkDX6BmsFfmIs/edit?usp=sharing>
> .
>
> regards,
> Mohit
>

-- 
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/bb2579ce-bdfa-46b4-a48f-f52a822b63d3n%40googlegroups.com.

Reply via email to