Opened 7 years ago

Closed 6 years ago

# Differentiable manifolds: basics

Reported by: Owned by: egourgoulhon egourgoulhon major sage-7.2 geometry differentiable manifolds mbejger, bpillet Eric Gourgoulhon, Michal Bejger Volker Braun N/A 97172dd 97172dde6f7b8a5f4002220f05554e351b48b4b1 #18725, #18175

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 non-discrete 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 of `TopologicalManifold`, cf. #18529): differentiable manifold over a topological field K (Parent class)
• `DiffChart` (subclass of `Chart`, cf. #18529): chart of a K-differentiable atlas
• `RealDiffChart` (subclass of `RealChart`, cf. #18529): chart of a K-differentiable atlas for K=R
• `DiffCoordChange` (subclass of `CoordChange`, cf. #18529): differentiable transition map
• `DiffScalarFieldAlgebra` (subclass of `ScalarFieldAlgebra`, cf. #18640): set Ck(M) of k-times continuously K-differentiable functions M --> K, where M is a differentiable manifold over K, Ck(M) being a commutative algebra over K (Parent class)
• `DiffScalarField` (subclass of `ScalarField`, cf. #18640): k-times continuously K-differentiable function M --> K (Element class)
• `DiffManifoldHomset` (subclass of `TopManifoldHomset`, 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 of `ContinuousMap`, cf. #18725): differentiable map M --> N (Element class)

The follow-up 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.

### comment:2 Changed 7 years ago by git

• Commit changed from db4dd7da31b0135806dc4be42842d8bfc5ed9d94 to f4c9f0f37fa3e3ad9b774b6099b3bbbbc40b5a28

Branch pushed to git repo; I updated commit sha1. New commits:

 ​f4c9f0f `Start to improve the documentation of differentiable manifolds`

### comment:3 Changed 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by egourgoulhon

• Description modified (diff)

### comment:8 Changed 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by git

• 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 non-verbose` ​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 7 years ago by egourgoulhon

• Description modified (diff)
• Milestone changed from sage-6.8 to sage-6.10
• Status changed from new to needs_review

### comment:12 Changed 7 years ago by git

• 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_spaces-18175` ​f8f5b93 `Fixing last remaining doctests.` ​041a5d1 `Adding p-adics 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 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by git

• 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 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)`

### comment:16 Changed 7 years ago by egourgoulhon

• Description modified (diff)

### comment:17 Changed 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by git

• 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 7 years ago by egourgoulhon

• Milestone changed from sage-6.10 to sage-7.0

### comment:21 Changed 7 years ago by git

• 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 6 years ago by git

• 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 6 years ago by egourgoulhon

• Milestone changed from sage-7.0 to sage-7.2

### comment:24 Changed 6 years ago by git

• 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 6 years ago by git

• Commit changed from 84051b065c7d3b0535085e1d02781dbbead3354c to 97172dde6f7b8a5f4002220f05554e351b48b4b1

Branch pushed to git repo; I updated commit sha1. New commits:

 ​efcb618 `Modify authorship for continuous maps.` ​97172dd `Basics of differentiable manifolds with changes in morphisms of topological manifolds`

### comment:26 Changed 6 years ago by vbraun

• Reviewers set to Volker Braun
• Status changed from needs_review to positive_review

### comment:27 Changed 6 years ago by vbraun

• Branch changed from public/manifolds/diff_manif_basics to 97172dde6f7b8a5f4002220f05554e351b48b4b1
• Resolution set to fixed
• Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.