Hi Christian,

On Wed, Apr 10, 2013 at 07:59:49AM -0500, Christian Stump wrote:
> I wonder if there is a way to get a canonical form of a subgroup of a
> permutation group (or, even better, any group). This would be
> something like a method "canonical_labeling" for permutation groups
> that returns an isomorphic permutation group, and such that two groups
> are isomorphic if and only if their "canonical labellings" coincide.
> 
> I don't think anything like that is currently implemented, right?

Not that I know of. I would suggest to ask on the GAP mailing list if
something like this is implemented in GAP.

> A "natural" implementation would be to compute the multiplication
> table of the group, apply the canonical form algorithm from graphs (by
> simultaneous row and column permutations of the multiplication table),
> obtain a canoncial form of the multiplication table, and turn this
> data into a canonical form of a permutation group.

You need to act not only on rows and columns but also on the values in
the table, don't you?

That being said, it should indeed be possible to handle this problem
by encoding the product as a ternary relation (a,b,ab), and encoding
the ternary relation itself using a graph. Something like:

Vertices: elements a of G, and pairs (a,b) of elements of G

Edges:  a -> (a,b) with edge label "left"
        b -> (a,b) with edge label "right"
        (a,b) -> ab with edge label "result"
Loops:  (a,b) -> (a,b)

The loops are just here to distinguish the two kinds of vertices; one
could instead specify a vertex bipartition to the canonical labeling
function.

Note that the above would work for any semigroup or even magma. But
one could hope for something vastly more efficient for groups.

Cheers,
                                Nicolas
--
Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to