On Mon, Apr 1, 2013 at 5:15 PM, someone <someb...@bluewin.ch> wrote:

> > 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.
>
> I considered doing this for contour integrals in the complex plane
> some long time ago. If you do it the "right" way, then the code could
> maybe be reused for that case too. Although the typical paths in contour
> integrals are somewhat specific combinations of circles and lines.
> (I hoped that I could parametrize this all with the usual epsilons.)
>

That would be neat. Of course, the real work there would be getting the
residue() function working better, so that you could actually compute such
integrals.  But this is a GSoC idea onto itself.


>
> > 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.
>
> I have the hope that one could get away with just a single parametric
> object depending on as many parameters as necessary:
>
>   L(u) := L(u_1, u_2, ..., u_n)
>
> would then represent an integral over an N-dimensional hypervolume
> (path: n=1, surface: n=2, volume: n=3 and so on) and the integral
>
>   Int(f , L)  -->  Int( f(L(u)) |J L| du
>               -->  Int(...Int( f(L(u_1, ..., u_n)) |J L| du_1, ..., du_n
>
> It is for sure not easy to do this all the correct way such
> that all fits well together. But I think it's worth thinking
> about it!
>

Manifolds in general have to be parameterized in patches (any manifold that
is not diffeomorphic to R^n will by definition require more than one patch
of differential parametrization to describe). The diffgeom module should
take care of this sort of stuff, though.

Aaron Meurer


> There is the most general version of the Stoke's theorem:
>
> http://upload.wikimedia.org/math/8/e/4/8e4e3b1cd7d06acf2438e40509c4f4e7.png
>
> in this notation independent on dimension of the "volume" Omega
> and its border dOmega. From this we can get all others, and that
> is the point why I think it should be possible to do this in a
> mostly dimension agnostic way.
>
> --
> 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.
>
>
>

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