I have made a draft at: https://github.com/sympy/sympy/wiki/GSoC-2015-Application-Mihir-Wadwekar:-Lie-Group-Methods-for-Second-Order-Differential-Equations <https://github.com/sympy/sympy/wiki/GSoC-2015-Application-Mihir-Wadwekar:-Lie-Group-Methods-for-Second-Order-Differential-Equations.>
Will keep on adding implementation details of each method. I have tried to put theory in brief and have avoided proofs to keep it short and simple. Is it enough or is a deeper explanation required? Also do you see anything wrong with the process flow ? Do let me know any concerns. Thanks. On Monday, March 2, 2015 at 6:07:31 AM UTC+5:30, Aaron Meurer wrote: > > 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 <[email protected] > <javascript:>> 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 > > ? > > > > > > On Monday, March 2, 2015 at 12:37:47 AM UTC+5:30, Aaron Meurer wrote: > >> > >> 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 <[email protected]> > 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 [email protected]. > >> > To post to this group, send email to [email protected]. > >> > 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. > > > > -- > > 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] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > 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/33c69676-185e-490d-acff-2b5bec1dbc70%40googlegroups.com. > > > > > > For more options, visit https://groups.google.com/d/optout. > -- 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 post to this group, send email to [email protected]. 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/4d17e774-e807-4989-be84-a3b261aabed6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
