Opened 6 years ago
Closed 5 years ago
#18783 closed enhancement (fixed)
Differentiable manifolds: basics
Reported by:  egourgoulhon  Owned by:  egourgoulhon 

Priority:  major  Milestone:  sage7.2 
Component:  geometry  Keywords:  differentiable manifolds 
Cc:  mbejger, bpillet  Merged in:  
Authors:  Eric Gourgoulhon, Michal Bejger  Reviewers:  Volker Braun 
Report Upstream:  N/A  Work issues:  
Branch:  97172dd (Commits, GitHub, GitLab)  Commit:  97172dde6f7b8a5f4002220f05554e351b48b4b1 
Dependencies:  #18725, #18175  Stopgaps: 
Description (last modified by )
This is the first ticket about the implementation of differentiable manifolds resulting from the SageManifolds project. See the metaticket #18528 for an overview.
The base field K of the differentiable manifold is generic (only assumed to be some nondiscrete topological field), so that the user may specify e.g. K=R (real manifolds) or K=C (complex manifolds). This ticket implements the following Python classes, all of them being subclasses of classes introduced for topological manifolds (tickets #18529, #18640, #18725):
DifferentiableManifold
(subclass ofTopologicalManifold
, cf. #18529): differentiable manifold over a topological field K (Parent class)DiffChart
(subclass ofChart
, cf. #18529): chart of a Kdifferentiable atlasRealDiffChart
(subclass ofRealChart
, cf. #18529): chart of a Kdifferentiable atlas for K=R
DiffCoordChange
(subclass ofCoordChange
, cf. #18529): differentiable transition mapDiffScalarFieldAlgebra
(subclass ofScalarFieldAlgebra
, cf. #18640): set C^{k}(M) of ktimes continuously Kdifferentiable functions M > K, where M is a differentiable manifold over K, C^{k}(M) being a commutative algebra over K (Parent class)DiffScalarField
(subclass ofScalarField
, cf. #18640): ktimes continuously Kdifferentiable function M > K (Element class)DiffManifoldHomset
(subclass ofTopManifoldHomset
, cf. #18725): set Hom(M,N) of differentiable maps between the differentiable manifolds M and N over the same topological field K (Parent class)DiffMap
(subclass ofContinuousMap
, cf. #18725): differentiable map M > N (Element class)
The followup ticket is #18843.
Documentation:
The reference manual is produced by
sage docbuild reference/manifolds html
It can also be accessed online at http://sagemanifolds.obspm.fr/doc/18783/reference/manifolds/
More documentation (e.g. example worksheets) can be found here.
Change History (27)
comment:1 Changed 6 years ago by
 Cc mbejger bpillet added
comment:2 Changed 6 years ago by
 Commit changed from db4dd7da31b0135806dc4be42842d8bfc5ed9d94 to f4c9f0f37fa3e3ad9b774b6099b3bbbbc40b5a28
comment:3 Changed 6 years ago by
 Commit changed from f4c9f0f37fa3e3ad9b774b6099b3bbbbc40b5a28 to 999cac50c21bd8009d026f29c043ecc16c8935e3
Branch pushed to git repo; I updated commit sha1. New commits:
999cac5  Minor modifications in CoordFunctionSymb and ContinuousMap.__invert__

comment:4 Changed 6 years ago by
 Commit changed from 999cac50c21bd8009d026f29c043ecc16c8935e3 to 8c8bfcd65b92a6d2208c1424063dd1d1c38fb9ae
Branch pushed to git repo; I updated commit sha1. New commits:
8c8bfcd  Improve documentation of differentiable manifolds

comment:5 Changed 6 years ago by
 Commit changed from 8c8bfcd65b92a6d2208c1424063dd1d1c38fb9ae to 127b1e03b6620bdacdc3ada8505c4909eabc6e5e
Branch pushed to git repo; I updated commit sha1. New commits:
127b1e0  Plot of coordinate charts and points

comment:6 Changed 6 years ago by
 Commit changed from 127b1e03b6620bdacdc3ada8505c4909eabc6e5e to f2fef7b6f6d9dd3c1b0d927bb477e3e5f33cfd3f
Branch pushed to git repo; I updated commit sha1. New commits:
f2fef7b  Small improvements in the documentation of differentiable manifolds

comment:7 Changed 6 years ago by
 Description modified (diff)
comment:8 Changed 6 years ago by
 Commit changed from f2fef7b6f6d9dd3c1b0d927bb477e3e5f33cfd3f to 8ab80d8019bc0e0829e9c6ffa6a836d330bb01b0
Branch pushed to git repo; I updated commit sha1. New commits:
8ab80d8  Improvement in simplify_sqrt_real(); minor modif. in documentation

comment:9 Changed 6 years ago by
 Commit changed from 8ab80d8019bc0e0829e9c6ffa6a836d330bb01b0 to 2f231b66a3245337301370a33be8d56c76013cdb
Branch pushed to git repo; I updated commit sha1. New commits:
2f231b6  Major improvements in the documentation of diff. manifolds (basic part)

comment:10 Changed 6 years ago by
 Commit changed from 2f231b66a3245337301370a33be8d56c76013cdb to f0ca2de97b9ecd2ef06151ce5290b74b324a09f2
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
30e812a  Minor modifications in CoordFunctionSymb and ContinuousMap.__invert__

c0b3284  Improve documentation of classes Chart and ContinuousMap

4c72118  Add method plot() to RealChart and TopManifoldPoint

055bf3e  Improve documentation of RealChart.plot() and TopManifoldPoint.plot()

57b21df  Add doctest to set_axes_labels

e558c06  Improvement in simplify_sqrt_real(); TestSuite run nonverbose

d65f654  Introduce open covers on top manifolds + many improvements in the documentation

00c327d  Slight reorganization of the reference manual of topological manifolds (morphisms part)

f8d3f27  Merge #18725 into #18640

f0ca2de  Merge #18783 into #18725

comment:11 Changed 6 years ago by
 Description modified (diff)
 Milestone changed from sage6.8 to sage6.10
 Status changed from new to needs_review
comment:12 Changed 6 years ago by
 Commit changed from f0ca2de97b9ecd2ef06151ce5290b74b324a09f2 to f643097b8831bb18d932911acbb962553f4eecf8
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
8b851a0  Merge branch 'develop' into public/categories/topological_metric_spaces18175

f8f5b93  Fixing last remaining doctests.

041a5d1  Adding padics to metric spaces and some cleanup.

bfa0cdf  One last doc tweak.

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)

comment:13 Changed 6 years ago by
 Commit changed from f643097b8831bb18d932911acbb962553f4eecf8 to f31bed1df28efe0b83c0e02a3eac1cee302bb498
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
902908b  Revert to UniqueRepresentation for topological manifolds and charts, with the possibility to reuse manifold names.

252e616  Remove UniqueRepresentation, leaving only WithEqualityById, for topological manifolds and charts.

e7139ab  Merge branch top_manif_basics without UniqueRepresentation into top_manif_scalar_fields.

e2f192f  Remove UniqueRepresentation, leaving only WithEqualityById, for scalar fields on topological manifolds

668bc26  Remove UniqueRepresentation, leaving only WithEqualityById, for topological manifold homsets

6518699  Introduce the attribute _field_type in class TopologicalManifold to check for real and complex manifolds.

22383e6  Check for real/complex manifold performed on base_field_type() instead of RR/CC

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

comment:14 Changed 6 years ago by
 Commit changed from f31bed1df28efe0b83c0e02a3eac1cee302bb498 to 322d5bdf8776ef7c97d9c1354371df2adaeb0d11
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

comment:15 Changed 6 years ago by
 Commit changed from 322d5bdf8776ef7c97d9c1354371df2adaeb0d11 to e8d2ba6665db79c07866b1ccb4c3057224881f49
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)

comment:16 Changed 6 years ago by
 Description modified (diff)
comment:17 Changed 6 years ago by
 Commit changed from e8d2ba6665db79c07866b1ccb4c3057224881f49 to 2df7af72f8d583b427bdc11eff07c02d10d59a7c
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
0fb39df  Refactoring the code to separate out the structural part of the manifold.

cdfa817  Merge branch u/tscrim/top_manifolds_refactor into Sage 6.10.rc1 + public/manifolds/top_manif_basics

c5f35af  Make AbstractSet inherit from UniqueRepresentation; correct doctests; start to change documentation.

3a52500  Some class renaming; add more examples and doctests (full coverage)

a1ba52a  Replace a!=b by not(a==b) in simplify_sqrt_real to cope with the change of logic induced by #19312 (Sage 6.10.beta7)

e2c7ab3  Scalar fields on the refactored topoological manifolds

cb53417  Add argument full_name to AbstractNamedObject; remove _repr_() from all parent classes; improve documentation

ce03503  Scalar fields on topological manifolds: slight improvements in the documentation

bc77059  Morphisms on the refactored topoological manifolds

2df7af7  Refactorization of differentiable manifolds, with the mixin class DifferentiableMixin

comment:18 Changed 6 years ago by
 Commit changed from 2df7af72f8d583b427bdc11eff07c02d10d59a7c to 720457230945083176ab7fff8436ef487fd02222
Branch pushed to git repo; I updated commit sha1. New commits:
c38ae80  Suppress the (unused) argument category in OpenTopologicalSubmanifold; minor doc improvements

069baf4  Merge branch 'public/manifolds/top_manif_basics' into Sage 7.0.beta2.

19caedb  Revert to AbstractNamedObject without argument full_name; restore _repr_() in manifold classes

9d25aa0  Scalar field algebras with AbstractNamedObject without argument full_name

ed4aa58  ScalarFieldAlgebra does not longer inherit from AbstractNamedObject

f6c6a34  Topological manifold morphisms with AbstractNamedObject without full_name

7204572  Basics of diff. manifolds with AbstractNamedObject without full_name

comment:19 Changed 6 years ago by
 Commit changed from 720457230945083176ab7fff8436ef487fd02222 to 0e046312e706381ecfd0bdc27269f1e36f1d903c
Branch pushed to git repo; I updated commit sha1. New commits:
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

comment:20 Changed 6 years ago by
 Milestone changed from sage6.10 to sage7.0
comment:21 Changed 6 years ago by
 Commit changed from 0e046312e706381ecfd0bdc27269f1e36f1d903c to 21b39683b6813350d797f9892308d433ebff240d
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

comment:22 Changed 5 years ago by
 Commit changed from 21b39683b6813350d797f9892308d433ebff240d to bd2f35a0d1af842ab5d4d1e304e082615388384d
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
33abe9e  Marking known bugs in utilities.py.

57b7b7b  Implementing global_options for display formatting.

f11df50  Set CoordFunctionSymbRing in the category of commutative algebras over SR; minor documentation changes

f3f5470  Fixing a (essentially trivial) doctest failure.

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

comment:23 Changed 5 years ago by
 Milestone changed from sage7.0 to sage7.2
comment:24 Changed 5 years ago by
 Commit changed from bd2f35a0d1af842ab5d4d1e304e082615388384d to 84051b065c7d3b0535085e1d02781dbbead3354c
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.

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

comment:25 Changed 5 years ago by
 Commit changed from 84051b065c7d3b0535085e1d02781dbbead3354c to 97172dde6f7b8a5f4002220f05554e351b48b4b1
comment:26 Changed 5 years ago by
 Reviewers set to Volker Braun
 Status changed from needs_review to positive_review
comment:27 Changed 5 years ago by
 Branch changed from public/manifolds/diff_manif_basics to 97172dde6f7b8a5f4002220f05554e351b48b4b1
 Resolution set to fixed
 Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. New commits:
Start to improve the documentation of differentiable manifolds