Opened 6 years ago
Closed 5 years ago
#19147 closed enhancement (fixed)
Affine connections on smooth manifolds
Reported by:  egourgoulhon  Owned by:  

Priority:  major  Milestone:  sage7.5 
Component:  geometry  Keywords:  differentiable manifold, affine connection, curvature, torsion 
Cc:  mbejger, mmancini  Merged in:  
Authors:  Eric Gourgoulhon, Michal Bejger, Marco Mancini  Reviewers:  Volker Braun 
Report Upstream:  N/A  Work issues:  
Branch:  906c030 (Commits, GitHub, GitLab)  Commit:  906c0301949b0ddaa8cd915089f8dc1ab5e2eca5 
Dependencies:  #18100, #19092  Stopgaps: 
Description (last modified by )
This ticket implements affine connections on infinitely differentiable manifolds (i.e. smooth manifolds) . This is a followup of #19092 within the SageManifolds project (see the metaticket #18528 for an overview). As in #19092, the nondiscrete topological field K over which the smooth manifold is defined is generic, although in most applications, K=R or K=C.
Affine connections are implemented via the Python class AffineConnection
, the user interface being the method DifferentiableManifold.affine_connection()
. At the user choice, CPUdemanding computations (like that of the curvature tensor) can be parallelized, thanks to #18100.
Various methods of the class AffineConnection
allow the computation of
 the connection coefficients with respect to a given vector frame (from those w.r.t. another frame)
 the connection 1forms with respect to a given vector frame
 the torsion tensor
 the torsion 2forms with respect to a given vector frame
 the (Riemann) curvature tensor
 the curvature 2forms with respect to a given vector frame
 the Ricci tensor
 the action of the affine connection on any tensor field
Documentation:
The reference manual is produced by
sage docbuild reference/manifolds html
It can also be accessed online at http://sagemanifolds.obspm.fr/doc/19147/reference/manifolds/
More documentation (e.g. example worksheets) can be found here.
Change History (33)
comment:1 Changed 6 years ago by
 Commit changed from 0e013aee30e3cfc05918943aa419a3d2336c01ec to 477d0577753ca790205ea115053aefad1fed0d0c
comment:2 Changed 6 years ago by
 Description modified (diff)
comment:3 Changed 6 years ago by
 Commit changed from 477d0577753ca790205ea115053aefad1fed0d0c to a14806252bc9f787fec76a0e9dda60ceffa3d172
Branch pushed to git repo; I updated commit sha1. New commits:
a148062  Major improvements in the documentation of diff. manifolds (affine connections part)

comment:4 Changed 6 years ago by
 Commit changed from a14806252bc9f787fec76a0e9dda60ceffa3d172 to a80dcccaf4d8164a23598e986120d48b0fb26008
Branch pushed to git repo; I updated commit sha1. New commits:
a80dccc  Improve TensorField.__eq__ (case with no open cover known)

comment:5 Changed 6 years ago by
 Commit changed from a80dcccaf4d8164a23598e986120d48b0fb26008 to f86e5db06f2691867a5aed61fa2512300ee396db
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
325e832  Corrected error in parallelisation of __mul__. Added parallism for the symmetric __add__

256d268  changed name TensorParallelism to TensorParallelCompute

bea739d  Added Eric corrections to parallelism

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

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

comment:6 Changed 6 years ago by
 Description modified (diff)
 Milestone changed from sage6.9 to sage6.10
 Status changed from new to needs_review
comment:7 Changed 6 years ago by
 Commit changed from f86e5db06f2691867a5aed61fa2512300ee396db to fea227ea170832f7dde850e0488eeb78ff186f2d
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
d13c368  Fixing doc of metric spaces.

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).

comment:8 Changed 6 years ago by
 Commit changed from fea227ea170832f7dde850e0488eeb78ff186f2d to 0032d27fc5cbcf9c33dc681c19a5f09ac7491354
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
66f2c5a  Change function('f', x) to function('f')(x) to accomodate the deprecation warning introduced in #17447

a28ed04  Morphisms of topological manifolds with the use of base_field_type()

f31bed1  Remove UniqueRepresentation from differentiable manifolds

0ee4c41  Tensor fields on differentiable manifolds without unique representation

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

comment:9 Changed 6 years ago by
 Description modified (diff)
comment:10 Changed 6 years ago by
The parallelization is not effective in the latest commit (cf. the discussion starting from comment 74 in #18529). Hence the FIXME comment in the doctest at line 1730 of affine_connection.py
.
comment:11 Changed 6 years ago by
 Commit changed from 0032d27fc5cbcf9c33dc681c19a5f09ac7491354 to 134477654c4c30e1f70485dfd803d71e3742a21d
Branch pushed to git repo; I updated commit sha1. New commits:
1344776  Add method AffineConnection.__ne__

comment:12 Changed 6 years ago by
 Commit changed from 134477654c4c30e1f70485dfd803d71e3742a21d to 26e8daef8e14cfb0a745d9ff6085ff129e131277
Branch pushed to git repo; I updated commit sha1. New commits:
26e8dae  First argument of scalar field constructor is the scalar field algebra (i.e. the parent)

comment:13 Changed 6 years ago by
 Commit changed from 26e8daef8e14cfb0a745d9ff6085ff129e131277 to 0ea8b0c274d92c83bfd91b5a8f505ef4424dbe46
Branch pushed to git repo; I updated commit sha1. New commits:
d8397c1  Merge branch 'public/manifolds/top_manif_basics' of trac.sagemath.org:sage into public/manifolds/top_manif_basics

0b08b11  Some small tweaks as part of the review.

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

0ea8b0c  Revert to UniqueRepresentation for differentiable manifolds: affine connections

comment:14 Changed 6 years ago by
 Commit changed from 0ea8b0c274d92c83bfd91b5a8f505ef4424dbe46 to d528d987ce73b83ef8f818cb25ed1b9e6c14fda7
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)

comment:15 Changed 6 years ago by
 Commit changed from d528d987ce73b83ef8f818cb25ed1b9e6c14fda7 to aae566d58d9a8bedcfddda093b40bcd1ce48faff
Branch pushed to git repo; I updated commit sha1. New commits:
aae566d  Improve parallelization in Components and derived classes

comment:16 Changed 6 years ago by
 Commit changed from aae566d58d9a8bedcfddda093b40bcd1ce48faff to 0eb9d00a0c47663f7343aefe4e4c0772929ab12a
Branch pushed to git repo; I updated commit sha1. New commits:
0eb9d00  Added parallelization to CompFullyAntiSym.__add__

comment:17 Changed 6 years ago by
 Commit changed from 0eb9d00a0c47663f7343aefe4e4c0772929ab12a to eb0d8b5f50ec12cb68d71bf205ccf1d0800b793b
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
b07ffd9  Tangent spaces on refactored differentiable manifolds

3cd03a4  Add methods lift() and retract() to ManifoldSubset; add method __eq__() in CoordChange

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

eb0d8b5  Affine connections with the simplified hierarchy for manifold classes

comment:18 Changed 6 years ago by
 Milestone changed from sage6.10 to sage7.0
comment:19 Changed 6 years ago by
 Commit changed from eb0d8b5f50ec12cb68d71bf205ccf1d0800b793b to ba8ca472766321d433d29fa2e18cea8565119a20
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

comment:20 Changed 6 years ago by
comment:21 Changed 6 years ago by
 Milestone changed from sage7.0 to sage7.1
comment:22 Changed 5 years ago by
 Commit changed from ba8ca472766321d433d29fa2e18cea8565119a20 to 02500724062728d32b9ce736b1435c436165d755
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
7b3dab3  Merge branch 'public/manifolds/top_manif_scalar_fields' of git://trac.sagemath.org/sage into Sage 7.2.rc0

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

comment:23 Changed 5 years ago by
 Milestone changed from sage7.1 to sage7.2
comment:24 Changed 5 years ago by
 Commit changed from 02500724062728d32b9ce736b1435c436165d755 to aa552cba8bd54765d93d7d12ee16edc3c3ebf585
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

comment:25 Changed 5 years ago by
 Commit changed from aa552cba8bd54765d93d7d12ee16edc3c3ebf585 to e8e433c14a9f95760a7e6feb2d30e4c39389bcd3
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
d7ad8e1  Merge branch 'public/manifolds/diff_manif_tensor_fields' of git://trac.sagemath.org/sage into sage 7.3.beta5

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)

comment:26 Changed 5 years ago by
 Milestone changed from sage7.2 to sage7.4
comment:27 Changed 5 years ago by
 Commit changed from e8e433c14a9f95760a7e6feb2d30e4c39389bcd3 to 21b468fa1a7f35c12238dd67fdb5a9fbe6bf5d44
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
4955c3c  Final review of everything.

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

comment:28 Changed 5 years ago by
 Commit changed from 21b468fa1a7f35c12238dd67fdb5a9fbe6bf5d44 to 211319742801f4a2820d1d07d1a5fcafa2a26a74
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

comment:29 Changed 5 years ago by
 Commit changed from 211319742801f4a2820d1d07d1a5fcafa2a26a74 to 906c0301949b0ddaa8cd915089f8dc1ab5e2eca5
Branch pushed to git repo; I updated commit sha1. New commits:
906c030  Update affine connections to the latest version of the dependency ticket #19092

comment:30 Changed 5 years ago by
 Milestone changed from sage7.4 to sage7.5
comment:31 followup: ↓ 32 Changed 5 years ago by
 Reviewers set to Volker Braun
 Status changed from needs_review to positive_review
comment:32 in reply to: ↑ 31 Changed 5 years ago by
Replying to vbraun:
Thank you!
comment:33 Changed 5 years ago by
 Branch changed from public/manifolds/diff_manif_connections to 906c0301949b0ddaa8cd915089f8dc1ab5e2eca5
 Resolution set to fixed
 Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. New commits:
Add doctests to AffineConnection; full coverage