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.