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