I have trouble with the SemiDirect product construction, especially in the definition of morphisms between groups.

It would be great if someone could tell me what went wrong in the following example where I try to construct a semi-direct product extension using a cyclic group.

Felix

G:=SmallGroup(120, 34);

Cl:=Classes(G);

test:=sub<G |Cl[2][3],Cl[4][3],Cl[5][3],Cl[6][3],Cl[7][3]>;

Order(test) eq Order(G) ;

n:=PermutationGroup< 5 | (1,2,3,4,5)>;;

au:=AutomorphismGroup(n);

au.2;

Order(au.2);

phi := hom< G->au | [G!Cl[2][3] -> au.1, G!Cl[4][3] -> au.1,

G!Cl[5][3] -> au.2, G!Cl[6][3] -> au.1, G!Cl[7][3] -> au.1] >;

phi(Random(test));

SemidirectProduct(n,G,phi);

//gives

SemidirectProduct(

K: GrpPerm: K, Degree 5, Order 5,

H: GrpPerm: H, Degree 5, Order 2^3 * 3 * 5,

phi: Homomorphism of GrpPerm: H, Degree 5, Order 2^3 * 3 * 5 into...

)

In file "/Applications/Magma/package/Group/GrpFin/semidirect_product.m", line 155, column 22:

>> faithful := #Kernel(pr) eq 1;

^

Runtime error in 'Kernel': Not a homomorphism: image, kernel, domain orders incompatible