#18529: Topological manifolds: basics
-------------------------------------+-------------------------------------
Reporter: egourgoulhon | Owner: egourgoulhon
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.10
Component: geometry | Resolution:
Keywords: topological | Merged in:
manifolds | Reviewers: Travis Scrimshaw
Authors: Eric Gourgoulhon | Work issues:
Report Upstream: N/A | Commit:
Branch: | 0fb39df7fafe7f0a765bf73b3f34a6cb41e65c40
u/tscrim/top_manifolds_refactor | Stopgaps:
Dependencies: #18175 |
-------------------------------------+-------------------------------------
Changes (by tscrim):
* status: needs_review => needs_info
* commit: 0b08b114e03c063bd2e500ac900fd843fb12673b =>
0fb39df7fafe7f0a765bf73b3f34a6cb41e65c40
* branch: public/manifolds/top_manif_basics =>
u/tscrim/top_manifolds_refactor
Comment:
Okay, I've refactored the code and it works up to "trivial" doctest
failures. So almost all functionality on the outside hasn't changed, but
internally, a lot of the logic within each function has changed at the
cost of a slightly more complex class hierarchy (there might even be some
more places to streamline things around too). Something else to do would
be to define coercions between the respective subsets, but that we can do
on a follow up since these are just sets at this point.
The biggest thing to note is that I have separated out the structure of
the manifold into a separate class. This has several distinct advantages:
- It has better encapsulation of data, which should result in fewer copies
of the defining data needed and fewer duplication of functions.
- It could allow us to strength/weaken the structure on the manifold
dynamically.
- We might only need to have one manifold class and one subset class, that
way we don't have to duplicate documentation.
The main drawback I see at the point is we don't expose the attributes of
the structure (e.g., the differential order) directly from the manifold
instance. However, if we want this behavior, then we can attach the
appropriate data as (hidden) (class) attributes to keep some of the
modularity; it just results in more classes.
I didn't want to change documentation until I knew you approved of this
refactoring (or the alternative proposed above). Please tell me what you
think and how you feel it fits with the differentiable manifolds part. I
hope this does not cause too much trouble with rebasing.
----
New commits:
||[http://git.sagemath.org/sage.git/commit/?id=0fb39df7fafe7f0a765bf73b3f34a6cb41e65c40
0fb39df]||{{{Refactoring the code to separate out the structural part of
the manifold.}}}||
--
Ticket URL: <http://trac.sagemath.org/ticket/18529#comment:67>
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.