Dear Roman, dear forum members,

I am much more interested in question 2. StructureDescription and DirectFactorsOfGroup would be what I am looking for in the case of direct products, but they seem to crash or give incomplete results quite easily (I am running the latest version of GAP):

gap> G := DirectProduct( CyclicGroup(2) , CyclicGroup(3) , SymmetricGroup(4) );;
gap> DirectFactorsOfGroup(G);



I cannot reproduce this problem with GAP 4.4.6. Could you send an e- mail with the full session transcript (including the GAP banner) to [EMAIL PROTECTED]


gap> G := DirectProduct( CyclicGroup(2) , CyclicGroup(3) , CyclicGroup(4) );;
gap> StructureDescription(G);
"C12 x C2"
    --> incomplete decomposition



This is exactly what StructureDescription is supposed to do - see the GAP manual. (It does not claim to return a decomposition into directly indecomposable factors, but of course, you can read it off the above).


Also, I am more interested in similar decompositions of wreath products. Since my groups are small (at most a few thousand elements) I could maybe write this myself, by looping over the "small groups" database and trying all wreath products until I find one that is isomorphic to the group I want to decompose. Is this reasonable?



Are you looking for wreath products of permutation groups, or wreath products of an abstract group and a permutation group? Wreath products of permutation groups can easily be recognized by looking at their block structure, see `Blocks' in the GAP reference manual. In general, a transitive permutation group G embeds in the wreath product (action of block stabilizer on block) wr (action of G on orbit of block), and you can easily check equality by comparing orders.

In the abstract case, the situation is much more complicated. Checking for group isomorphisms usually isn't very efficient, so if you have too many candidate groups to check against, this may not be too efficient. Instead, to look for a wreath product decomposition of an abstract group G, I would recommend to proceed as follows. Compute the normal subgroups of G and and check them for a suitable base group B. For B to be a base group, we need an integer n dividing | G:B|, such that |G:B| divides n!, and such that |B| is an n-th power. We then look for a normal subgroup K of B with |K|^n = |B|, whose G- orbit has length n, and whose normal closure in G is B. In addition, one has to check whether B has a complement C in G, and whether the point stabilizer in C of K acts trivially on K. Then you have G = K wr C. (If the action of the point stabilizer of K is nontrivial, you have a twisted wreath product.) All group actions are by conjugation, of course.

Cheers,

Burkhard.




_______________________________________________
Forum mailing list
[email protected]
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to