On Sat, Mar 24, 2012 at 10:07 AM, Kristen Mills
<kri...@kristen-mills.com> wrote:
>
> I think something I'd really be interested in doing would be something along
> the lines of step by step expression manipulation.
> Another idea I had was adding support for more advanced calculus.
There is a discussion going on about step-by-step expression
manipulation: [0].
While you will be discussing your idea of implementation, I suggest
you keep in mind that you have to fulfil your patch requirement by
submitting at least one patch to SymPy. To do that, I suggest you set
up your environment according to [1]. Then, take a look at the list
of issues [2], pick one (or more :-) ) which you like best and submit
a patch. Some issues are explicitly marked as easy to fix: [3]
Sergiu
[0] https://groups.google.com/d/topic/sympy/Rxmpl5TRyaw/discussion
[1] https://github.com/sympy/sympy/wiki/Development-workflow
[2] http://code.google.com/p/sympy/issues/list
[3] http://code.google.com/p/sympy/issues/list?can=2&q=label%3AEasyToFix+&colspec=ID+Type+Status+Priority+Milestone+Reporter+Summary+Stars&cells=tiles
You could also make a project out of further improving the ODE solver.
It can already solve most types of ODEs taught in a first level
course, but there are tons of ODE solving methods that are not yet
implemented.
And by the way, "more complete PDE solver" is putting it kindly. We
currently have *no* PDE solver, just a couple of helper methods for
separation of variables.
Aaron Meurer
>
> What do you plan on implementing?
>
> Cheers!
> Saptarshi
>
> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
>
On Sat, Mar 24, 2012 at 10:10 AM, Saptarshi Mandal
<sapta....@gmail.com> wrote:
>> Another idea I had was adding support for more advanced calculus.
>>
>
> Sympy already has support for much that is covered in 2nd year
> Calculus (ODEs, transform calculus and a reasonably good integrator)
>
> Vector calculus is still required as is a more complete PDE solver.
You could also make a project out of further improving the ODE solver.
It can already solve most types of ODEs taught in a first level
course, but there are tons of ODE solving methods that are not yet
implemented..
And by the way, "more complete PDE solver" is putting it kindly. We
currently have *no* PDE solver, just a couple of helper methods for
separation of variables.Aaron Meurer
>
> What do you plan on implementing?
>
> Cheers!
> Saptarshi
>
> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to sympy+unsubscribe@googlegroups.com.
> To unsubscribe from this group, send email to sympy+unsubscribe@googlegroups.com.
Take a look at sympy/solvers/ode.py to see what's already implemented.
Search the issue tracker for some ideas on how it can be improved.
Also, we now have a ton of special functions in SymPy that are defined
by ODEs, and it would be nice to implement solvers for them. There
was a paper mentioned on some other thread on this list about this
too. You can also look at more general algorithms for solving ODEs
like ones involving Lie groups (see the ideas page).
Aaron Meurer
>
>> And by the way, "more complete PDE solver" is putting it kindly. We
>>
>> currently have *no* PDE solver, just a couple of helper methods for
>> separation of variables.
>>
>> Aaron Meurer
>>
>> >
>> > What do you plan on implementing?
>> >
>> > Cheers!
>> > Saptarshi
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "sympy" group.
>> > To post to this group, send email to sy...@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > sympy+un...@googlegroups.com.
>> > sympy+un...@googlegroups.com.
>> > For more options, visit this group at
>> > http://groups.google.com/group/sympy?hl=en.
>> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/hy7YqbCkUQkJ.
>
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to
> sympy+un...@googlegroups.com.
I don't think sympy has an ODE systems solver. That would be very useful for my
DE students, even if for only the 2x2 and 3x3 case.
>
>> And by the way, "more complete PDE solver" is putting it kindly. We
>>
>> currently have *no* PDE solver, just a couple of helper methods for
>> separation of variables.
>>
>> Aaron Meurer
>>
>> >
>> > What do you plan on implementing?
>> >
>> > Cheers!
>> > Saptarshi
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "sympy" group.
>> > To post to this group, send email to sy...@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > sympy+un...@googlegroups.com.
>> > sympy+un...@googlegroups.com.
>> > For more options, visit this group at
>> > http://groups.google.com/group/sympy?hl=en.
>> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/hy7YqbCkUQkJ.
>
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to
> sympy+un...@googlegroups.com.
Oh yes, I forgot about this. I don't see any reason why it shouldn't
be able to handle the nxn case of a linear system. You can also
implement methods for solving non-linear systems that decouple.
Relating to this, it would be useful to add some methods that don't
necessarily solve ODEs, but manipulate them. For example, you could
have a method that takes a higher order ODE and converts it into a
system of 1st order ODEs. Take a look at Maple's DETools package for
some more ideas.
And if you search the issues, you'll see that we still need support
for initial/boundary conditions, and there is also an issue for
improving the situation of arbitrary constant simplification.
Aaron Meurer
Maple also has a nice PDETools package. There's also a paper that
discusses the implementation of their PDE solver.
Cheers,
Tim.
--
Tim Lahey
PhD Candidate, Systems Design Engineering
University of Waterloo
http://about.me/tjlahey
We should definitely do this. I've already come across one situation
where this should happen, which is that we should factor out the
function that computes the variation of parameters into a user-level
function, so that you can just pass it a linear ODE of order n and n
linearly independent solutions, and it will return the variation of
parameters. This way, even if the particular solver for the
homogeneous case is not yet implemented, you can still use the method
if you have the linearly independent set of solutions.
Needless to say, there's plenty of work that can be done in the ODE module :)
Aaron Meurer
>
>> And by the way, "more complete PDE solver" is putting it kindly. We
>>
>> currently have *no* PDE solver, just a couple of helper methods for
>> separation of variables.
>>
>> Aaron Meurer
>>
>> >
>> > What do you plan on implementing?
>> >
>> > Cheers!
>> > Saptarshi
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "sympy" group.
>> > To post to this group, send email to sy...@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > For more options, visit this group at
>> > http://groups.google.com/group/sympy?hl=en.
>> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/hy7YqbCkUQkJ.
>
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to
>
> > I don't think sympy has an ODE systems solver. That would be very useful for my
> > DE students, even if for only the 2x2 and 3x3 case.
>
> Oh yes, I forgot about this. I don't see any reason why it shouldn't
> be able to handle the nxn case of a linear system. You can also
> implement methods for solving non-linear systems that decouple.
>
Kristen: I have a pull request on hold regarding this. I can hand
over that work to you.
> Relating to this, it would be useful to add some methods that don't
> necessarily solve ODEs, but manipulate them. For example, you could
> have a method that takes a higher order ODE and converts it into a
> system of 1st order ODEs. Take a look at Maple's DETools package for
> some more ideas.
>
A *very* good idea. Is there some scope for code deduplication in this
case as well? I mean, do you perform some simplification in each of
the
techniques you have implemented that can be factored out into a common
function?
> And if you search the issues, you'll see that we still need support
> for initial/boundary conditions, and there is also an issue for
> improving the situation of arbitrary constant simplification.
>
> Aaron Meurer
>
>
>
>
>
>
>
>
>
> >>> And by the way, "more complete PDE solver" is putting it kindly. We
>
> >>> currently have *no* PDE solver, just a couple of helper methods for
> >>> separation of variables.
>
> >>> Aaron Meurer
>
> >>> > What do you plan on implementing?
>
> >>> > Cheers!
> >>> > Saptarshi
>
> >>> > --
> >>> > You received this message because you are subscribed to the Google
> >>> > Groups "sympy" group.
> >>> > To post to this group, send email to sy...@googlegroups.com.
> >>> > To unsubscribe from this group, send email to
> >>> > sympy+unsubscribe@googlegroups.com.