Opened 7 years ago
Closed 5 years ago
#19147 closed enhancement (fixed)
Affine connections on smooth manifolds
Reported by: | egourgoulhon | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-7.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 follow-up of #19092 within the SageManifolds project (see the metaticket #18528 for an overview). As in #19092, the non-discrete 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, CPU-demanding 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 1-forms with respect to a given vector frame
- the torsion tensor
- the torsion 2-forms with respect to a given vector frame
- the (Riemann) curvature tensor
- the curvature 2-forms 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 7 years ago by
- Commit changed from 0e013aee30e3cfc05918943aa419a3d2336c01ec to 477d0577753ca790205ea115053aefad1fed0d0c
comment:2 Changed 7 years ago by
- Description modified (diff)
comment:3 Changed 7 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 7 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 7 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/18100-parallelization_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 7 years ago by
- Description modified (diff)
- Milestone changed from sage-6.9 to sage-6.10
- Status changed from new to needs_review
comment:7 Changed 7 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 pynac-0.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 sage-6.10 to sage-7.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 sage-7.0 to sage-7.1
comment:22 Changed 6 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 6 years ago by
- Milestone changed from sage-7.1 to sage-7.2
comment:24 Changed 6 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 6 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_algebras-20771
|
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 6 years ago by
- Milestone changed from sage-7.2 to sage-7.4
comment:27 Changed 6 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 6 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 6 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 6 years ago by
- Milestone changed from sage-7.4 to sage-7.5
comment:31 follow-up: ↓ 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