On Mon, Apr 1, 2013 at 9:10 AM, Prasoon Shukla <[email protected]>wrote:

> 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.
>

Take a look at the already existing line_integrate() as well.


>
> 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.
>

How are they numerical in nature? Integrals are by their nature symbolic.
They take symbolic functions and return a symbolic result. Numerics are
useful if the answer is not expressible in terms of nice functions.

Aaron Meurer


> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy?hl=en-US.
>
> 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 [email protected].
To post to this group, send email to [email protected].
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