Re: [sympy] GSOC 2015: Extending ODE module.

138 views
Skip to first unread message

Aaron Meurer

unread,
Mar 1, 2015, 2:07:47 PM3/1/15
to sy...@googlegroups.com
I don't know enough about Lie Group methods to comment on how they
should be implemented, but looking at how Maple does it (and reading
the papers referenced in their docs) is definitely a good place to
start. The current ODE module is heavily influenced by Maple (at
least the parts I wrote are).

Aaron Meurer

On Fri, Feb 27, 2015 at 3:45 PM, Mihir Wadwekar <m.mi...@gmail.com> wrote:
> Hi,
>
> I am Mihir Wadwekar, a 3rd year undergrad pursuing computer science at IIIT
> Hyderabad. I have been tinkering with Sympy for some time now and have
> committed 4 patches in it. I do understand how the codebase works and would
> like to work upon the ODE module as part of my GSOC 2015 project.
>
> I am planning to extend the solving of 1st-order differential equations
> using lie groups to also include 2nd order differential equations.
>
> Currently for first-order differential equation, infinitesimals are
> generated which fit the linearized symmetry condition. Canonical
> co-ordinates are derived from these infinitesimals by solving relatively
> simpler PDE's. These coordinates on substitution make the equation a problem
> of quadrature. After solving it, the original variables are substituted back
> to get the solution.
>
> Finding a pair of infinitesimals is the most difficult part of it. There is
> no easy way to generate them yet and as a result various intelligent guesses
> are made and tried out till one fits the symmetry condition and makes the
> ODE invariant. Similar procedure can be used for 2nd order differential
> equations. However their symmetry condition and the type of guesses for the
> infinitesimals is different. Also the infinitesimals here have an additional
> variable( dy/dx ).
>
> The 2nd order part can be built upon the previous structure. There is a
> function 'infinitesimals' which generates infinitesimals by calling all
> heuristics functions. This function can be changed to recognize the order of
> the ODE and call the heuristic functions of that ODE. Some heuristics are
> common for both ODE's, but still would require some changes due to the
> presence of an additional variable in 2nd order equations. Other new guesses
> would be written from scratch. A brief summary of the guesses for 2nd order
> is provided here.
>
> After generating infinitesimals for 2nd order there are multiple ways to
> approach the remaining part. Solving through canonical coordinates as done
> in 1st order eqautions is one of the way. Since it is already implemented
> for 1st order, I plan to go forward with this approach. However canonical
> variables may sometimes cause computation failures due to inverse
> transformations and hence I also want to implement the method of first
> integrals.
>
> A lot of depth can be added here. More intelligent guesses for 1st and 2nd
> order equations can also be implemented. Lie groups is a vast field and
> could itself be a proper module. Your views on the complexity would really
> help as there is a lot of material to read.
>
> It would be a great boost for ODE solving module if 2nd order differential
> equations can also be solved through lie groups. Using lie groups is a more
> generic method and does not require any special classification of ODE. This
> can form a base for higher-degree ODE's.
>
> I do have a vision for implementing this is depth but would like to know
> your initial thoughts on this before I go ahead.
>
> Thanks.
>
> --
> 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 post to this group, send email to sy...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/d618eb30-1fd2-401e-9956-c2a629e22510%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Aaron Meurer

unread,
Mar 1, 2015, 7:37:31 PM3/1/15
to sy...@googlegroups.com
The scope seems good.

I believe there are other issues. Search the issue tracker. Some may
be out of scope (like some issues with the systems solver, unless the
Lie Group methods can be used to solve systems).

Aaron Meurer

On Sun, Mar 1, 2015 at 3:25 PM, Mihir Wadwekar <m.mi...@gmail.com> wrote:
> Looking at Maple is exactly what I am doing. Both their online help and the
> papers listed in the ideas page have helped me immensely in forming a way to
> implement lie group methods. Will add a draft soon to the wiki page
> discussing exactly how I plan to go ahead. Does the scope of the project
> seem right ? I am not sure whether I would be able to do any other major
> different topic along with lie groups for this summer. Maybe there are some
> other smaller issues with dsolve that can be synced along with this proposal
> ?
> https://groups.google.com/d/msgid/sympy/33c69676-185e-490d-acff-2b5bec1dbc70%40googlegroups.com.
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages