GSoC Ideas to work on ODE module

20 views
Skip to first unread message

Bhaskar Gupta

unread,
Mar 30, 2020, 7:55:05 AM3/30/20
to sympy
Hi,

I was planning to work on ODE module in my GSoC project so I started working on my proposal for refactoring the ODE module. But, I did not realise until yesterday that Mohit Balwani is also working on the proposal for the same project and his proposal seems to be a lot more detailed as of now.

So, I wanted to understand if there are other areas in the scope of this project that SymPy is interested in and I can develop my proposal keeping those things in mind.

Thanks,
Bhaskar

Oscar Benjamin

unread,
Mar 30, 2020, 2:09:02 PM3/30/20
to sympy
Hi Bhaskar,

It is fine for multiple applicants to suggest similar projects. There
are plenty of other things to do in terms of refactoring and
optimising that will become possible as the initial refactoring
becomes complete. For example we should add benchmarks to the
benchmarks repo and profile and optimise each of the different
solvers. We should also optimise the ordering of the solvers and the
matching code. As part of the refactoring we should simplify each of
the solvers as much as possible.

There are many things that can be done to improve the ODE module more
generally such as adding solvers for classes of ODEs that are not yet
recognised like the Legendre ODE. There is a solver for Bessel's
equation but the GSOC ideas page links to an algorithm that can
transform many different ODEs into Bessel's equation by substitution.
There is a half-implemented method based on a published algorithm for
transforming ODEs into hypergeometric ODEs.

More generally lots of the ODE solvers could be changed to work
through substitution. There should be a function for performing
substitutions on ODEs (it is not trivial to do). In terms of
refactoring the work that I have already described and that has begun
is only really the beginning. Ultimately the ODE solving code should
be structured as a rules engine with a set of rules that lead to other
rules and so on in a similar way to manualintegrate. That would make
is possible to get solutions "by steps".

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+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/04f0d13a-102d-4a6d-9c62-7dedb9b1d45a%40googlegroups.com.

Bhaskar Gupta

unread,
Mar 30, 2020, 4:07:47 PM3/30/20
to sympy
Thank you for these ideas. I will definitely look into this and get back to you soon. 
> To unsubscribe from this group and stop receiving emails from it, send an email to sy...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages