> < ^ Date: Wed, 17 May 1995 17:13:00 +0100 (WET)
> < ^ From: Werner Nickel <nickel@mathematik.tu-darmstadt.de >
< ^ Subject: Re: help!

Dear GAP-Forum,

Frank Harou writes in his first email

I would like computing the rank of K/[K,K] where K is the kernel of a
morphisme \psi defined as follow :

un:=Z(7)^0;
zero:=0*Z(7);

gk1:=[[1,1],[0,1]];
gk2:=[[1,0],[-E(3),1]];

gi1:=[[un, un], [zero, un]];
gi2:=[[un, zero], [2*un, un]];

GammaK:=Group([[1,1],[0,1]], [[1,0],[-E(3),1]]);
GammaI:=Group(gi1,gi2);


psi:=GroupHomomorphismByImages(GammaK,GammaI,
GammaK.generators,GammaI.generators);

Does a trick exist to avoid the instruction kernel(psi) ?

GAP cannot compute directly the kernel of <psi> for the infinite
matrix group GammaK. To be able to compute with this group, we will
first convert it to a finitely presented group.

Let O = Z[E(3)] be the ring of algebraic integers in Q[E(3)]. A
presentation for SL(2,O) together with representing matrices can be
found in

R.G. Swan: Generators and Relations for certain Special Linear Groups
Advances in Mathematics 6, 1-77 (1971).

The presentation for SL(2,O) is as follows:

gap> F5 := FreeGroup( 5 );
gap> T := F5.1; U := F5.2; J := F5.3; L := F5.4; A := F5.5;
gap> SL2O := F5 / [
>        Comm( T, U ),
>        J^2,  L^3,
>        T^L * U * T,
>        U^L / T,
>        Comm( T, J ), Comm( U, J ), Comm( L, J ), Comm( A, J ),
>        A^2 / J,  (A*L)^2 / J,  (T*A)^3 / J,  (U*A*L)^3 / J ];;
gap> T := SL2O.1;; U := SL2O.2;; J := SL2O.3;; L := SL2O.4;; A := SL2O.5;;


The generators correspond to the following matrices:

gap> T_m := [ [      1,      1 ], [      0,      1 ] ];;
gap> U_m := [ [      1,   E(3) ], [      0,      1 ] ];;
gap> J_m := [ [     -1,      0 ], [      0,     -1 ] ];;
gap> L_m := [ [ E(3)^2,      0 ], [      0,   E(3) ] ];;
gap> A_m := [ [      0,     -1 ], [      1,      0 ] ];;


>From these we see that the subgroup GammaK is generated by T and U^A.
We may now try to use the modified Todd-Coxeter to compute the index
of SL(2,O) over GammaK as well as a presentation for GammaK.

gap> P := PresentationSubgroupMtc( SL2O, Subgroup(SL2O,[T,U^A]) );;
gap> GK := FpGroupPresentation( P );;

GK is now a finitely presented group isomorphic to the group GammaK
defined by Frank Harou. The presentation has two generators and one
relator:

gap> Print( GK.generators, "\n", GK.relators, "\n" );
[ _x1, _x2 ]
[ _x1^-1*_x2*_x1*_x2^-1*_x1*_x2*_x1^-1*_x2^-1*_x1*_x2^-1 ]


Just to be sure, we check if the matrix generators for GammaK satisfy
the relations for GK. There is only one relation to check:

gap> MappedWord( GK.relators[1], GK.generators,
>                [ [[1,1],[0,1]], [[1,0],[-E(3),1]] ] );
[ [ 1, 0 ], [ 0, 1 ] ]


We now construct the homomorphism psi:

gap> gi1 := [[1,1],[0,1]] * Z(7)^0;;
gap> gi2 := [[1,0],[2,1]] * Z(7)^0;;
gap> GammaI := Group( gi1, gi2 );;
gap> psi := GroupHomomorphismByImages( GK, GammaI,
>               GK.generators, GammaI.generators );;


It turns out that psi is not a homomorphism:

gap> IsHomomorphism( psi );
false

This is because <gi1> and <gi2> do not satisfy the relation for GK:

gap> MappedWord( GK.relators[1], GK.generators,
>                [ gi1, gi2 ] );
[ [ Z(7)^2, Z(7)^2 ], [ Z(7)^3, Z(7) ] ]


The homomorphism'' <psi> defined by Frank Harou appears to be
induced by the map

  O    --->  GF(7),
-E(3)  |-->  2


which does not define a ring honomorphism. If we use the ring
homomorphism

  O   --->  GF(7)
E(3)  |-->  2


instead, then the induced <psi> is indeed a homomorphism:

gap> gi1 := [[1,1],[0,1]] * Z(7)^0;;
gap> gi2 := [[1,0],[-2,1]] * Z(7)^0;;
gap> GammaI := Group( gi1, gi2 );;
gap> psi := GroupHomomorphismByImages( GK, GammaI,
>               GK.generators, GammaI.generators );;
gap> IsHomomorphism( psi );
true


Compute the kernel. This takes a little while.

gap> K := Kernel( psi );;


Compute the abelian invariants.

gap> AbelianInvariants( K );
[ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0 ]


Voila! The result of the last command shows that K/[K,K] is
isomorphic to the direct product of a cyclic group of order 7 and 48
copies of the integers.

Note that we could also use the ring map E(3) |--> 4. This also
induces a homomorphism <psi>. This homomorphism has a different
kernel, but this kernel has the same abelian invariants.

Werner Nickel.

PS.: I have just received Frank Harou's second mail to the GAP-
Forum. He writes:

I can reformulate more precisely my problem :

first, I have an exact sequence

0 -> K -> G -> H -> 0

H is PSL(2,Z/7Z) so order(H) is 168.
G is < x,y | x^-1 * y * x * y^-1 * x * y * x^-1 * y^-1 * x >

The relator here differs slightly from the one GAP has obtained :
x^-1 * y * x * y^-1 * x * y * x^-1 * y^-1 * x * y^-1.


I try to find a presentation of K for computing the rank of
K/[K,K]. I have a representation of G in PSL(2,O_3) and the
homomorphism G -> H for this presentation but it seem to give no
more information because the order of G is infinite. What could I
do ?

The kernel of the homomorphism to PSL(2,7) can be obtained by a slight
modification of the approach above.

> < [top]