#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:118 ncohen]:
 > > well, `designs.TAB` gives
 > > {{{
 > > <lots of things>
 > > }}}
 > >
 > > Quite a few of them added by you, right?
 >
 > Yes. I am quite proud of that.
 >
 > > Why do you ask me to make `TwoGraph` a second-class citizen then?
 >
 > No. I asked you to *not make it appear in the catalog* (which is
 different). In the same way that you do not see the following classes
 (that I also created): `BalancedIncompleteBlockDesign`,
 `GroupDivisibleDesign`, `PairwiseBalancedDesign`.

 on the other hand there are classes such as
 {{{
 designs.AffineGeometryDesign
 designs.BalancedIncompleteBlockDesign
 designs.BlockDesign
 designs.DesarguesianProjectivePlaneDesign
 designs.Hadamard3Design
 designs.HadamardDesign
 designs.HughesPlane
 designs.Hypergraph
 designs.IncidenceStructure
 designs.ProjectiveGeometryDesign
 designs.WittDesign
 }}}

 Perhaps some of them are (misnamed?) functions, I didn't check.


 >
 > Catalogs are not meant to hold generic class constructors (you don't see
 Graph in 'graphs.' or `PermutationGroup` in `group.`),

 this is an unfair comparison, for `Graph` and `PermutationGroup` are in
 global space!
 And you told me to remove `TwoGraph` from it, which I duly did.

 > but only functions meant to return a "famous object". That's what
 catalogs are for. And 'TwoGraph', like 'BalancedIncompleteBlockDesign', is
 to be instanciated with a list of blocks (like `IncidenceStructure` or
 `BalancedIncompleteBlockDesign`) while orthogonal arrays (which appear in
 `designs.<tab>`) are created from a pair of integers only.

 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.

 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.

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