#19586: Add is_cayley_graph
-------------------------------------+-------------------------------------
       Reporter:  jaanos             |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.10
      Component:  graph theory       |   Resolution:
       Keywords:  Cayley graphs      |    Merged in:
  groups                             |    Reviewers:
        Authors:  Janoš Vidali       |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  4aaf3014fee5bb08d861636908d6733047d4a869
  u/jaanos/add_is_cayley_graph       |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by dimpase):

 Replying to [comment:29 jaanos]:

 > Hmm, I would still like to have an `is_cayley` method for graphs.

 sure, such a method can just check whether `cayley_graph_group()` is
 `None`.


 > But I agree about having a method `transitive_subgroup` for permutation
 groups. Still, I'm a bit > worried about cases when we have a large graph
 with a relatively small automorphism group (say, twice the order of the
 graph) - then finding an appropriate subgroup will be fast, but actually
 returning it (so a Sage subgroup can be built) may make a non-negligible
 contribution to the running time (since reading GAP output can be slow).

 as a switch to `libgap` will happen sooner or later, optimising for not
 reading GAP output
 does not seem to be that important.


 > So I propose:
 > - we have a `transitive_subgroup` method, which by default returns a
 transitive subgroup of given order,
 > - `transitive_subgroup` may be explicitly told not to return the group
 (by setting, say, `return_group` to `False`),
 > - we add a helper method (say, `_transitive_subgroup_gap`) which returns
 a GAP object containing the subgroup (we could make the result cached, so
 if one first asks whether a graph is Cayley and then wants to know the
 group, it needn't be recomputed).
 >
 > This way, `transitive_subgroup` can call the helper function, and then
 avoid actually reading the GAP subgroup if it is told not to return it.
 >
 > What do you think?

 this ceritainly looks better, but again, I don't like the counter-
 intuitive parameters of `is_cayley()` and weird sort of output (a pair)
 that you currently have. In particular the latter.

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