#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.