Okay, so I have been away a while due to a lot of reasons. Fortunately, I 
will have time from now on for about 3 weeks. As of now, I have a working 
API of the Coordinate System class, the Vector class, and, the Reference 
Frame class. The Reference Frame class is where I will try to implement all 
of the time dependent functionality. I will explain all of these in detail 
soon in my proposal on the wiki.

The next thing that I am trying to think of is the Vector.integrate() 
method. As is obvious, we will use it for integration over vector and 
scalar fields.

Now, the first thing is to have a VectorIntegral class that would represent 
an integral complete with the field, the type (line, area or volume) and 
the path/area/volume to integrate over. The problem I am having now is 
this: Right now, SymPy can solve integrals symbolically for the 
one-dimensional case. I need to implement

a) Line integrals - For this I need some notion of a path. Right now, the 
integrate function in SymPy takes only straight paths (that is we can only 
provide end points and the path is just one of the coordinate axes). But, I 
need support for three dimensional paths. One solution I thought of is to 
have a class called Path that would contain the parametric definitions for 
the path. The methods in this class can further be used as helpers to 
evaluate the integral. This can be done by reducing the line integral into 
simple integral in one variable which SymPy can already evaluate.

b) Surface Integrals - Again, I need some way to represent an area. So, 
perhaps a Surface class will do the job? Implementation will be similar as 
mentioned above.

c) Volume Integrals - Needs a Volume class. Similar implementation.

The implementation of a Path, Surface and a Volume class seems to be the 
solution to this problem at this point. If anyone else has a better idea, 
please do tell. Otherwise, I think I'll go ahead with this.

Another problem that I have right now is this: How do I calculate the 
multiple integrals that will arise in evaluating the above three cases? I 
think that this can be implemented with some work in the integration 
module, which I'll have to do at a later stage.

But then again, SymPy is a symbolic maths library, and, the computations of 
the above mentioned integrals will be numerical in nature. So, I think that 
we may not need too many major changes to be able to implement this. For 
example, line integrals can just be reduced to integrals in one variable. 
Surface and volume integrals will need to be reduced to simple integrals in 
2 and 3 dimensions and then be evaluated.

Anyway, these are just the ideas in my mind. And admittedly, they are in a 
crude form. Hopefully, in a day or two, I'll have more refined ideas to go 
on with. In the meantime, please make do tell any suggestions/changes that 
you gentlemen think should be there.

Thanks

-- 
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-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to