#13566: Simplicial complex examples as singletons
---------------------------------------------------+------------------------
       Reporter:  tscrim                           |         Owner:  tscrim     
     
           Type:  enhancement                      |        Status:  needs_work 
     
       Priority:  minor                            |     Milestone:  sage-5.6   
     
      Component:  algebraic topology               |    Resolution:             
     
       Keywords:  simplicial                       |   Work issues:             
     
Report Upstream:  N/A                              |     Reviewers:  Travis 
Scrimshaw
        Authors:  Christian Nassau, John Palmieri  |     Merged in:             
     
   Dependencies:  #13244, #12587                   |      Stopgaps:             
     
---------------------------------------------------+------------------------

Comment (by tscrim):

 Replying to [comment:21 nbruin]:
 > Reasons against uniqueness:
 >
 > - `SimplicialComplex` is not a parent so there's no sage-technical
 reason to enforce uniqueness (that's just a reason ''not for'' uniqueness)
 >
 > - While any two `Sphere(3)` complexes are isomorphic, they are not
 canonically so, so mathematically there can be good reasons to have
 multiple non-identical spheres in memory.

 That is a good point since I believe not all triangulations of a (high
 enough dimensional) sphere can be obtained by bistellar flips.

 > - It makes things like `Sphere` behave different from
 `SimplicialComplex` (and more generally not simply ''be'' a
 `SimplicialComplex`. That makes code harder to maintain because now you
 have similar-but-subtly-different acting objects. You should only do that
 if there's a benefit elsewhere.

 Also a good point.

 > Should uniqueness of `SimplicialComplexes` be desirable in general (why?
 are they meant to become parents?) then it should perhaps be fixed on that
 level. Mutable obviously can't be forced to be unique, so then you should
 probably make two: `SimplicialComplex` and `MutableSimplicialComplex` (one
 a subclass of the other if at all possible), where you can make the
 immutable one unique by also inheriting from UniqueRepresentation. Going
 to the immutable one then of course should return an immutable ''copy'',
 not just change a flag.

 What I was thinking when I created this ticket was that since these are
 particular examples of simplicial complexes, they should be unique and
 immutable. However, perhaps it would be better to have them be mutable
 copies for computations rather than having the user create a copy (I don't
 really know offhand if these are used computationally in Sage)...I will
 leave this decision to someone who uses these more than me.

 > If you find there's no need for `Sphere` etc. to be anything more than
 just a `SimplicialComplex` the implementation becomes ''really'' easy:
 `sage.homology.examples.Sphere` can simple be a function, returning the
 relevant `SimplicialComplex`.

 If it is decided to essentially do nothing, perhaps we should use this
 ticket to move everything down to a function.

 Also it seems like this needs to be rebased to 5.6.beta1.

 Thanks,[[BR]]
 Travis

 PS - I may not be able to respond for 2 weeks

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13566#comment:22>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to