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. _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum