Opened 2 years ago

Closed 13 months ago

#18783 closed enhancement (fixed)

Differentiable manifolds: basics

Reported by: egourgoulhon Owned by: egourgoulhon
Priority: major Milestone: sage-7.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) Commit: 97172dde6f7b8a5f4002220f05554e351b48b4b1
Dependencies: #18725, #18175 Stopgaps:

Description (last modified by egourgoulhon)

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.

Change History (27)

comment:1 Changed 2 years ago by egourgoulhon

  • Cc mbejger bpillet added

comment:2 Changed 2 years ago by git

  • Commit changed from db4dd7da31b0135806dc4be42842d8bfc5ed9d94 to f4c9f0f37fa3e3ad9b774b6099b3bbbbc40b5a28

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

f4c9f0fStart to improve the documentation of differentiable manifolds

comment:3 Changed 2 years ago by git

  • Commit changed from f4c9f0f37fa3e3ad9b774b6099b3bbbbc40b5a28 to 999cac50c21bd8009d026f29c043ecc16c8935e3

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

999cac5Minor modifications in CoordFunctionSymb and ContinuousMap.__invert__

comment:4 Changed 2 years ago by git

  • Commit changed from 999cac50c21bd8009d026f29c043ecc16c8935e3 to 8c8bfcd65b92a6d2208c1424063dd1d1c38fb9ae

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

8c8bfcdImprove documentation of differentiable manifolds

comment:5 Changed 2 years ago by git

  • Commit changed from 8c8bfcd65b92a6d2208c1424063dd1d1c38fb9ae to 127b1e03b6620bdacdc3ada8505c4909eabc6e5e

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

127b1e0Plot of coordinate charts and points

comment:6 Changed 23 months ago by git

  • Commit changed from 127b1e03b6620bdacdc3ada8505c4909eabc6e5e to f2fef7b6f6d9dd3c1b0d927bb477e3e5f33cfd3f

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

f2fef7bSmall improvements in the documentation of differentiable manifolds

comment:7 Changed 23 months ago by egourgoulhon

  • Description modified (diff)

comment:8 Changed 22 months ago by git

  • Commit changed from f2fef7b6f6d9dd3c1b0d927bb477e3e5f33cfd3f to 8ab80d8019bc0e0829e9c6ffa6a836d330bb01b0

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

8ab80d8Improvement in simplify_sqrt_real(); minor modif. in documentation

comment:9 Changed 21 months ago by git

  • Commit changed from 8ab80d8019bc0e0829e9c6ffa6a836d330bb01b0 to 2f231b66a3245337301370a33be8d56c76013cdb

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

2f231b6Major improvements in the documentation of diff. manifolds (basic part)

comment:10 Changed 21 months ago by git

  • Commit changed from 2f231b66a3245337301370a33be8d56c76013cdb to f0ca2de97b9ecd2ef06151ce5290b74b324a09f2

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

30e812aMinor modifications in CoordFunctionSymb and ContinuousMap.__invert__
c0b3284Improve documentation of classes Chart and ContinuousMap
4c72118Add method plot() to RealChart and TopManifoldPoint
055bf3eImprove documentation of RealChart.plot() and TopManifoldPoint.plot()
57b21dfAdd doctest to set_axes_labels
e558c06Improvement in simplify_sqrt_real(); TestSuite run non-verbose
d65f654Introduce open covers on top manifolds + many improvements in the documentation
00c327dSlight reorganization of the reference manual of topological manifolds (morphisms part)
f8d3f27Merge #18725 into #18640
f0ca2deMerge #18783 into #18725

comment:11 Changed 21 months 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 20 months ago by git

  • Commit changed from f0ca2de97b9ecd2ef06151ce5290b74b324a09f2 to f643097b8831bb18d932911acbb962553f4eecf8

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

8b851a0Merge branch 'develop' into public/categories/topological_metric_spaces-18175
f8f5b93Fixing last remaining doctests.
041a5d1Adding p-adics to metric spaces and some cleanup.
bfa0cdfOne last doc tweak.
d13c368Fixing doc of metric spaces.
2605c0bMerge #18529 (Topological manifolds: basics) into #18175 (Implement categories for topological...)
6dec6d5Implement topological manifolds (basics, #18529) on the new categories for manifolds (#18175)
3403978Implement top. manifolds (scalar fields, #18640) on the new manifold categories (#18175)
b0521efImplement top. manifolds (morphisms, #18725) on the new manifold categories (#18175)
f643097Implement diff. manifolds (basics, #18783) on the new manifold categories (#18175)

comment:13 Changed 19 months ago by git

  • Commit changed from f643097b8831bb18d932911acbb962553f4eecf8 to f31bed1df28efe0b83c0e02a3eac1cee302bb498

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

902908bRevert to UniqueRepresentation for topological manifolds and charts, with the possibility to reuse manifold names.
252e616Remove UniqueRepresentation, leaving only WithEqualityById, for topological manifolds and charts.
e7139abMerge branch top_manif_basics without UniqueRepresentation into top_manif_scalar_fields.
e2f192fRemove UniqueRepresentation, leaving only WithEqualityById, for scalar fields on topological manifolds
668bc26Remove UniqueRepresentation, leaving only WithEqualityById, for topological manifold homsets
6518699Introduce the attribute _field_type in class TopologicalManifold to check for real and complex manifolds.
22383e6Check for real/complex manifold performed on base_field_type() instead of RR/CC
66f2c5aChange function('f', x) to function('f')(x) to accomodate the deprecation warning introduced in #17447
a28ed04Morphisms of topological manifolds with the use of base_field_type()
f31bed1Remove UniqueRepresentation from differentiable manifolds

comment:14 Changed 19 months ago by git

  • Commit changed from f31bed1df28efe0b83c0e02a3eac1cee302bb498 to 322d5bdf8776ef7c97d9c1354371df2adaeb0d11

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

d8397c1Merge branch 'public/manifolds/top_manif_basics' of trac.sagemath.org:sage into public/manifolds/top_manif_basics
0b08b11Some small tweaks as part of the review.
d3e5d4dRevert to UniqueRepresentation for topological manifolds
2481359Revert to UniqueRepresentation for ScalarFieldAlgebra; better ScalarField constructor
0cc06e8Revert to UniqueRepresentation for topological manifold homsets
322d5bdRevert to UniqueRepresentation for differentiable manifolds

comment:15 Changed 19 months ago by git

  • Commit changed from 322d5bdf8776ef7c97d9c1354371df2adaeb0d11 to e8d2ba6665db79c07866b1ccb4c3057224881f49

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

85d03dcChange the argument type to structure in Manifold
5251ef0Remove method _test_pickling from class TopologicalManifoldPoint
f69c9eeFix doctest error in coord_func_symb.py due to #19312 (update to pynac-0.5.2)
7889a5dChange in simplify_sqrt_real to cope with the change of != operator induced by #19312 (Sage 6.10.beta7)
e8d2ba6Differentiable manifolds: basics with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

comment:16 Changed 19 months ago by egourgoulhon

  • Description modified (diff)

comment:17 Changed 18 months ago by git

  • Commit changed from e8d2ba6665db79c07866b1ccb4c3057224881f49 to 2df7af72f8d583b427bdc11eff07c02d10d59a7c

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

0fb39dfRefactoring the code to separate out the structural part of the manifold.
cdfa817Merge branch u/tscrim/top_manifolds_refactor into Sage 6.10.rc1 + public/manifolds/top_manif_basics
c5f35afMake AbstractSet inherit from UniqueRepresentation; correct doctests; start to change documentation.
3a52500Some class renaming; add more examples and doctests (full coverage)
a1ba52aReplace a!=b by not(a==b) in simplify_sqrt_real to cope with the change of logic induced by #19312 (Sage 6.10.beta7)
e2c7ab3Scalar fields on the refactored topoological manifolds
cb53417Add argument full_name to AbstractNamedObject; remove _repr_() from all parent classes; improve documentation
ce03503Scalar fields on topological manifolds: slight improvements in the documentation
bc77059Morphisms on the refactored topoological manifolds
2df7af7Refactorization of differentiable manifolds, with the mixin class DifferentiableMixin

comment:18 Changed 18 months ago by git

  • Commit changed from 2df7af72f8d583b427bdc11eff07c02d10d59a7c to 720457230945083176ab7fff8436ef487fd02222

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

c38ae80Suppress the (unused) argument category in OpenTopologicalSubmanifold; minor doc improvements
069baf4Merge branch 'public/manifolds/top_manif_basics' into Sage 7.0.beta2.
19caedbRevert to AbstractNamedObject without argument full_name; restore _repr_() in manifold classes
9d25aa0Scalar field algebras with AbstractNamedObject without argument full_name
ed4aa58ScalarFieldAlgebra does not longer inherit from AbstractNamedObject
f6c6a34Topological manifold morphisms with AbstractNamedObject without full_name
7204572Basics of diff. manifolds with AbstractNamedObject without full_name

comment:19 Changed 18 months ago by git

  • Commit changed from 720457230945083176ab7fff8436ef487fd02222 to 0e046312e706381ecfd0bdc27269f1e36f1d903c

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

3cd03a4Add methods lift() and retract() to ManifoldSubset; add method __eq__() in CoordChange
984c3c2Revert to simple hierarchy for manifold classes
c01048fScalar fields with the simplified hierarchy for manifold classes
c866d6cMorphisms of topological manifolds with the simplified hierarchy for manifold classes
0e04631Basics of diff. manifolds with the simplified hierarchy for manifold classes

comment:20 Changed 18 months ago by egourgoulhon

  • Milestone changed from sage-6.10 to sage-7.0

comment:21 Changed 17 months ago by git

  • Commit changed from 0e046312e706381ecfd0bdc27269f1e36f1d903c to 21b39683b6813350d797f9892308d433ebff240d

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

8e17d54Merge into the latest version of #18529; improve treatment of composite functions in ExpressionNice
f00be00Topological manifold morphisms: solved merge conflict with Sage 7.1.beta1
21b3968Basics of diff. manifolds: solve merge conflict with Sage 7.1.beta1

comment:22 Changed 14 months ago by git

  • Commit changed from 21b39683b6813350d797f9892308d433ebff240d to bd2f35a0d1af842ab5d4d1e304e082615388384d

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

33abe9eMarking known bugs in utilities.py.
57b7b7bImplementing global_options for display formatting.
f11df50Set CoordFunctionSymbRing in the category of commutative algebras over SR; minor documentation changes
f3f5470Fixing a (essentially trivial) doctest failure.
7b3dab3Merge branch 'public/manifolds/top_manif_scalar_fields' of git://trac.sagemath.org/sage into Sage 7.2.rc0
9ec7d3ePython 3 format for print in manifolds
d190b37Morphisms of topological manifolds with coordinate functions as algebra elements
2577fc5Fixing a (essentially trivial) doctest failure.
7125e29Python3 format for print in morphims of topological manifolds
bd2f35aDiff. manifolds with coordinate functions as algebra elements

comment:23 Changed 14 months ago by egourgoulhon

  • Milestone changed from sage-7.0 to sage-7.2

comment:24 Changed 14 months ago by git

  • Commit changed from bd2f35a0d1af842ab5d4d1e304e082615388384d to 84051b065c7d3b0535085e1d02781dbbead3354c

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

4fad094Merge branch 'public/manifolds/top_manif_morphisms' of trac.sagemath.org:sage into public/manifolds/top_manif_morphisms
cfecb18Reviewer changes and tweaks for continuous maps ticket.
84051b0Merge branch 'public/manifolds/diff_manif_basics' of trac.sagemath.org:sage into public/manifolds/diff_manif_basics

comment:25 Changed 14 months ago by git

  • Commit changed from 84051b065c7d3b0535085e1d02781dbbead3354c to 97172dde6f7b8a5f4002220f05554e351b48b4b1

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

efcb618Modify authorship for continuous maps.
97172ddBasics of differentiable manifolds with changes in morphisms of topological manifolds

comment:26 Changed 13 months ago by vbraun

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

comment:27 Changed 13 months 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.