Dear Forum Members, I start with a group N, e.g. N=SL(2,25). Now for a suitable element g in N and a suitable automorphism t I define a multiplication rule mult on the cartesian product car:=[-1,1] x N by: (-1, n) * (-1,m) = ( 1, g*n^t*m) (-1, n) * (1,m) = (-1, n*m) (1, n)* (-1,m) = (-1, n^t*m) (1,n)*(1,m) = (1, n*m) For smaller groups I use the following: 1) First I construct a multiplication table using PermList: mtab:=List(car,x->List(car, y->Position(car, mult(x,y)))); 2) M:=MagmaByMultiplicationTable(mtab); 3) G:=AsGroup(M); But this obviously doesn't work for larger groups, so instead I use the following:
makegroup:=function(car) local Gr,gens,x; gens:=[];Gr:=(()); Gr:=Group(());gens:=[]; for x in car do Display(x); x:=List(car, y->Position(car, mult(x,y))); x:=PermList(x); if x in Gr then continue; fi; Add(gens,x); Gr:=Group(gens); if Size(Gr)>=Size(N)*2 then break; fi; od; return(Gr); end; But in this case the size of N is too big to even construct one generator. Is there any suggestion? I dont even have to know the group itself, but only its structure. Marc Bogaerts _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum