#18529: Topological manifolds: basics
-------------------------------------+-------------------------------------
Reporter: egourgoulhon | Owner: egourgoulhon
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-7.0
Component: geometry | Resolution:
Keywords: topological | Merged in:
manifolds | Reviewers: Travis Scrimshaw
Authors: Eric Gourgoulhon, | Work issues:
Travis Scrimshaw | Commit:
Report Upstream: N/A | 3cd03a48d847e12745ed8c25b23f19db141c179a
Branch: | Stopgaps:
public/manifolds/top_manif_basics |
Dependencies: #18175 |
-------------------------------------+-------------------------------------
Comment (by egourgoulhon):
Replying to [comment:112 tscrim]:
> It is what I was hoping to obtain, but had trouble separating out the
subset portion because there still is a small diamond problem with
`Parent`. Which is why `AbstractSubset` would have to be a mixin, both in
this hierarchy and Hierarchy-3,4 to be effective.
Yes. Similarly `AbstractAmbient` in Hierarchy-4 has to be a mixin, so that
only `AbstractSet` inheritates from `Parent`.
>
> It does seem like perhaps Hierarchy-2 would be the best since there is
so few tests for `if self._manifold is self`. The biggest trouble I have
with this is the separations of concerns: that it makes it somewhat harder
to separate these classes later if they start needing different
attributes. We also have well-established code in Sage for which there is
a different class for subobjects.
As said before, it is difficult to see at the monent what kind of
different attributes would exist for manifolds and open submanifolds.
Basically, our open submanifolds behave just like manifolds, especially
when defining fields on them. This reflects the fact that both are open
sets, which is the true basic structure in topology. Things are probably
different in other parts of Sage, which deal with algebraic structures,
instead of topological ones.
>
> Ah hell, perhaps we should just revert back to Hierarchy-2 to keep the
simplicity. I'm starting to wonder if there is perhaps a more fundamental
issue in that we are trying to be too close to the mathematical
definitions rather than be programmers, which could potentially be a
complete rewrite of most things. However, we have working code, which is
always better than no code.
OK, let us revert to Hierarchy-2. It is simple, effective, offers a better
gathering of documentation, and, via `self._manifold = self`, it embodies
the fact that a manifold is an open subset of itself, which is not a
totally crazy mathematical idea.
Anyway, the whole discussion has been very interesting (at least to me)
and we can keep the above diagrams for future thoughts.
>Anyways, I'm going to shutup now and just ask do you want me to handle
the revert or are you willing to do it?
I will do it. Of course, it will not be a complete revert to the state
prior to your refactorization: we shall keep your singleton classes for
the structure (topological, differentiable, etc.) and your removal of
facade parents, which are nice features.
--
Ticket URL: <http://trac.sagemath.org/ticket/18529#comment:113>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.