Opened 22 months ago
Last modified 20 months ago
#24622 closed enhancement
PseudoRiemannian manifods — at Version 9
Reported by:  egourgoulhon  Owned by:  

Priority:  major  Milestone:  sage8.2 
Component:  geometry  Keywords:  pseudoRiemannian, Riemannian, manifold, gradient, divergence, Laplacian 
Cc:  tscrim  Merged in:  
Authors:  Eric Gourgoulhon  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/manifolds/pseudoRiemannian (Commits)  Commit:  46b8f66385cd1c34e5310d627a0e44983f87cc4a 
Dependencies:  Stopgaps: 
Description (last modified by )
This ticket implements pseudoRiemannian 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 pseudoRiemannian metric tensors are already implemented in Sage (see here), this ticket introduces
 the parent class
PseudoRiemannianManifold
, as a subclass of the existing classDifferentiableManifold
, with the specific methodsmetric
andvolume_form
 new methods
gradient
,laplacian
anddalembertian
for scalar fields  new methods
divergence
,laplacian
anddalembertian
for tensor fields  new methods
curl
,dot
,cross
andnorm
for vector fields
For a greater generality, all these methods have an optional argument metric
; if it is omitted, the metric of the underlying pseudoRiemannian manifold is assumed. The followup ticket #24623 implements Euclidean spaces.
This work is part of the SageManifolds project, see #18528 for an overview.
Change History (9)
comment:1 Changed 22 months ago by
 Branch set to public/manifolds/pseudoRiemannian
 Commit set to 06f8fd34981fb8b201134439a55ecf79f962a5c9
comment:2 Changed 22 months ago by
 Description modified (diff)
comment:3 Changed 22 months ago by
 Description modified (diff)
comment:4 Changed 22 months ago by
 Commit changed from 06f8fd34981fb8b201134439a55ecf79f962a5c9 to 55f356c2ee79026349a821dccd409d0d5a76718c
Branch pushed to git repo; I updated commit sha1. New commits:
55f356c  Improve documentation of pseudoRiemannian manifolds

comment:5 Changed 22 months ago by
 Commit changed from 55f356c2ee79026349a821dccd409d0d5a76718c to 0fc661a5beaf076fdf67e0d4f45b546ed8e23e8e
Branch pushed to git repo; I updated commit sha1. New commits:
0fc661a  Remove method set_metric and improve doc of pseudoRiemannian manifolds

comment:6 Changed 22 months ago by
 Commit changed from 0fc661a5beaf076fdf67e0d4f45b546ed8e23e8e to b4dddf74279a21aa9cc645f959c8cd6b513a8d48
Branch pushed to git repo; I updated commit sha1. New commits:
b4dddf7  Add operators Laplacian, d'Alembertian and curl on pseudoRiemannian manifolds

comment:7 Changed 22 months ago by
 Commit changed from b4dddf74279a21aa9cc645f959c8cd6b513a8d48 to 040b01c35f3082b4788bdeefea9d28aa1f96d3bc
Branch pushed to git repo; I updated commit sha1. New commits:
040b01c  Add dot product and cross product of vector fields

comment:8 Changed 22 months ago by
 Commit changed from 040b01c35f3082b4788bdeefea9d28aa1f96d3bc to 46b8f66385cd1c34e5310d627a0e44983f87cc4a
Branch pushed to git repo; I updated commit sha1. New commits:
46b8f66  Add norm of vector fields.

comment:9 Changed 22 months ago by
 Description modified (diff)
This is work in progress...
New commits:
First version of pseudoRiemannian manifold class
PseudoRiemannian manifolds constructed by the generic function Manifold
Divergence of a tensor field + new section on pseudoRiemannian manifolds in the reference manual
Add doctests for pseudoRiemannian manifolds