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