GSoC Application Implementation of multiple types of coordinate systems for vectors

56 views
Skip to first unread message

szymon.m...@gmail.com

unread,
Apr 1, 2017, 5:08:28 PM4/1/17
to sympy

Alan Bromborsky

unread,
Apr 1, 2017, 5:47:37 PM4/1/17
to sy...@googlegroups.com
Proposal looks good.  Only one comment and one suggestion. -

Comment: You need to be very careful when taking the square root of an expression.  Check the degree to which assumptions propagate such as if u and v are declared real does sqrt() know that sqrt(u**2+v**2) is also real.

Suggestion: Consider a vector differential operator class (del operator) and then overloading * and ^ so that if f is a scalar field and V a vector field you can write -

gradient of scalar field = del * f
divergence of vector field = del * V
curl of vector field = del ^ V
Laplacian of scalar field = del * (del * f)

In the future vector differential operators could be more general than del and an algebra of differential operators could be defined.  For example if L is a linear transformation (possibly a function of the coordinates) and overload * so that L(V) = L * V then possible differential operator could be -

(del * L) * V

or if M is another linear transformation

(del * L + M) * V

If defined correctly the Laplacian could be del * del.
--
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/7a6bd606-015b-4946-b965-049f82bc3f10%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


szymon.m...@gmail.com

unread,
Apr 2, 2017, 2:01:42 AM4/2/17
to sympy

Thank you for your comment and suggestion.There are helpful.
Overloading operator is definitely great idea. It would be great to implement this feature.

Alan Bromborsky

unread,
Apr 2, 2017, 8:06:07 AM4/2/17
to sy...@googlegroups.com
This may be getting too far afield but consider a scalar differential operator class to build the vector differential operator class.  It is easy to define an algebra for the scalar differential operator class.  See section 2.3.3 in attached document.
galgebra.pdf

szymon.m...@gmail.com

unread,
Apr 2, 2017, 9:33:08 AM4/2/17
to sympy
Thank you for this manuscript and concept.

I wish I started working on proposal so late and I couldn't think on your idea carefully before deadline.
Python is great language to overloading operator, but we need do it wisely from structural point of view.
I just add short description in my proposal, and I will think about it in April an May.

BTW:
I've found one typo in your document. On page 20 in the first line you have "A general general multivector linear differential".

Szymon

Alan Bromborsky

unread,
Apr 2, 2017, 9:35:55 AM4/2/17
to sy...@googlegroups.com
Thank you I will correct it. 
Reply all
Reply to author
Forward
0 new messages