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.


Reply via email to