On Thu, Mar 7, 2013 at 2:58 AM, Manoj Kumar <[email protected]> wrote: > Hello again. > > Sorry to bring this post up again, but I thought it would be good to keep > all my ideas on a single thread. > > I've been reading about lie groups and their application in solving > differential equations and I believe I've got my concepts right about > solving a linear first order differential equation. Maple, (according to the > papers cited in the SoC ideas pages), has two separate papers dedicated to > solving differential equations of the first and second order using lie > groups. I would like to like to code a clone for solving first order > differential equations using lie groups in sympy for my SoC proposal. > > Theory: > There are many differential equations that cannot be solved using the > present dsolve in ode.py. Suppose there is a differential equation of the > form > (dr / ds) = f(r), since the slope is independent of s, moving in the s > direction would merge one solution into another. The principal aim of using > lie groups is to reduce any given differential equation to the above > mentioned form. > > The coordinates r and s are called canonical coordinates because any lie > group transformation which leaves the differential equation invariant would > transform it into the form (r, s + alpha) where r remains invariant.If we > are able to find such coordinates, then the equation becomes separable. > > The problem is finding these canonical co-ordinates. This can be broken into > four steps(This is for first order differential equations) > > 1. Find η and ξ , the infinitesimals using this partial diffential equation, > which > are basically the differentials of the transformed co-ordinates with respect > to > the transformation parameter. > > ηx - ξy h2 + (ηy - ξx )h - (ξhx + ηhy ) = 0 > > This should be the toughest part of the project. As you can see solving a > linear first order ODE, leads to solving a much more complicated PDE. > However in this PDE, some assumptions could be made for the infinitesimals. > > Maple has 6 separate algorithms just for finding the infinitesimals as > described in the paper. Once this is done. > > 2. rx ξ + ry η = 0, > sx ξ + sy η = 1, > > Solving these two equations would give, r and s , this can be done by. dx / > ξ = dy / η = r(x,y) and dx / ξ = ds > > 3. After this substituting r and s in > ds / dr = sx + h(x,y)sy / rx + h(x, y)ry and simplifying in terms of r and s > would give a separable form. > > 4. And after solving the differential equation in terms of r and s, > substituting back r and s in terms of x and y. > > I haven't focussed on the implementation part yet, but I think it should be > structured similar to dsolve, or should it be implemented in dsolve. > > I've focussed on only first order differential equations here, even Maple > also has support only upto the second order.I feel this project would be > challenging for me and also a addition to the ODE solver of sympy. > > @Aaron, Stefan, and Smichr Please do give your feedback.
I haven't formally studied Lie groups and their applications to solving ODEs, but from my understanding, they are indeed a powerful method for doing so. This would definitely be a welcome project for GSoC. Aaron Meurer > > > -- > 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?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
