GSoC project idea: Integration of homogeneous functions over polytopes

225 views
Skip to first unread message

Ondřej Čertík

unread,
Mar 29, 2017, 6:26:11 PM3/29/17
to sympy, Eric Chin, N. Sukumar
Hi,

Here is another GSoC idea from my collaborator at UC Davis, prof.
Sukumar [1]. His student Eric Chin gave me his permission to post the
project here, see the attached project description and his poster with
more details.

The general idea is to implement a module in SymPy to help integrate
homogeneous functions over arbitrary 2D and 3D polytopes (triangles,
quads, polygons, hexahedra, and more complicated 3D elements). The
applications are in extended finite elements which requires an
efficient quadrature of a 3D function over the finite element (say a
hexahedron). Other applications are computer graphics (ridid body
simulations of solids) and to devise cubature rules on arbitrary
polytopes.

See the references in the attached document. They use the Stokes
theorem and Euler theorem to transform the 3D integral (which
otherwise would require a 3D quadrature --- very expensive) to
integral over faces and eventually edges, and so it becomes much
faster. Features needed from SymPy:

* exact handling of integers and rationals
* symbolic representation of homogeneous functions
* symbolic derivatives
* numerical evaluation

At first it sounds technical, but this would be extremely useful even
for my own work. The spirit is roughly in line of this module that I
started and others finished:

https://github.com/sympy/sympy/blob/8800fd2ab1553cd768ad743c44b3ed00c111c368/sympy/integrals/quadrature.py

The ultimate application of this sympy.integrals.quadrature module are
double precision floating point numbers in Fortran, C or C++ programs,
however the reason it's in SymPy is that one can use SymPy to get
guaranteed accuracy to arbitrary precision. In principle
sympy.integrals.quadrature could also be implemented using libraries
like Arb (https://github.com/fredrik-johansson/arb), but Arb didn't
exist when I wrote quadrature.py, and the code of quadrature.py is
very simple, using regular SymPy, so there is still value in having
it.

The module proposed by this project would require symbolic features
from SymPy as well, such as the symbolic derivatives, as well as the
ability for the user to input the expression to integrate
symbolically.

The above project could also lead to a publication if there is interest.

If there are any interested students, please let me know. I can mentor
as well as help with the proposal.

Ondrej

[1] http://dilbert.engr.ucdavis.edu/~suku/
homog_num_int_intro.docx
poster-ggam.pdf

Vedarth Sharma

unread,
Mar 30, 2017, 4:09:29 AM3/30/17
to sympy, ebc...@ucdavis.edu, nsuk...@ucdavis.edu
I am interested. Can you guide me?

Ondřej Čertík

unread,
Mar 30, 2017, 11:51:45 AM3/30/17
to sympy, Eric Chin, N. Sukumar
Hi Vedarth,

Thanks for your interest.

I think the best is to start writing the proposal and ask questions as
you have them and I'll be happy to answer.

Ondrej
> --
> 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+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/612d52c0-5351-4b39-9030-bc6b178ff782%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Vedarth Sharma

unread,
Mar 30, 2017, 10:50:33 PM3/30/17
to sympy
I have already started writing the proposal can you please help me out in the implementation part?

Vedarth Sharma

unread,
Apr 2, 2017, 12:13:29 PM4/2/17
to sy...@googlegroups.com, ebc...@ucdavis.edu, nsuk...@ucdavis.edu
I am facing difficulty in understanding the method properly I would really appreciate it if someone can explain it to me through an example. I really need to understand it first before I can implement it. Especially equation (3).
Also, can I use parts of the poster in my proposal?
@nsukumar I would really appreciate your help.

--
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+unsubscribe@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.

Vedarth Sharma

unread,
Apr 2, 2017, 4:47:49 PM4/2/17
to sympy, ebc...@ucdavis.edu, nsuk...@ucdavis.edu
The thing is I need to work out some examples, where I integrate some simple homogeneous equations over a square. Since I am taking a square, does it mean I have to do a simple double Integration? Also, I don't think that I have understood the method properly, It would be a great help if someone could help me out regarding this.
Ondřej is a little busy today so I would really appreciate it if any one ,who has a little time on his hands and understands the method given in the poster, can help me in understanding
the method provided in the poster. Kindly explain the method with an example so that I can understand it and design the implementation properly.

Arif Ahmed

unread,
Apr 2, 2017, 7:30:11 PM4/2/17
to sympy, ebc...@ucdavis.edu, nsuk...@ucdavis.edu
I have written a proposal as well. Can you please take the time to review it ? : https://docs.google.com/document/d/1pIH-HXoAesl34_Qs41Mfmwxa8-2ExYvhVHh9bfS4ijQ/edit

Also , is it necessary to add this content to the SymPy wiki ?

Aaron Meurer

unread,
Apr 2, 2017, 10:42:48 PM4/2/17
to sy...@googlegroups.com, ebc...@ucdavis.edu, nsuk...@ucdavis.edu
It's not required to add things to the wiki. It can make it easier for
us to find your proposals before the deadline when looking at them.
After the deadline Google requires us to only look at the final PDF,
so it doesn't matter.

Aaron Meurer
> --
> 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+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/011bad81-0cd6-4156-954b-c015e38dc1ea%40googlegroups.com.

Ondřej Čertík

unread,
Apr 3, 2017, 5:14:47 PM4/3/17
to sympy
Arif, Vedarth,

Please make sure you submit your proposal. Try to do your best
regarding the example, I am busy today at work, my apologies for that.
I'll try to find time in the next few days to work it out (or ask
prof. Sukumar or his student), unless you can figure it out in the
meantime.

Ondrej

Vedarth Sharma

unread,
Apr 3, 2017, 11:10:28 PM4/3/17
to sy...@googlegroups.com
No problem. I figured it out somehow. I worked out an example and posted that in my proposal too.
Also, this is the only proposal that I submitted to Google.



> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/011bad81-0cd6-4156-954b-c015e38dc1ea%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

--
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+unsubscribe@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.

Arif Ahmed

unread,
Apr 4, 2017, 1:51:44 AM4/4/17
to sympy
I did submit a final proposal. Can you please confirm that you are able to view both our proposals on the Google site ?

--Regards,
  Arif Ahmed

Ondřej Čertík

unread,
Apr 4, 2017, 11:32:24 AM4/4/17
to sympy
Hi Arif,

Yes, I see both your and Vedarth's proposals as submitted.

Thanks for your work. We will be in touch via comments.

Ondrej

On Mon, Apr 3, 2017 at 11:51 PM, Arif Ahmed
> https://groups.google.com/d/msgid/sympy/64cf10cd-431a-41be-9273-7e804bd37b2f%40googlegroups.com.

Vedarth Sharma

unread,
Apr 7, 2017, 1:12:30 PM4/7/17
to sympy
That's great. I hope that both of us get selected and work on this project.
Reply all
Reply to author
Forward
0 new messages