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

Reply via email to