[GAP Forum] Construction of a group unsing a multiplication table.

mbg nimda mbg.nimda at gmail.com
Wed Jun 1 13:43:06 BST 2011


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


More information about the Forum mailing list