Dear Bill,

I have a matrix group G generated by a family of matrix, says
(example from GAP documentation) and C its composition series:

m1 := [ [ Z(3)^0, Z(3)^0, Z(3) ], [ Z(3), 0*Z(3), Z(3) ], [ 0*Z(3), Z(3), 0*Z(3) ] ];; m2 := [ [ Z(3), Z(3), Z(3)^0 ], [ Z(3), 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3), Z(3) ] ];;
G := Group( m1, m2 );
C := CompositionSeries(G);

The elements of C are subgroups of G.
I would like to get a set of generators for the elements of C expressed in term of the generators of G.

If your group is rather small (say up to 10^6), you can use `Factorization', which gives you a shortest word. (The code will be improved in future releases to permit groups of several magnitudes larger.)

gap> List(C,i->List(GeneratorsOfGroup(i),x->Factorization(G,x)));

The products are given in a free group given as the Source of
gap> EpimorphismFromFreeGroup(G);
[ x1, x2 ] ->
[ [ [ Z(3)^0, Z(3)^0, Z(3) ], [ Z(3), 0*Z(3), Z(3) ], [ 0*Z(3), Z(3), 0*Z(3)
         ] ],
[ [ Z(3), Z(3), Z(3)^0 ], [ Z(3), 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3), Z(3) ]
     ] ]

If your group is larger, see the manual section
Expressing Group Elements as Words in Generators
on how to replace `Factorization'.

Best,

    Alexander




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

Reply via email to