#17464: Computing the automorphism group of a graph
-------------------------+-------------------------------------------------
       Reporter:  azi    |        Owner:
           Type:         |       Status:  needs_work
  enhancement            |    Milestone:  sage-6.5
       Priority:  major  |   Resolution:
      Component:  graph  |    Merged in:
  theory                 |    Reviewers:
       Keywords:         |  Work issues:
        Authors:         |       Commit:
Report Upstream:  N/A    |  cad441ec9fcfa114fc481411e949557845c45ab5
         Branch:         |     Stopgaps:
  public/bliss           |
   Dependencies:         |
  #17552                 |
-------------------------+-------------------------------------------------

Comment (by ncohen):

 Yooooooooo !

 > Since this is not done for graphs it makes all of this very suspicious
 but it works.
 >
 > I've also talked with the author of bliss who confirmed this is an
 actually bug that he'll address in an upcoming release of bliss. In the
 meantime he says the above is a valid fix.

 Oh, excellent news !

 > That said, I think it makes sense to see what is to be done to push this
 branch further?

 First, it would be really good to have the 'spkg' ticket in
 `positive_review`. Jeroen set it back to `needs_work` recently, and now
 you have something else to add to it: the patch to change this line.

 Now, you cannot modify upstream directly (i.e. the .tar.bz2 file) so you
 must use the 'patch' mechanism that is already being used in
 build/pkgs/sympy (for example). Look at the sympy/spkg-install file and
 the patches/ folder. The corresponding doc is there:

 http://www.sagemath.org/doc/developer/packaging.html#patching-sources

 > I have added some small documentation and would like to hear any kind of
 input that you may have.

 Well, it seems that you still have some notes to yourself in the branch.
 Those that you cannot solve right now should probably appear in the
 documentation of the function to which they apply, and not at module
 level. (note: you can write a docstring in C functions. It will not appear
 as html do of course, but that's the right place to write the function's
 doc.)

 In particular you have some formatting to do (a)length of lines b) the
 first line of doc is a one-line sentence describing the function.

 You can also add the mechanism that makes GenericGraph.automorphism_group
 use bliss if available by default (set algorithm=None by default, and
 {{{if algorithm is None and is_package_installed("bliss")}}} then ...) if
 you like, otherwise I will do it at some point.

 There is also this in the code
 {{{
 +        if algorithm == "bliss":
 +            print 'yes'
 +            return
 }}}

 But really that's just cleaning. Short of that I do not think that there
 is anything important missing.

 Oh, by the way: I do not think that you should really carry those vert2int
 or int2vert around. You could just say somewhere that the integer names of
 the vertices are those obtained by the ordering of `g.vertices()`

 Then defining the two dictionaries is rather easy
 {{{
 int2verts = g.vertices()
 vert2int = {v:i for i,v in enumerate(int2verts)}
 }}}

 Well, that's all. Only "code administration" `^^;`

 Nathann

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