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

Comment (by jaanos):

 Hi!

 > > This reminds me that I should probably add a further optimization: if
 a (simple) graph is connected and dense (say, vertex degree more than half
 the order), then it may be more efficient to check for Cayleyness of its
 complement (in case it is disconnected it will be more efficient,
 otherwise the same).
 >
 > The .density() and .complement() method raise exceptions on non-simple
 graphs. I think that it is better to not care about this, unless you
 really need those cases and the speedup is obvious.

 That's why I said simple (and I hadn't thought out the implications of
 non-simple graphs). But yes, the denser the graph, the greater the
 probability that such a speedup will be achieved, and the greater
 potential of speedup in this case. In the case of multiple edges, this
 potential is smaller (the current method will be faster in general due to
 the potentially smaller automorphism group), and I agree that we should
 not even care about the cases when speedup is actually possible (e.g. when
 all multiedges appear with the same multiplicity).

 > > No, because we are not guaranteed that a tuple will be returned.
 >
 > Weird. I thought you said in the doctest that a tuple will always be
 returned, whether the graph is a cayley graph or not, and that the
 additional values would be set to `None` if necessary.

 A tuple will be returned whenever some form of certificate is requested,
 regardless of whether the graph is Cayley or not. What is being
 differentiated here is whether the group has been requested in the first
 place. Although if you prefer, a call to `is_cayley` could be made in each
 branch of the `if` statement.

 Janoš

--
Ticket URL: <http://trac.sagemath.org/ticket/19586#comment:65>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to