Other places you might look for things that are already implemented are the matrix and the differential geometry modules (including matrix expressions).
There is also line_integrate, which uses Curve from the geometry module. I believe that like the mechanics, the geometry module is 3-dimensional only. By the way, it's not exactly vector calculus, though it's somewhat related, but another great idea for a GSoC project is to expand the matrix expressions module, especially with respect to derivatives. See https://code.google.com/p/sympy/issues/detail?id=2759. Aaron Meurer On Fri, Mar 8, 2013 at 11:24 AM, Prasoon Shukla <prasoon92.i...@gmail.com> wrote: > Hello all, > > I was going through the project ideas for GSoC 2013 and I saw an entry for > implementation of vector calculus. As I have taken a semester's worth of > vector calculus, this looked like something I could do. > > I am not saying that I'll be going with this proposal a 100%, but I may. > > Anyway, here are some of the questions that I have. > > Q. Has it already been implemeneted to some extent? > > I began with grep for keywords such as curl, divergence etc. Barely a few > lines showed up. Then, I tried a google search and that led me to the > mechanics module. Unfortunately, I am not familiar with the mechanics > module. Therefore, I decided that it was best to ask the community about it. > So, has vector calculus been implemented anywahere *inside* the mechanics > module? That seems quite unlikely to me (because of the grep), still, I'm > just checking whether anyone else has done some wrok on this that isn't on > master. > > Now, assuming that there is no implementation of this yet, I have the > following questions: > > Q. In case I decide to make my GSoC proposal for the addition of this new > module, what functionality is expected from this new component other than > the obvious? > > Obviously, we would have to support general coordinate systems, > tranformations, the usual operations for elements belonging to these vector > fields and vector operations over scalar fields(curl, div on vectors, > laplacian etc on scalars), integration over paths, surfaces and volumes, the > usual theorems of vector calculus (Gauss, Stokes), support for vector > functions etc. > > There is no order/priority to this list. These are just the few things that > came off the top of my mind. Now, other than this relatively obvious > functionality, what are the other important things that we might have a > relation with this module? > > As an example, we can have the solution of the PDE for the magnetic vector > potential. This would depend both on the new vector calculus module (to get > the PDEs to solve) as well as on the PDE solvers (to get the solution of > PDEs). > > So, basically, I'm looking in both directions here. If the funcionality of > some other part of SymPy increases because of this new module, then it's > well and good. But, on the other hand, we are going to have dependencies on > many other components as well (multiple integration is an example). So, if > someone can point out some of these dependencies that might pose a problem > later on, that would be helpful. > > Also, as I asked before, what might be some of the non-obvious things that a > user might require? I can't think of any such thing right now but it is > certainly worth a look. > > Q. Would this project be big enough for a summer? > > My personal thought on this is yes. Though I have only vaguely considered > the *how* yet - I am focussing more on the *what* for now - still, I think > that a well made VectorCalculus module may require quite a bit of work. > If this much work is enough for a summer, well and good. If not, then what > more can be added to this project so as to make it big enough for a summer's > worth of coding? > > These are just some of questions that occur to me as of yet. Please state > your opinions/suggestions/answers below. Once I am clear on these points, > then, I can move ahead with figuring out a sketch for the implementation. > > Thanks > Prasoon Shukla > > -- > 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+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > 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 sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.