id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
24622,Pseudo-Riemannian manifods,egourgoulhon,,"This ticket implements pseudo-Riemannian manifolds, i.e. real differentiable manifolds equipped with a metric tensor. Important subcases are of course Riemannian manifolds and Lorentzian manifolds. Taking into account that pseudo-Riemannian metric tensors are already implemented in Sage (see [http://doc.sagemath.org/html/en/reference/manifolds/sage/manifolds/differentiable/metric.html here]), this ticket introduces
- the parent class `PseudoRiemannianManifold`, as a subclass of the existing class `DifferentiableManifold`, with the specific methods `metric` and `volume_form`
- new methods `gradient`, `laplacian` and `dalembertian` for scalar fields
- new methods `divergence`, `laplacian` and `dalembertian` for tensor fields
- new methods `curl`, `dot_product`, `cross_product` and `norm` for vector fields
For a greater generality, all these methods have an optional argument `metric`; if it is omitted, the metric of the underlying pseudo-Riemannian manifold is assumed.
To match with the standard functional notation, functions `grad`, `div`, `curl`, `laplacian` and `dalembertian` have been implemented in `src/sage/manifolds/differentiable/operators.py`. Their role is simply to call the corresponding methods on their arguments. In order not to clutter the global namespace in a standard Sage session, these functions are imported only if some pseudo-Riemannian manifold is constructed, via the call to `sage.repl.user_globals.set_global` in `PseudoRiemannianManifold.__init__`.
Some vector calculus functionalities introduced by this ticket are
demonstrated in this [http://nbviewer.jupyter.org/github/egourgoulhon/SageMathTest/blob/master/Worksheets/vector_calculus.ipynb Jupyter worksheet].
The follow-up ticket #24623 implements Euclidean spaces.
This work is part of the [http://sagemanifolds.obspm.fr/ SageManifolds project], see #18528 for an overview.",enhancement,closed,major,sage-8.2,geometry,fixed,"pseudo-Riemannian, Riemannian, manifold, gradient, divergence, Laplacian",tscrim,,Eric Gourgoulhon,"Travis Scrimshaw, John Palmieri",N/A,,185e438b808c204dbf7b1f7b838fb43e40c100d2,185e438b808c204dbf7b1f7b838fb43e40c100d2,,