On 11.03.2014, at 05:23, Minghui Liu <matli...@gmail.com> wrote:

> Dear GAP Forum,
> 
> I am trying to find generators of a factor group. I have input dozens
> of generators and relations and when I use the command
> 
> AbelianInvariants(F/relations);
> 
> the result was something like
> 
> 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5
> 
> (I have reduced the number of 0's for simplicity.)
> 
> My question is, the result shows that the Abelianization of
> F/relations is a direct sum of some Z's and some finite cyclic groups;
> how can I find an explicit set of generators? I am especially
> interested in how to find the elements of order 2, 3, 4, 5,
> respectively.
> 
> Any assistance will be greatly appreciated.

This is quite easy to do using the commands MaximalAbelianQuotient() and 
IndependentGeneratorsOfAbelianGroup(). The following example should tell you 
everything you need to know. But feel free to ask for further hints.

# Let's enter a group (I just picked some generators "at random")
gap> F:=FreeGroup(3);
<free group on the generators [ f1, f2, f3 ]>
gap> R:=[Comm(F.1,F.2), F.3^10, F.1*F.2*F.3];
[ f1^-1*f2^-1*f1*f2, f3^10, f1*f2*f3 ]
gap> G:=F/R;
<fp group on the generators [ f1, f2, f3 ]>

# Compute the abelian invariants, and an epimorphism phi: G -> G/G'
gap> AbelianInvariants(G);
[ 0, 2, 5 ]
gap> phi:=MaximalAbelianQuotient(G);
[ f1, f2, f3 ] -> [ f1*f2^-1*f3^-1, f3, f2 ]
gap> H:=Image(phi);
<fp group of size infinity on the generators [ f1, f2, f3 ]>

# Get generators of the quotient H = G / G' which correspond exactly
# to the abelian invariants. This is by design and described as such
# in the manual. But we can also verify it in this example.
gap> gens:=IndependentGeneratorsOfAbelianGroup(H);
[ f3, f2^5, f2^2 ]

# ... verification ...
gap> Order(gens[2]);
2
gap> Order(gens[3]);
5
gap> Index(H, Subgroup(H,[gens[1]]));
10

# We can also map these generators back to elements of the original group;
# but usually you will want to work in the abelian quotient H for this.
gap> List(gens, x -> PreImagesRepresentative(phi, x));
[ f2, f3^5, f3^2 ]




Cheers,
Max
_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to