[GAP Forum] Double Semidirect Product Group

Sandeep Murthy sandeepr.murthy at gmail.com
Sat Feb 19 14:16:43 GMT 2011


Hi,

I have written a GAP function that constructs double semidirect product groups of type

((C_l)^2 \rtimes_s C_m) \rtimes_t C_n

where C_l, C_m, C_n are cyclic groups of orders l, m, n respectively, and C_m
acts on (C_l)^2 via a nontrivial homomorphism s: C_m --> Aut((C_l)^2), and
C_n acts on the semidirect product (C_l)^2 \rtimes_s C_m via a nontrivial
homomorphism t: C_n --> Aut((C_l)^2 \rtimes_s C_m)).  So for example for 
l = 5, m = 3, n = 2, it should give a semidirect product group of order 150, one of
[150, 5], [150,6], [150,9] depending on the choices of homomorphisms.

However, when I run it on GAP I get an error:

Error, usage: Image(<map>), Image(<map>,<elm>), Image(<map>,<coll>) called from
Image( aut, pcgsG[i] ) called from
SplitExtension( G, aut, N ) called from
<function>( <arguments> ) called from read-eval-loop
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> 


Here is the code:

DoubleSemidirectProductGroup := function( l, m, n )

   local N1, AN1, oAN1, aN1, gcd, h, N2, AN2, oAN2, aN2, K1, k1, K2, k2;
   
   N1 := DirectProduct( CyclicGroup( l ), CyclicGroup( l ) );
   AN1 := AutomorphismGroup( N1 );
   oAN1 := Order( AN1 );
   gcd := Gcd( m, oAN1 );
   aN1 := Filtered( AN1, x -> Order( x ) = gcd )[1]; 
   
   K1 := CyclicGroup( m );
   k1 := Elements( K1 )[2];
   
   h := GroupHomomorphismByImages( K1, AN1, [k1], [aN1] );
   
   N2 := SemidirectProduct( N1, h, K1 );
   AN2 := AutomorphismGroup( N2 );
   oAN2 := Order( AN2 );
   gcd := Gcd( n, oAN2 );
   aN2 := Filtered( AN2, x -> Order( x ) = gcd )[1]; 
   
   K2 := CyclicGroup( n );
   k2 := Elements( K2 )[2];
   
   h := GroupHomomorphismByImages( K2, AN2, [k2], [aN2] );
   
   return SemidirectProduct( N2, h, K2 );
   
end;

Could someone please point out where the error is?

Sincerely, Sandeep.




More information about the Forum mailing list