Hi,

In Trac #24622 <https://trac.sagemath.org/ticket/24622>, the standard 
differential operators gradient, divergence, curl, Laplacian and 
d'Alembertian are introduced on pseudo-Riemannian manifolds. A demo 
worksheet is here 
<http://nbviewer.jupyter.org/github/egourgoulhon/SageMathTest/blob/master/Worksheets/vector_calculus.ipynb>
.
In particular, these operators are involved in the elementary vector 
calculus implemented in the subsequent ticket #24623 
<https://trac.sagemath.org/ticket/24623>, as illustrated in this other demo 
worksheet 
<http://nbviewer.jupyter.org/github/egourgoulhon/SageMathTest/blob/master/Worksheets/Euclidean_plane.ipynb>
.

To cope with standard mathematical notations, these operators are 
introduced as functions in the global namespace, which merely invoke the 
corresponding method of their argument, e.g. if v is a vector field,

sage: div(v)

returns the divergence of v computed as v.divergence().

Is it OK to introduce five new names in the global namespace:
grad, div, curl, laplacian, dalembertian
and possibly a sixth one: rot as an alias of curl?

An alternative (disapproved by the reviewer) is to inject these names in 
the global namespace only if any pseudo-Riemannian manifold is constructed, 
by means of the function sage.repl.user_globals.set_global in 
PseudoRiemannianManifold.__init__, see line 398 of
this source file 
<https://git.sagemath.org/sage.git/tree/src/sage/manifolds/differentiable/pseudo_riemannian.py?id=ac81082ff6279d0a0e6879359d7792514b03aaa9>
.

Thank you for your feedback.

Eric.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to