#18972: twographs and Seidel switching
-------------------------------------+-------------------------------------
       Reporter:  dimpase            |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.9
      Component:  graph theory       |   Resolution:
       Keywords:                     |    Merged in:
        Authors:                     |    Reviewers:  Nathann Cohen
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/dimpase/seidelsw                 |  25eec1b6d18bb021eccd4b04774111097ff8f3b5
   Dependencies:  #18960, #18948,    |     Stopgaps:
  #18988, #18991, #18986, #19018,    |
  #19019                             |
-------------------------------------+-------------------------------------

Comment (by dimpase):

 Replying to [comment:120 ncohen]:
 > Hello Dima,
 >
 > > on the other hand there are classes such as
 > > {{{
 > > designs.AffineGeometryDesign # valid
 > > designs.BalancedIncompleteBlockDesign # deprecated
 > > designs.BlockDesign # should not be there
 > > designs.DesarguesianProjectivePlaneDesign # valid
 > > designs.Hadamard3Design # valid
 > > designs.HadamardDesign # valid
 > > designs.HughesPlane # valid
 > > designs.Hypergraph # should not be there
 > > designs.IncidenceStructure # should not be there
 > > designs.ProjectiveGeometryDesign # valid
 > > designs.WittDesign # valid
 > > }}}
 > >
 > > this is an unfair comparison, for `Graph` and `PermutationGroup` are
 in global space!
 >
 > I asked the question on sage-devel. It's quite legitimate, actually.
 >
 > > And you told me to remove `TwoGraph` from it, which I duly did.
 >
 > You did not. I still have `designs.TwoGraph` when I load your branch.
 I have removed it from `global` namespace, as you requested earlier.
 {{{
 sage: TwoGraph
 ---------------------------------------------------------------------------
 NameError                                 Traceback (most recent call
 last)
 <ipython-input-4-d7f5bedb1058> in <module>()
 ----> 1 TwoGraph

 NameError: name 'TwoGraph' is not defined
 }}}
 vs
 {{{
 sage: Graph
 <class 'sage.graphs.graph.Graph'>
 sage:
 }}}
 >
 > > So what? There isn't much difference between a pair of integers, and a
 list of lists, from user's point of view in particular. It's quite an
 artificial distinction here, invisible at user level, be it function, or
 class, or shmass, whatever. It returns an object, to which one can apply
 methods, this is what counts. A user does not care whether he calls a
 function, or a class constructor directly.
 >
 > I do not defend a blind distinction between class/function here. It is
 more relative to "the amount of data you give the constructor", and "what
 you get". I posted about this on sage-devel to see what others think.
 >
 > > Catalog are there for users, and it's just an extra needless hoop for
 a user to jump through, having to import stuff explicitly, if she wants to
 call a constructor directly.
 >
 > Well, it's not like everybody is waiting to instanciate `TwoGraph` in
 the first place,
 ditto for, say, `WittDesign`, right?

 May I refer to a precedent of having classes in `design` catalog to have
 `TwoGraph` here?

--
Ticket URL: <http://trac.sagemath.org/ticket/18972#comment:121>
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