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.