Opened 3 years ago
Closed 2 years ago
#18725 closed enhancement (fixed)
Topological manifolds: morphisms
Reported by:  egourgoulhon  Owned by:  egourgoulhon 

Priority:  major  Milestone:  sage7.2 
Component:  geometry  Keywords:  topological manifolds 
Cc:  Merged in:  
Authors:  Eric Gourgoulhon, Travis Scrimshaw  Reviewers:  Travis Scrimshaw 
Report Upstream:  N/A  Work issues:  
Branch:  efcb618 (Commits)  Commit:  efcb618c969a0f060e59961be3ad2d913d6c7fc9 
Dependencies:  #18640, #18175  Stopgaps: 
Description (last modified by )
This ticket implements morphisms of topological manifolds, i.e. continuous maps between topological manifolds. This is a followup of #18640 within the SageManifolds project. See the metaticket #18528 for an overview.
Two new Python classes are introduced in this ticket:
 the parent class
TopologicalManifoldHomset
for sets Hom(M,N) of morphisms between two topological manifolds M and N over the same topological field K  the element class
ContinuousMap
for elements of Hom(M,N), i.e. continuous maps M > N
Moreover, this ticket introduces plotting capabilities for charts (method RealChart.plot()
) and for points (method ManifoldPoint.plot()
), which require continuous maps and thus could not have been introduced in #18529.
Documentation:
The reference manual is produced by
sage docbuild reference/manifolds html
It can also be accessed online at http://sagemanifolds.obspm.fr/doc/18725/reference/manifolds/
More documentation (e.g. example worksheets) can be found here.
Change History (36)
comment:1 Changed 3 years ago by
 Commit changed from 608d4ea0bc3fe3616d7d8fea0312c3f6b20ef3a3 to bab7bb4b357625189d52fbf2a7dbda797f095637
comment:2 Changed 3 years ago by
 Commit changed from bab7bb4b357625189d52fbf2a7dbda797f095637 to 6289514bcdc8ee9a62d75acb53d6bbe96c1a88a4
Branch pushed to git repo; I updated commit sha1. New commits:
6289514  Remove unnecessary import in chart.py

comment:3 Changed 3 years ago by
 Commit changed from 6289514bcdc8ee9a62d75acb53d6bbe96c1a88a4 to a4b414cb74b4cec8f96bf4a699e73d8c35b46c13
Branch pushed to git repo; I updated commit sha1. New commits:
a4b414c  Modifications in CoordChange and TopManifold.__init__ to allow for subclasses.

comment:4 Changed 3 years ago by
 Commit changed from a4b414cb74b4cec8f96bf4a699e73d8c35b46c13 to 08808111915767774bdd0116a246f3c929b7a7f6
Branch pushed to git repo; I updated commit sha1. New commits:
0880811  Changes in ContinuousMap, in particular in __invert__

comment:5 Changed 3 years ago by
 Commit changed from 08808111915767774bdd0116a246f3c929b7a7f6 to 30e812a668e3fca229def326012bbc47a450b15e
Branch pushed to git repo; I updated commit sha1. New commits:
30e812a  Minor modifications in CoordFunctionSymb and ContinuousMap.__invert__

comment:6 Changed 3 years ago by
 Commit changed from 30e812a668e3fca229def326012bbc47a450b15e to c0b328480e68b4ac3e0ced337ddd5ef1892e0e7c
Branch pushed to git repo; I updated commit sha1. New commits:
c0b3284  Improve documentation of classes Chart and ContinuousMap

comment:7 Changed 3 years ago by
 Commit changed from c0b328480e68b4ac3e0ced337ddd5ef1892e0e7c to 4c72118b8be5be766944439c53df6bda370e7ae2
Branch pushed to git repo; I updated commit sha1. New commits:
4c72118  Add method plot() to RealChart and TopManifoldPoint

comment:8 Changed 3 years ago by
 Commit changed from 4c72118b8be5be766944439c53df6bda370e7ae2 to 055bf3edc0cb446c14b40bc762874b1343f9aad3
Branch pushed to git repo; I updated commit sha1. New commits:
055bf3e  Improve documentation of RealChart.plot() and TopManifoldPoint.plot()

comment:9 Changed 3 years ago by
 Description modified (diff)
comment:10 Changed 3 years ago by
 Commit changed from 055bf3edc0cb446c14b40bc762874b1343f9aad3 to 57b21df71dc774e673be2f2150a197cfd5bc5a8c
Branch pushed to git repo; I updated commit sha1. New commits:
57b21df  Add doctest to set_axes_labels

comment:11 Changed 3 years ago by
 Commit changed from 57b21df71dc774e673be2f2150a197cfd5bc5a8c to e558c06024e5a7108d857080fb3856bda9f049c1
Branch pushed to git repo; I updated commit sha1. New commits:
e558c06  Improvement in simplify_sqrt_real(); TestSuite run nonverbose

comment:12 Changed 3 years ago by
 Commit changed from e558c06024e5a7108d857080fb3856bda9f049c1 to d65f654de942ede34956278de1b1921f34eed445
Branch pushed to git repo; I updated commit sha1. New commits:
d65f654  Introduce open covers on top manifolds + many improvements in the documentation

comment:13 Changed 3 years ago by
 Commit changed from d65f654de942ede34956278de1b1921f34eed445 to 00c327d98c7edb9f05f781e1c334f785286348cc
Branch pushed to git repo; I updated commit sha1. New commits:
00c327d  Slight reorganization of the reference manual of topological manifolds (morphisms part)

comment:14 Changed 3 years ago by
 Commit changed from 00c327d98c7edb9f05f781e1c334f785286348cc to f8d3f273a52273bf4830ca99a651a43d57090ee4
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
4de19a7  Merge branch 'public/manifolds/top_manif_basics' of git://trac.sagemath.org/sage into sage 6.9

ccc2f81  Remove unnecessary import in chart.py

aad7c58  Modifications in CoordChange and TopManifold.__init__ to allow for subclasses.

3f22784  Minor modifications in CoordFunctionSymb

ba5d142  Improvement in simplify_sqrt_real() and in the documentation.

9977194  Minor improvements in the doc of top manifolds (scalar fields part)

63357e4  Introduce open covers on top manifolds and improve documentation

92da04b  Slight reorganization of the reference manual for topological manifolds (scalar field part)

31d3fa5  Merge #18640 into #18529

f8d3f27  Merge #18725 into #18640

comment:15 Changed 3 years ago by
 Description modified (diff)
 Milestone changed from sage6.8 to sage6.10
 Status changed from new to needs_review
comment:16 Changed 3 years ago by
 Commit changed from f8d3f273a52273bf4830ca99a651a43d57090ee4 to b0521ef6b38d8d70116b2383c0aa7dcf18035749
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
375ff46  Fixing doctest failures and letting a few other rings know they are metric spaces.

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)

comment:17 Changed 3 years ago by
 Commit changed from b0521ef6b38d8d70116b2383c0aa7dcf18035749 to 668bc26960cf5d2b23c32e3ce51001180e50004b
Branch pushed to git repo; I updated commit sha1. New commits:
f582241  Introduce function Manifold() as the global entry point to construct any type of manifold.

f342e03  Remove UniqueRepresentation from topological manifolds, subsets and charts.

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

comment:18 Changed 3 years ago by
 Description modified (diff)
The above commit takes into account this discussion on sagedevel and on ticket #18529: it removes UniqueRepresentation
for the class TopologicalManifoldHomset
, leaving only WithEqualityById
.
comment:19 Changed 3 years ago by
 Commit changed from 668bc26960cf5d2b23c32e3ce51001180e50004b to a28ed04da7c51df3dce4b295f603d4e972312ce7
Branch pushed to git repo; I updated commit sha1. New commits:
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()

comment:20 Changed 3 years ago by
 Commit changed from a28ed04da7c51df3dce4b295f603d4e972312ce7 to 0cc06e8ac69d3f4a5b5339a6e85d1d6f9dede75d
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

comment:21 Changed 3 years ago by
 Commit changed from 0cc06e8ac69d3f4a5b5339a6e85d1d6f9dede75d to 7889a5d8dc0fd60d9dcef7edf151177725952961
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)

comment:22 Changed 3 years ago by
 Commit changed from 7889a5d8dc0fd60d9dcef7edf151177725952961 to bc770598e606904fb28179960cd8121d30939978
Branch pushed to git repo; I updated commit sha1. New commits:
2ca24ff  Merge branch 'public/manifolds/top_manif_basics' of git://trac.sagemath.org/sage into Sage 6.10.rc1

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

comment:23 Changed 3 years ago by
 Description modified (diff)
 Milestone changed from sage6.10 to sage6.11
comment:24 Changed 3 years ago by
 Commit changed from bc770598e606904fb28179960cd8121d30939978 to f6c6a3495170bbeded949d02c0ba076b03f250eb
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

comment:25 Changed 3 years ago by
 Commit changed from f6c6a3495170bbeded949d02c0ba076b03f250eb to c866d6c3297f87910366e149951fd4dfa176af20
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

comment:26 Changed 2 years ago by
 Commit changed from c866d6c3297f87910366e149951fd4dfa176af20 to f00be0070cf53e4b28670b8b46b526ee5b97f6fd
comment:27 Changed 2 years ago by
 Commit changed from f00be0070cf53e4b28670b8b46b526ee5b97f6fd to d190b37ac17f05ec381c5b7798f0a0d3a58c3e17
Branch pushed to git repo; I updated commit sha1. New commits:
c767696  Merge branch 'public/manifolds/top_manif_scalar_fields' of trac.sagemath.org:sage into public/manifolds/top_manif_scalar_fields

3b92a85  Some formatting and small reviewer changes.

e44f7d9  Merge branch 'develop' into public/manifolds/top_manif_scalar_fields

0fd44d6  Some cleanup and creating a parent for coordinate functions.

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

d190b37  Morphisms of topological manifolds with coordinate functions as algebra elements

comment:28 Changed 2 years ago by
 Commit changed from d190b37ac17f05ec381c5b7798f0a0d3a58c3e17 to 2577fc55c357f3ecefc5f7bdc4ad43ef9b145b0e
Branch pushed to git repo; I updated commit sha1. New commits:
2577fc5  Fixing a (essentially trivial) doctest failure.

comment:29 Changed 2 years ago by
comment:30 Changed 2 years ago by
 Commit changed from 2577fc55c357f3ecefc5f7bdc4ad43ef9b145b0e to 7125e291bdada4280fbab99e3ba45b9c2787bcad
Branch pushed to git repo; I updated commit sha1. New commits:
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

7125e29  Python3 format for print in morphims of topological manifolds

comment:31 Changed 2 years ago by
 Milestone changed from sage7.0 to sage7.2
comment:32 Changed 2 years ago by
 Commit changed from 7125e291bdada4280fbab99e3ba45b9c2787bcad to cfecb18d666ae132043fafe1d942762550bdbaa9
comment:33 followup: ↓ 35 Changed 2 years ago by
 Reviewers set to Travis Scrimshaw
Okay, I made it through this ticket. I made a number of formatting changes and little tweaks that I think improves the doc (including a few I missed on the previous ticket). I also made aliases *expression
of *expr
because it is good to be verbose, made some things @cached_method
rather than doing attribute caching, and used the @options
decorator for some plot()
options. If you agree with my changes, you can set a positive review.
comment:34 Changed 2 years ago by
 Commit changed from cfecb18d666ae132043fafe1d942762550bdbaa9 to efcb618c969a0f060e59961be3ad2d913d6c7fc9
Branch pushed to git repo; I updated commit sha1. New commits:
efcb618  Modify authorship for continuous maps.

comment:35 in reply to: ↑ 33 Changed 2 years ago by
 Status changed from needs_review to positive_review
Replying to tscrim:
Okay, I made it through this ticket. I made a number of formatting changes and little tweaks that I think improves the doc (including a few I missed on the previous ticket). I also made aliases
*expression
of*expr
because it is good to be verbose, made some things@cached_method
rather than doing attribute caching, and used the@options
decorator for someplot()
options. If you agree with my changes, you can set a positive review.
Thank you very much for all the improvements. I've made a few checks on the impact on the subsequent tickets in #18528 (especially regarding the changes in TopologicalManifoldHomset.__call__
); they all passed. So I am setting the ticket to positive review.
comment:36 Changed 2 years ago by
 Branch changed from public/manifolds/top_manif_morphisms to efcb618c969a0f060e59961be3ad2d913d6c7fc9
 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 TopManifoldHomset and ContinuousMap