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