#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                 |  2fae2fc7b92d306f1336b6786c67318823f812f4
   Dependencies:  #18960, #18948,    |     Stopgaps:
  #18988, #18991, #18986, #19018,    |
  #19019                             |
-------------------------------------+-------------------------------------

Comment (by ncohen):

 > done; I also shifted it and the rest of the methods on this ticket to
 the **Leftovers** index.

 I see no difference in the code of `twograph_descendent`

 > It is not even a function. It is a method of Graph, and it produces a
 Graph. There are things in Graph that I also find very specific, yet they
 belong there by right.

 I would agree with you if we had fewer methods, but we have a *LOT* of
 them already. It is true that it takes a graph as input and returns a
 graph, but it could be advertised properly if it were in the trograph
 module, and if we added a "SEEALSO" in the documentation of
 `Graph.twograph`. I want it to be found by whoever needs it, but I also
 know that everything cannot belong to the graph module. Right now you can
 see David and Michele working on a new hyperbolicity algorithm (#19049)
 and you wil see that there are *MANY* lines of code in this module which
 took a lot of effort. Yet even that is not a Graph method (perhaps it
 should be). And you do not see `Graph.pathwidth` nor
 `Graph.grundy_coloring` nor `Graph.vertex_separation`, and all of them
 took a *LOT* of code and effort.

 I don't want to hide what you do, I want to organise this smartly. Some
 things are much less useful than others, and your function is an
 *optimization* of something that is already available via the twograph
 object. Would you agree to let it stay in the twograph module? Whoever
 wants to get the `twograph_descendant` of a graph wil definitely look at
 `twograph`. (S)He will then look at the `descendant` method, which can
 *also* link toward your optimization. This thing has its place in the
 twograph class and will be found there, but having the optimization
 directly in the `Graph` class does not add a new feature by itself, and
 can really be sufficiently advertised through the `TwoGraph` method.

 Please, think with me. I'm tired of this endless arguing.

 Nathann

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