#18529: Topological manifolds: basics
-------------------------------------+-------------------------------------
       Reporter:  egourgoulhon       |        Owner:  egourgoulhon
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.10
      Component:  geometry           |   Resolution:
       Keywords:  topological        |    Merged in:
  manifolds                          |    Reviewers:
        Authors:  Eric Gourgoulhon   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  f342e03e7008831c4789b94b03674c1a0cbbf3a6
  public/manifolds/top_manif_basics  |     Stopgaps:
   Dependencies:  #18175             |
-------------------------------------+-------------------------------------

Comment (by egourgoulhon):

 The above commit addresses some of the comments by Travis and Vincent:
 - The class `TopManifold` has been renamed `TopologicalManifold` and the
 class `TopManifoldSubset` has been renamed `TopologicalManifoldSubset`.
 - A function `Manifold` has been introduced as the unique entry point to
 construct manifolds (this is the only piece that is imported in the global
 namespace, as a lazy import).
 - Tests of `_element_constructor_` are performed by call to the parent.
 - The classes `TopologicalManifold`, `TopologicalManifoldSubset`,  `Chart`
 and `RealChart` do not longer inherit from `UniqueRepresentation`.
 Consequently, they have been provided with functions `__hash__`, `__eq__`,
 `__ne__` and `__reduce__` (the latter turned out to be necessary for
 correct pickling). In addition, the class `Chart` has been endowed with
 `__getstate__` and `__setstate__`.

 It seemed necessary to implement a proper `__eq__`, i.e. not to have
 equality by id, since we cannot afford equality by id when relaxing the
 unique representation, otherwise the pickling test `loads(dumps(M)) == M`
 would failed, since obviously `id(loads(dumps(M))` differs from `id(M)`.

 Other issues mentionned by Travis have not been addressed yet:

 - need for an ABC for manifolds and their subsets, introduce a specific
 class for open subsets (currently they are dealt by class
 `TopologicalManifold`, with the attribute `self._manifold` representing
 the ambient manifold)
 - treatment of real and complex fields as base fields (i.e. avoiding to
 default to the finite precision representations `RR` and `CC`)

--
Ticket URL: <http://trac.sagemath.org/ticket/18529#comment:37>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to