Opened 21 months ago
Closed 6 months ago
#19209 closed enhancement (fixed)
PseudoRiemannian metrics on smooth manifolds
Reported by:  egourgoulhon  Owned by:  egourgoulhon 

Priority:  major  Milestone:  sage7.5 
Component:  geometry  Keywords:  differentiable manifold, pseudoRiemannian metric, Riemannian metric, Lorentzian metric, LeviCivita connection 
Cc:  mbejger, mmancini  Merged in:  
Authors:  Eric Gourgoulhon, Michal Bjeger, Marco Mancini  Reviewers:  Volker Braun 
Report Upstream:  N/A  Work issues:  
Branch:  c622eb9 (Commits)  Commit:  c622eb9423ddfb66baaf0cba5e85be915b9cb68a 
Dependencies:  #18100, #19147  Stopgaps: 
Description (last modified by )
This ticket implements pseudoriemannian metrics on infinitely differentiable manifolds (i.e. smooth manifolds) over R. This is a followup of #19147 within the SageManifolds project (see the metaticket #18528 for an overview).
This ticket implements the following Python classes:
PseudoRiemannianMetric
for pseudoRiemannian metrics on a real smooth manifoldPseudoRiemannianMetricParal
for pseudoRiemannian metrics on a real smooth parallelizable manifold
LeviCivitaConnection
for the LeviCivita connection associated with a pseudoRiemannian metric.
Various methods of the above classes allow for the computation of
 the connection coefficients and Christoffel symbols of the LeviCivita connection associated with a given metric
 the Riemann and Ricci tensor of a given metric
 the Ricci scalar of a given metric
 the Weyl tensor of a given metric
 the volume nform associated with a given metric on a ndimensional manifold
 the metric duals of tensor fields (musical isomorphisms)
The user interface is via the method DifferentiableManifold.metric()
. At the user choice, CPUdemanding computations (like that of the Riemann tensor) can be parallelized, thanks to #18100.
Documentation:
The reference manual is produced by
sage docbuild reference/manifolds html
It can also be accessed online at http://sagemanifolds.obspm.fr/doc/19209/reference/manifolds/
More documentation (e.g. example worksheets) can be found here.
Change History (37)
comment:1 Changed 21 months ago by
 Commit changed from 8304102cee532d2a6fae11cbfc4a48711de4a1ee to e37d03f123098108eeac8c1b459ae9091fc502c4
comment:2 Changed 21 months ago by
 Commit changed from e37d03f123098108eeac8c1b459ae9091fc502c4 to 1778a4cf153c844b2227240cf8df071166f87800
Branch pushed to git repo; I updated commit sha1. New commits:
1778a4c  Add method hodge_dual() in classes DiffForm, DiffFormParal and DiffScalarField

comment:3 Changed 20 months ago by
 Commit changed from 1778a4cf153c844b2227240cf8df071166f87800 to a6ed45c48ebc8c841b2e52512c62d47f2a894b21
Branch pushed to git repo; I updated commit sha1. New commits:
a6ed45c  Full doctest coverage of pseudoRiemannian metrics

comment:4 Changed 20 months ago by
 Commit changed from a6ed45c48ebc8c841b2e52512c62d47f2a894b21 to a1288778a6a3266725e4a92dec0cab11ad2e01b1
Branch pushed to git repo; I updated commit sha1. New commits:
a128877  Full doctest coverage for LeviCivita connections

comment:5 Changed 20 months ago by
 Commit changed from a1288778a6a3266725e4a92dec0cab11ad2e01b1 to 03143c5259e9b17ecec0a92cf443e7630a3aa8ce
Branch pushed to git repo; I updated commit sha1. New commits:
03143c5  Various improvements, in particular in method open_subset() of Top/DiffManifold

comment:6 Changed 20 months ago by
 Commit changed from 03143c5259e9b17ecec0a92cf443e7630a3aa8ce to 3c5fc6f6fe2d85ea6a5e2fcba433701d8afa2e6b
Branch pushed to git repo; I updated commit sha1. New commits:
3c5fc6f  Many improvements in the documentation of topological manifolds.

comment:7 Changed 20 months ago by
 Commit changed from 3c5fc6f6fe2d85ea6a5e2fcba433701d8afa2e6b to 7240be390f471eaba3bb5a6eff80674a59cb08d7
Branch pushed to git repo; I updated commit sha1. New commits:
7240be3  Many improvements in the doc of top and diff manifolds

comment:8 Changed 20 months ago by
 Commit changed from 7240be390f471eaba3bb5a6eff80674a59cb08d7 to 045e736fd2d66f01c076cedf03344b9b957b48fa
Branch pushed to git repo; I updated commit sha1. New commits:
045e736  Add global function xder + deprecated functions (Manifold, diff_mapping, function_chart)

comment:9 Changed 20 months ago by
 Commit changed from 045e736fd2d66f01c076cedf03344b9b957b48fa to 60a4edd0644920b16646a05fb0e6db0d4909f156
Branch pushed to git repo; I updated commit sha1. New commits:
60a4edd  Add pushforward to differentiable maps

comment:10 Changed 20 months ago by
 Commit changed from 60a4edd0644920b16646a05fb0e6db0d4909f156 to 8ecc57acb64111be2e9927b8f53f69e4f2bd012e
Branch pushed to git repo; I updated commit sha1. New commits:
8ecc57a  Minor changes in differentiable manifolds.

comment:11 Changed 20 months ago by
 Commit changed from 8ecc57acb64111be2e9927b8f53f69e4f2bd012e to 5b3a96191b702328180003b75565d53a4c20ea6d
Branch pushed to git repo; I updated commit sha1. New commits:
5b3a961  Introduce open covers on topological manifolds and change TensorField.__eq__

comment:12 Changed 20 months ago by
 Commit changed from 5b3a96191b702328180003b75565d53a4c20ea6d to 433f93f97068ab28c8d9ed9fdfcd0cfa4fcdfe49
Branch pushed to git repo; I updated commit sha1. New commits:
433f93f  Minor improvements in documentation of algebras of scalar fields and diff. manifolds

comment:13 Changed 20 months ago by
 Commit changed from 433f93f97068ab28c8d9ed9fdfcd0cfa4fcdfe49 to 889555e0d95edc5c91f59f3d7cebcd9b75513e8b
Branch pushed to git repo; I updated commit sha1. New commits:
889555e  Very minor changes in manifold.py and chart.py

comment:14 Changed 20 months ago by
 Commit changed from 889555e0d95edc5c91f59f3d7cebcd9b75513e8b to 6ecd5db9cb2b58e5eb9e32eba4edbf8104613e73
Branch pushed to git repo; I updated commit sha1. New commits:
6ecd5db  Improve TensorField.__eq__ (case with no open cover known)

comment:15 Changed 20 months ago by
 Commit changed from 6ecd5db9cb2b58e5eb9e32eba4edbf8104613e73 to 0cf017a834aba4dffed1ba76eaa72ebef723471a
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
a6d4bd4  Merge branch 'public/18100parallelization_tensors' into Sage 6.7

81f662c  Improve documentation of class TensorParallelCompute.

ea38c84  In doc, changed processor with process

819661d  Changed variables name : set_nproc to set_nproc_tensor, get_nproc to get_nproc_tensor

53c248c  Parallelization: corrected doc

0bb79a3  Merge #18100 into #19124

a148062  Major improvements in the documentation of diff. manifolds (affine connections part)

a80dccc  Improve TensorField.__eq__ (case with no open cover known)

f86e5db  Merge #19147 into (#19124 + #18100)

0cf017a  Merge #19209 into #19147

comment:16 Changed 20 months ago by
 Description modified (diff)
 Milestone changed from sage6.9 to sage6.10
 Status changed from new to needs_review
comment:17 Changed 19 months ago by
 Commit changed from 0cf017a834aba4dffed1ba76eaa72ebef723471a to 82f6f495bb6f729624dd8396208f5a3c67e2fa8d
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
2605c0b  Merge #18529 (Topological manifolds: basics) into #18175 (Implement categories for topological...)

6dec6d5  Implement topological manifolds (basics, #18529) on the new categories for manifolds (#18175)

3403978  Implement top. manifolds (scalar fields, #18640) on the new manifold categories (#18175)

b0521ef  Implement top. manifolds (morphisms, #18725) on the new manifold categories (#18175)

f643097  Implement diff. manifolds (basics, #18783) on the new manifold categories (#18175)

a527726  Implement diff. manifolds (tensor fields, #18843) on the new manifold categories (#18175)

22923ab  Implement diff. manifolds (tangent spaces, #19092) on the new manifold categories (#18175).

666bbab  Implement diff. manifolds (curves, #19124) on the new manifold categories (#18175)

fea227e  Implement diff. manifolds (affine connections, #19147) on the new manifold categories (#18175).

82f6f49  Implement diff. manifolds (metrics, #19209) on the new manifold categories (#18175).

comment:18 Changed 18 months ago by
 Commit changed from 82f6f495bb6f729624dd8396208f5a3c67e2fa8d to cb47399ef5f07254fc10224490b00bc9bd2dd93f
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
e8f11ff  Fix pickling test in tensor field modules.

a967787  Suppress direct call to _element_constructor_ in tensor field parent classes

1bf77fd  Tangent spaces on differentiable manifolds without unique representation

dca7f9d  Curves on differentiable manifolds without unique representation

bcd87e3  Merge branch 'public/manifolds/diff_manif_curves' of git://trac.sagemath.org/sage into diff_manif_connections

0032d27  Affine connections on differentiable manifolds without unique representation

8be9a45  Merge branch 'public/manifolds/diff_manif_metrics' of git://trac.sagemath.org/sage into #19147 (affine connections on manifolds with unique representation).

8f0659a  PseudoRiemannian metrics on smooth manifolds without unique representation

1344776  Add method AffineConnection.__ne__

cb47399  Merge branch 'diff_manif_connections' into diff_manif_metrics to propagate minor changes in affine connections.

comment:19 Changed 18 months ago by
 Commit changed from cb47399ef5f07254fc10224490b00bc9bd2dd93f to 58723e996cc8a6ff89c86fdde20928d246a6c2f9
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
d3e5d4d  Revert to UniqueRepresentation for topological manifolds

2481359  Revert to UniqueRepresentation for ScalarFieldAlgebra; better ScalarField constructor

0cc06e8  Revert to UniqueRepresentation for topological manifold homsets

322d5bd  Revert to UniqueRepresentation for differentiable manifolds

45beae5  Revert to UniqueRepresentation for differentiable manifolds: tensor fields

98c6036  Revert to UniqueRepresentation for differentiable manifolds: tangent spaces

b836212  Revert to UniqueRepresentation for differentiable manifolds: curves

26e8dae  First argument of scalar field constructor is the scalar field algebra (i.e. the parent)

0ea8b0c  Revert to UniqueRepresentation for differentiable manifolds: affine connections

58723e9  Revert to UniqueRepresentation for differentiable manifolds: metric

comment:20 Changed 18 months ago by
 Commit changed from 58723e996cc8a6ff89c86fdde20928d246a6c2f9 to 2918953e517d371e70f8dcaa5939632252f945f5
Branch pushed to git repo; I updated commit sha1. New commits:
85d03dc  Change the argument type to structure in Manifold

5251ef0  Remove method _test_pickling from class TopologicalManifoldPoint

f69c9ee  Fix doctest error in coord_func_symb.py due to #19312 (update to pynac0.5.2)

7889a5d  Change in simplify_sqrt_real to cope with the change of != operator induced by #19312 (Sage 6.10.beta7)

e8d2ba6  Differentiable manifolds: basics with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

0d68f86  Diff. manifolds: tensor fields, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

347a9cc  Diff. manifolds: tangent spaces, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

6b51926  Diff. manifolds: curves, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

d528d98  Diff. manifolds: affine connections, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

2918953  Diff. manifolds: metrics, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

comment:21 Changed 18 months ago by
 Description modified (diff)
comment:22 Changed 18 months ago by
 Commit changed from 2918953e517d371e70f8dcaa5939632252f945f5 to 98810dff8d2f493d701b0fb20e1fb6e7e1794365
comment:23 Changed 17 months ago by
 Commit changed from 98810dff8d2f493d701b0fb20e1fb6e7e1794365 to fb043ffa3870d7c1ac0547ec80b5b6353afe21b1
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
984c3c2  Revert to simple hierarchy for manifold classes

c01048f  Scalar fields with the simplified hierarchy for manifold classes

c866d6c  Morphisms of topological manifolds with the simplified hierarchy for manifold classes

0e04631  Basics of diff. manifolds with the simplified hierarchy for manifold classes

1f226bd  Tensor fields with the simplified hierarchy for manifold classes

9fa77c4  Tangent spaces with the simplified hierarchy for manifold classes

db58a0c  Curves in diff. manifolds with the simplified hierarchy for manifold classes

0eb9d00  Added parallelization to CompFullyAntiSym.__add__

eb0d8b5  Affine connections with the simplified hierarchy for manifold classes

fb043ff  Metrics on diff. manifolds with the simplified hierarchy for manifold classes

comment:24 Changed 17 months ago by
 Milestone changed from sage6.10 to sage7.0
comment:25 Changed 16 months ago by
 Commit changed from fb043ffa3870d7c1ac0547ec80b5b6353afe21b1 to 7c39bbb6889784c3e1fb444d88c4e8c342870b69
Branch pushed to git repo; I updated commit sha1. New commits:
8e17d54  Merge into the latest version of #18529; improve treatment of composite functions in ExpressionNice

f00be00  Topological manifold morphisms: solved merge conflict with Sage 7.1.beta1

21b3968  Basics of diff. manifolds: solve merge conflict with Sage 7.1.beta1

8ba4b91  Tensor fields: solve merge conflict with Sage 7.1.beta1

2fad9db  Correct doctest in class DiffFormParal

b47f55f  Tangent spaces: solve merge conflict with Sage 7.1.beta1

9a74549  Curves in diff. manifolds: solve merge conflict with Sage 7.1.beta1

ba8ca47  Affine connections: solve merge conflict with Sage 7.1.beta1

7c39bbb  Metrics on diff. manifolds: solve merge conflict with Sage 7.1.beta1

comment:26 Changed 13 months ago by
 Commit changed from 7c39bbb6889784c3e1fb444d88c4e8c342870b69 to f527408744bad9fe1f5e9a139debbac53b6cc63b
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
9ec7d3e  Python 3 format for print in manifolds

d190b37  Morphisms of topological manifolds with coordinate functions as algebra elements

2577fc5  Fixing a (essentially trivial) doctest failure.

7125e29  Python3 format for print in morphims of topological manifolds

bd2f35a  Diff. manifolds with coordinate functions as algebra elements

73b4a03  Tensor fields with with coordinate functions as algebra elements

37521ae  Tangent spaces with coordinate functions as algebra elements

bdb91df  Curves in diff. manifolds with coordinate functions as algebra elements

0250072  Affine connections with coordinate functions as algebra elements

f527408  PseudoRiemannian metrics with coordinate functions as algebra elements

comment:27 Changed 13 months ago by
 Milestone changed from sage7.0 to sage7.2
comment:28 Changed 13 months ago by
 Commit changed from f527408744bad9fe1f5e9a139debbac53b6cc63b to a34b35d13efc0c37d2a69bfd3260ad84b3bc7352
Branch pushed to git repo; I updated commit sha1. New commits:
4fad094  Merge branch 'public/manifolds/top_manif_morphisms' of trac.sagemath.org:sage into public/manifolds/top_manif_morphisms

cfecb18  Reviewer changes and tweaks for continuous maps ticket.

efcb618  Modify authorship for continuous maps.

84051b0  Merge branch 'public/manifolds/diff_manif_basics' of trac.sagemath.org:sage into public/manifolds/diff_manif_basics

97172dd  Basics of differentiable manifolds with changes in morphisms of topological manifolds

29832ec  Use @cached_method for VectorFieldModule.identity_map() and AutomorphismFieldGroup.one()

159afb4  Tangent spaces upon latest version of tensor fields

1b79561  Update of OpenInterval._Hom_

aa552cb  Affine connections on the latest #19124

a34b35d  PseudoRiemannian metrics on the latest #19147

comment:29 Changed 9 months ago by
 Commit changed from a34b35d13efc0c37d2a69bfd3260ad84b3bc7352 to 61e379119b631f4c85897541ec3d5fc6b0d98a73
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
dcb08fc  Decrease doctest times in tensor fields; remove xder from the global namespace

3b1b794  Fix doctests in tangent spaces after the merge of #20770 in sage 7.3.beta3

c70792e  Update tangent spaces to the latest version of #18843 (vector fields)

0d6f47e  Merge branch 'public/manifolds/diff_manif_tangent_spaces' of trac.sagemath.org:sage into public/manifolds/lie_algebras20771

96f09ab  Added information about the vector field module being a Lie algebroid.

72396dd  Merge with latest #19092 to fix doctests after the merge of #20770 in sage 7.3.beta3

835b293  Update Lie algebroids to the latest version of #18843 (vector fields)

edde604  Update curves to the latest version of #18843 (vector fields)

e8e433c  Update affine connections to the latest version of #18843 (vector fields)

61e3791  Update metrics to the latest version of vector fields (#18843)

comment:30 Changed 9 months ago by
 Milestone changed from sage7.2 to sage7.4
comment:31 Changed 8 months ago by
 Commit changed from 61e379119b631f4c85897541ec3d5fc6b0d98a73 to 41c027ffd945821ff3f44a2bd0577b9166ea36fa
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
7cf4ff4  Merge branch 'public/manifolds/diff_manif_tensor_fields' of trac.sagemath.org:sage into public/manifolds/diff_manif_tensor_fields

58ae506  Merge branch 'public/manifolds/diff_manif_tensor_fields' of git://trac.sagemath.org/sage into Sage 7.4.beta6

8219403  Fix documentation error; change in TensorField comparison to zero

a841f79  Python 3 compatible syntax in tensor fields

5a5f400  Slight change in TensorField.__eq__ (comparison to zero)

98efa66  Update tangent spaces to the final version of the dependency ticket #18843

a5ab39a  Update Lie algebroids to the latest version of the dependency ticket #19092

cd27531  Update curves to the latest version of the dependency ticket #19092

21b468f  Update affine connections to the latest version of the dependency ticket #19092

41c027f  Update metrics to the latest version of the dependency ticket (#19147) + Py3 preparation

comment:32 Changed 7 months ago by
 Commit changed from 41c027ffd945821ff3f44a2bd0577b9166ea36fa to f5dd9d5207044e8cab9b06c45b23a47822ec3098
Branch pushed to git repo; I updated commit sha1. New commits:
8860387  Add missing reference Lee13

fb7f4dd  Bibliographic references for tensor fields moved to the master file

8205dca  Update tangent spaces to the last change (adding a missing reference) in the dependency ticket #18843

785300b  Bibliographic references for tangent spaces moved to the master file created by #21454

6af8ad2  Bibliographic references for vector field modules as Lie algebroids moved to the master file created by #21454

cdb3f28  Bibliographic references for curves on manifolds moved to the master file created by #21454

2113197  Bibliographic references for affine connections moved to the master file created by #21454

f5dd9d5  Bibliographic references for pseudoRiemannian metrics moved to the master file created by #21454

comment:33 Changed 6 months ago by
 Commit changed from f5dd9d5207044e8cab9b06c45b23a47822ec3098 to c622eb9423ddfb66baaf0cba5e85be915b9cb68a
comment:34 Changed 6 months ago by
 Milestone changed from sage7.4 to sage7.5
comment:35 followup: ↓ 36 Changed 6 months ago by
 Reviewers set to Volker Braun
 Status changed from needs_review to positive_review
comment:36 in reply to: ↑ 35 Changed 6 months ago by
Replying to vbraun:
Thank you !
comment:37 Changed 6 months ago by
 Branch changed from public/manifolds/diff_manif_metrics to c622eb9423ddfb66baaf0cba5e85be915b9cb68a
 Resolution set to fixed
 Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. New commits:
Add the Hodge star operator to pseudoRiemannian metrics