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.