p8exponentp/ 0000775 0001750 0001750 00000000000 12346522571 012027 5 ustar vlee vlee p8exponentp/3gen/ 0000775 0001750 0001750 00000000000 12345652526 012666 5 ustar vlee vlee p8exponentp/3gen/testdec7.108a 0000664 0001750 0001750 00000004263 12345606642 015006 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yztu:=[[0,0,0,1],[0,0,0,w],[1,0,0,1],[1,0,0,w],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0]];
for params in yztu do
y:=params[1]; z:=params[2]; t:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
xztu:=[[0,0,0,1],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0],[1,1,0,0]];
for params in xztu do
x:=params[1]; z:=params[2]; t:=params[3]; u:=params[4]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
ztu:=[[0,0,1],[0,0,w],[0,0,0],[0,1,0]] cat [[1,t,0]:t in [0..p-1]];
for params in ztu do
z:=params[1]; t:=params[2]; u:=params[3]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+20;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.69 0000664 0001750 0001750 00000002126 12345643520 013663 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
for t in [0,1] do
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yt:=[[0,0],[1,0],[0,1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
xyzt:=[[0,0,0,0],[1,0,0,0],[w,0,0,0]] cat [[x,0,1,0]:x in [0..p-1]];
xyzt:=xyzt cat [[0,1,0,0],[0,0,0,1]];
for params in xyzt do
x:=params[1]; y:=params[2]; z:=params[3]; t:=params[4];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec6.25 0000664 0001750 0001750 00000001171 12345621255 013652 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
r:=Z!(F!(7/6));
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
xyz:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[0,1,w],[1,0,0],[1,0,1]];
xyz:=xyz cat [[1,1,z]:z in [0..p-1]];
PS:=[];
for params in xyz do
x:=params[1]; y:=params[2]; z:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.132 0000664 0001750 0001750 00000001103 12345637430 013727 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(1/6));
xzt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1],[0,1,0],[1,1,0]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.126 0000664 0001750 0001750 00000002160 12345607042 014632 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(3/2)); bch2:=Z!(F!(-7/4)); bch3:=Z!(F!(1/6));
half:=(p+1) div 2;
zt:=[[0,0],[0,1],[1,0]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,3;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec6.24 0000664 0001750 0001750 00000001402 12345621066 013646 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
r:=Z!(F!(1/6));
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
w2:=w^2 mod p;
w3:=w^3 mod p;
print "p,w equal",p,w;
vxyz:=[[0,0,0,0],[0,0,0,1],[0,1,0,0],[0,0,1,0],[0,0,1,1],[0,0,1,w],
[1,0,0,0],[1,0,0,1],[1,1,0,0],[1,0,1,0],[1,0,1,1],[1,0,1,w]];
if p mod 4 eq 1 then vxyz:=vxyz cat [[1,0,1,w2],[1,0,1,w3]]; end if;
PS:=[];
for params in vxyz do
v:=params[1]; x:=params[2]; y:=params[3]; z:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.107 0000664 0001750 0001750 00000001546 12345623363 013744 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
for t in [half,1+half] do
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
yt:=[[0,0],[0,1],[1,0],[1,1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
for t in [half,1+half] do
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.81 0000664 0001750 0001750 00000002110 12345647313 013652 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
orbreps:=[];
if p mod 3 eq 2 then
for i in [1..p-1] do
a:=Z!(F!(1/i));
if i le a then Append(~orbreps,i); end if;
end for;
end if;
if p mod 3 eq 1 then
cu:=0;
for i in [2..p-1] do
if i^3 mod p eq 1 then cu:=i; break; end if;
end for;
cu2:=cu^2 mod p;
for i in [1..p-1] do
if i gt (i*cu) mod p then continue; end if;
if i gt (i*cu2) mod p then continue; end if;
a:=Z!(F!(1/i));
if i gt a then continue; end if;
if i gt (a*cu) mod p then continue; end if;
if i gt (a*cu2) mod p then continue; end if;
Append(~orbreps,i);
end for;
end if;
PS:=[];
zt:=[[0,0],[0,1]] cat [[1,t]:t in orbreps];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.99 0000664 0001750 0001750 00000003103 12345607446 014571 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xzt:=[[0,1,0],[0,0,0],[0,0,1],[1,0,0]];
for params in xzt do
x:=params[1]-3*((p+1) div 2); z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,0],[0,1,0],[1,0,0],[1,1,0],[0,0,1],[0,1,1]];
if p mod 3 eq 1 then yzt:=yzt cat [[1,w,0],[1,w^2,0]]; end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,9+GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.130 0000664 0001750 0001750 00000002326 12345607071 014633 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(3/2)); bch2:=Z!(F!(-5/4)); bch3:=Z!(F!(7/6));
half:=(p+1) div 2; quarter:=Z!(F!(1/4));
zt:=[[0,t]:t in [0..p-1]] cat [[1,1],[w,1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+2;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.114 0000664 0001750 0001750 00000004233 12345606737 014644 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
for lambda in [0..p-1] do
bch:=Z!(F!(13/6-lambda/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
lambda:=Z!(F!(2/3));
bch:=Z!(F!(13/6-lambda/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+3;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.143 0000664 0001750 0001750 00000002266 12345607162 014643 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(-5/12)); bch2:=Z!(F!(-1/6)); bch3:=Z!(F!(-3/2));
xz:=[[x,1]:x in [0..p-1]] cat [[0,0],[1,0]];
if p mod 3 eq 1 then xz:=xz cat [[w,0],[w^2,0]]; end if;
for params in xz do
x:=params[1]; z:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+1+GCD(p-1,3);
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.115 0000664 0001750 0001750 00000002041 12345634423 013731 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
for x in [2..p-1] do
whys:=[0];
for y in [1..p-1] do
if y le Z!(F!(x/y)) then Append(~whys,y); end if;
end for;
for y in whys do
bch1:=Z!(F!(x/6-y+5/12)); bch2:=Z!(F!(2*y-2)); bch3:=Z!(F!(3*x*y/2-2*x+y/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
if F!(-3*y+2*x-x*y+2*y^2) ne 0 then continue; end if;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.100 0000664 0001750 0001750 00000002501 12345621616 013724 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xzt:=[[0,0,0],[0,0,1]] cat [[0,1,t]:t in [0..((p-1) div 2)]];
xzt:=xzt cat [[1,0,0],[1,0,1]] cat [[1,1,t]:t in [0..((p-1) div 2)]];
for params in xzt do
x:=params[1]; z:=1+params[2]; t:=params[3]-3*((p+1) div 2);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
zt:=[[0,0],[0,1]];
x1x2:=[[0,1],[1,0]] cat [[1,i]:i in [2..p-2]];
for t in [0..p-1] do
new:=true;
for i in [1..p-1] do
x1:=x1x2[i][1]; x2:=x1x2[i][2];
a:=F!(x1^2+x2^2+x1*x2*t);
if a eq 0 then new:=false; break; end if;
b:=F!(4*x1*x2+(x1^2+x2^2)*t);
k:=Z!(b*a^-1);
if k lt t then new:=false; break; end if;
end for;
if new then Append(~zt,[1,t]); end if;
end for;
for y in [0,1] do
for params in zt do
z:=params[1]-1; t:=params[2]+3;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.108 0000664 0001750 0001750 00000004060 12345606631 014636 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
xzt:=[[0,0,0],[1,0,0],[0,0,1],[0,1,0],[0,1,1]];
for params in xzt do
z:=params[2]; t:=params[3]; x:=(params[1]+half*z+half*t) mod p;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[0,1,1],[0,0,0],[0,1,0],[1,0,0],[1,1,0]];
if p mod 3 eq 1 then yzt:=yzt cat [[1,w,0],[1,w^2,0]]; end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
zt:=[[0,0],[0,1]] cat [[1,t]:t in [0..p-1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+12+GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.78 0000664 0001750 0001750 00000002662 12345607307 014573 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
mhalf:=Z!(F!(-1/2));
print "p,w equal",p,w;
ayes:=[];
for z in [0,1] do
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yt:=[[0,1],[mhalf,1]] cat [[y,0]:y in [0..p-1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+4;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.77 0000664 0001750 0001750 00000003074 12345607301 014562 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
sq:={a^2:a in F};
orb:=0;
for i in [1..p-1] do
a:=F!(4/i+i^-2);
if a notin sq then orb:=i; break; end if;
end for;
orb0:=Z!(F!(-1/4));
print "p,w equal",p,w;
ayes:=[];
for z in [0,1] do
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
xyt:=[[0,0,0],[0,1,0],[1,0,0],[1,1,0],[0,0,1],[0,orb0,1],[0,orb,1]];
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,9;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.132 0000664 0001750 0001750 00000002042 12345607102 014623 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(1/6));
xzt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1],[0,1,0],[1,1,0]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,6;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.65 0000664 0001750 0001750 00000005460 12345607172 014566 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yzt:=[[0,0,1],[0,0,0],[0,1,0],[1,0,0],[1,1,0]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[0,0,0],[1,0,0]];
yzt:=yzt cat [[y,1,0]:y in [0..(p-1) div 2]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[0,0,0],[1,0,0]];
yzt:=yzt cat [[y,1,0]:y in [0..(p-1) div 2]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[0,0,0],[0,1,0],[1,0,0],[1,1,0]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,0,1],[0,0,1,0],[0,0,0,0],[0,1,0,0],[1,0,0,0],[1,1,0,0]];
for params in yzt do
x:=params[1]; y:=params[2]; z:=params[3]; t:=params[4];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+23;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.135 0000664 0001750 0001750 00000002016 12345607117 014635 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(1/6));
xt:=[[0,0],[0,1],[1,0]];
for params in xt do
x:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,3;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.112a 0000664 0001750 0001750 00000002534 12345606714 015000 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yztu:=[[0,0,0,u]:u in [0,1,2] cat [4..p-1]];
yztu:=yztu cat [[0,1,0,u]:u in [0,1,2] cat [4..p-1]];
yztu:=yztu cat [[1,0,0,u]:u in [0,1,2] cat [4..p-1]];
yztu:=yztu cat [[1,1,0,u]:u in [0,1,2] cat [4..p-1]];
yztu:=yztu cat [[0,0,0,3],[0,0,1,3],[0,1,0,3],[0,1,1,3],[1,0,0,3],[1,0,1,3]];
for params in yztu do
y:=params[1]; z:=params[2]; t:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,4*p+2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.115a 0000664 0001750 0001750 00000003072 12345606760 015002 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xyzu:=[[0,0,0,1],[0,1,0,1],[0,w,0,1],[0,0,1,0],[0,0,0,0],[0,1,0,0],[1,0,0,0],[1,1,0,0]];
for params in xyzu do
x:=params[1]; y:=params[2]; z:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
tu:=[[0,0],[1,0],[0,1],[0,w]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,12;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.73 0000664 0001750 0001750 00000002120 12345607252 014552 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xyt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1]] cat [[0,1,z]:z in [0..(p-1) div 2]];
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,(p+9)/2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.119 0000664 0001750 0001750 00000000564 12345635505 013747 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.81 0000664 0001750 0001750 00000003176 12345607334 014566 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
orbreps:=[];
if p mod 3 eq 2 then
for i in [1..p-1] do
a:=Z!(F!(1/i));
if i le a then Append(~orbreps,i); end if;
end for;
end if;
if p mod 3 eq 1 then
cu:=0;
for i in [2..p-1] do
if i^3 mod p eq 1 then cu:=i; break; end if;
end for;
cu2:=cu^2 mod p;
for i in [1..p-1] do
if i gt (i*cu) mod p then continue; end if;
if i gt (i*cu2) mod p then continue; end if;
a:=Z!(F!(1/i));
if i gt a then continue; end if;
if i gt (a*cu) mod p then continue; end if;
if i gt (a*cu2) mod p then continue; end if;
Append(~orbreps,i);
end for;
end if;
ayes:=[];
zt:=[[0,0],[0,1]] cat [[1,t]:t in orbreps];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,(4*p-(p-1)*GCD(p-1,3)+14)/6;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.88 0000664 0001750 0001750 00000002472 12345651116 013670 0 ustar vlee vlee readi p,"Input prime p>3, where p=2 mod 3";
F:=GF(p);
if p mod 3 ne 2 then print "p = 2 mod 3 only!"; readi zzz; end if;
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
vals:={};
for a in F do
for b in F do
c:=b*(3*a^2+w*b^2);
if c eq 0 then continue; end if;
Include(~vals,a*(a^2+3*w*b^2)*c^-1);
end for;
end for;
k:=0;
for a in F do
if a notin vals then k:=Z!a; break; end if;
end for;
if k eq 0 then print "Arghh,k"; readi zzz; end if;
x10:=0;
for i in [1..p-1] do
if F!(w*i^2+3/4) eq 0 then x10:=i; break; end if;
end for;
PS:=[];
zt:=[[0,0],[0,1]];
for t in [0..p-1] do
a:=F!(-1/2+3*k*x10+(1-9*k^2/w)*x10*t/4);
if a eq 0 then continue; end if;
b:=Z!(F!(4*x10*w-(1/2+3*k*x10)*t)*a^-1);
if b lt t then continue; end if;
a:=F!(-1/2-3*k*x10-(1-9*k^2/w)*x10*t/4);
if a eq 0 then continue; end if;
b:=Z!(F!(-4*x10*w-(1/2-3*k*x10)*t)*a^-1);
if b lt t then continue; end if;
Append(~zt,[1,t]);
end for;
bch:=Z!(F!((k^2/w+k)/2));
for params in zt do
z:=bch+params[1]; t:=k+w+params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.138 0000664 0001750 0001750 00000001237 12345640065 013743 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(7/6)); bch2:=Z!(F!(1/4));
xzt:=[[0,0,t]:t in [0..p-1]] cat [[1,0,t]:t in [0..p-1]] cat [[0,w,1],[0,w^2,1],[1,w,1],[1,w^2,1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec6.22 0000664 0001750 0001750 00000002232 12345620366 013650 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
x:=Z!(F!(1/6));
y:=Z!(F!(1/2));
z:=Z!(F!(3/2));
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/checkp7r3c5 0000664 0001750 0001750 00000001673 12345574731 014642 0 ustar vlee vlee //Check the groups of order p^7 with rank 3, class 5, exponent p,
//with descendants of order p^8
//7+gcd(p-1,3) terminal
//13 capable
//Calculate the number of descendants of order p^8
//7*p+36+2*GCD(p-1,3) descendants
readi p,"Input prime p>5";
nums1:=[3,3,p+2,6,6,3,3,2*p+4,2*p,2+GCD(p-1,3),(p+3)/2,(p+3)/2,p+1+GCD(p-1,3)];
Sort(~nums1);
nums2:=[];
count:=0; total:=0; nums:=0;
for n in [4..6] do
S:=SearchPGroups(p,n:Rank:=3,Class:=4);
for P in S do
if Exponent(P) ne p then continue; end if;
if NuclearRank(P)+n lt 7 then continue; end if;
D:=Descendants(P:StepSizes:=[7-n],Exponent:=p);
nums:=nums+#D;
for Q in D do
if NuclearRank(Q) eq 0 then continue; end if;
count:=count+1;
E:=Descendants(Q:StepSizes:=[1],Exponent:=p);
total:=total+#E;
Append(~nums2,#E);
end for;
end for;
end for;
Sort(~nums2);
p,count eq 13, nums eq 20+GCD(p-1,3);
p,total,7*p+36+2*GCD(p-1,3);
nums1 eq nums2;
p8exponentp/3gen/dec7.143 0000664 0001750 0001750 00000001244 12345642404 013734 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(-5/12)); bch2:=Z!(F!(-1/6)); bch3:=Z!(F!(-3/2));
xz:=[[x,1]:x in [0..p-1]] cat [[0,0],[1,0]];
if p mod 3 eq 1 then xz:=xz cat [[w,0],[w^2,0]]; end if;
for params in xz do
x:=params[1]; z:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.74 0000664 0001750 0001750 00000002124 12345607260 014556 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xyt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1]] cat [[0,1,z]:z in [0..(p-1) div 2]];
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,(p+9)/2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.105 0000664 0001750 0001750 00000001642 12345622642 013736 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
for x in [0..(p-1) div 2] do
bch:=Z!(F!(-3*x/4+3/4));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
bch:=Z!(F!(1-3/4+3/4));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.70 0000664 0001750 0001750 00000003430 12345607231 014551 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
yt:=[[1,0]] cat [[0,t]:t in [0..p-1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yt:=[[y,0]:y in [0..p-1]] cat [[0,1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,2*p+3;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.76 0000664 0001750 0001750 00000002201 12345607274 014561 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xyt:=[[1,-1,0]];
for y in [0..p-1] do
xyt:= xyt cat [[0,y,t]: t in [0..(p-1) div 2]];
end for;
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,1+p*(p+1)/2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/checkp6r3c3 0000664 0001750 0001750 00000001310 12345574224 014620 0 ustar vlee vlee //Check that there are only 4 groups of order p^6 with rank 3, class 3, exponent p,
//with immediate descendants of order p^8, and check that the numbers of their
//descendants agree with my theorem.
readi p,"Input prime p>3";
PS:=[];
S:=SearchPGroups(p,6:Rank:=3,Class:=3);
count:=0;
for P in S do
if Exponent(P) ne p then continue; end if;
if NuclearRank(P) lt 2 then continue; end if;
Append(~PS,P);
end for;
print #PS,4;
nums:=[9,11,p+8+(GCD(p-1,3)-1)/2,p+4-(GCD(p-1,3)-1)/2];
Sort(~nums);
grandtotal:=2*p+32;
total:=0;
nums2:=[];
for P in PS do
D:=Descendants(P:StepSizes:=[2],Exponent:=p);
total:=total+#D;
Append(~nums2,#D);
end for;
Sort(~nums2);
total eq grandtotal;
nums eq nums2;
p8exponentp/3gen/testdec7.138 0000664 0001750 0001750 00000002234 12345607134 014641 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(7/6)); bch2:=Z!(F!(1/4));
xzt:=[[0,0,t]:t in [0..p-1]] cat [[1,0,t]:t in [0..p-1]] cat [[0,w,1],[0,w^2,1],[1,w,1],[1,w^2,1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,2*p+4;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.119 0000664 0001750 0001750 00000001624 12345607014 014637 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,1;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.127 0000664 0001750 0001750 00000001167 12345636260 013745 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(5/2)); bch2:=Z!(F!(-15/4)); bch3:=Z!(F!(1/6));
half:=(p+1) div 2;
zt:=[[0,0],[0,1],[1,0]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.66 0000664 0001750 0001750 00000003741 12345642762 013673 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yzt:=[[0,0,1],[0,0,0],[1,0,0]];
if p mod 3 eq 1 then yzt:=yzt cat [[w,0,0],[w^2,0,0]]; end if;
yzt:=yzt cat [[y,1,0]:y in [0..(p-1) div 2]];
yzt:=yzt cat [[y,w,0]:y in [0..(p-1) div 2]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,1]];
for z in [0..p-1] do
yzt:=yzt cat [[y,z,0]:y in [0..(p-1) div 2]];
end for;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,1]];
for z in [0..p-1] do
yzt:=yzt cat [[y,z,0]:y in [0..(p-1) div 2]];
end for;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,1],[0,0,0],[1,0,0],[w,0,0]];
yzt:=yzt cat [[y,1,0]:y in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,1],[1,-2,0]] cat [[0,z,0]:z in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.106 0000664 0001750 0001750 00000002517 12345606603 014640 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
wby2:=Z!(F!(w/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
for x in [0..(p-1) div 2] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,(p+3)/2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.102 0000664 0001750 0001750 00000001670 12345622132 013726 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xz:=[[0,1],[0,0],[1,0],[w,0]];
bch:=Z!(F!(-5/12));
for params in xz do
x:=bch+params[1]; z:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
x:=(p+1) div 2;
for t in [0,1] do
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
x:=Z!(F!(1/12));
for t in [0,1] do
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.89 0000664 0001750 0001750 00000001657 12345651341 013675 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
rtuvxy:=[[0,0,0,0,0,1],[0,1,0,0,0,1],[1,0,0,0,0,1],[1,1,0,0,0,1],
[0,0,0,0,1,0],[0,1,0,0,1,0],[0,0,1,0,1,0]] cat [[r,0,1,1,0,0]: r in [0..p-1]];
rtuvxy:=rtuvxy cat [[0,0,1,0,0,0],[1,0,1,0,0,0],[w,0,1,0,0,0]];
rtuvxy:=rtuvxy cat [[0,t,0,1,0,0]: t in [0..p-1]] cat [[1,(p+1) div 2,0,1,0,0]];
rtuvxy:=rtuvxy cat [[0,0,0,0,0,0],[0,1,0,0,0,0],[1,0,0,0,0,0]];
for params in rtuvxy do
r:=params[1]; t:=params[2]; u:=params[3]; v:=params[4]; x:=params[5]; y:=params[6];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.116 0000664 0001750 0001750 00000001550 12345634742 013742 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
ztu:=[[0,0,1],[1,0,0],[0,0,0],[0,1,0]];
for params in ztu do
z:=params[1]; t:=params[2]; u:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
tu:=[[0,0],[1,0],[0,1],[0,w]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(7/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.68 0000664 0001750 0001750 00000002260 12345643304 013661 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yzt:=[[0,0,0,t]:t in [0..p-1]] cat [[1,0,0,-1],[0,0,1,0]];
yzt:=yzt cat [[0,1,0,t]:t in [0..p-1]];
yzt:=yzt cat [[0,w,0,t]:t in [0..p-1]];
for params in yzt do
x:=params[1]; y:=params[2]; z:=params[3]; t:=params[4];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
yzt:=[[0,z,0]:z in [0..p-1]] cat [[0,z,1]:z in [0..p-1]];
for t in [0..p-1] do
yzt:=yzt cat [[1,z,t]:z in [0..p-1]];
end for;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.72 0000664 0001750 0001750 00000002440 12345644217 013660 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xzt:=[[1,0,0]] cat [[0,z,0]:z in [0..p-1]] cat [[0,z,1]:z in [0..p-1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,0],[0,0,1],[0,0,w],[0,1,0],[0,1,1],[0,1,w],[1,0,0],[1,0,1],[1,0,w]];
if p mod 3 eq 1 then yzt:=yzt cat [[w,0,0],[w,0,1],[w,0,w],[w^2,0,0],[w^2,0,1],[w^2,0,w]]; end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
zt:=[[z,0]:z in [0..p-1]] cat [[z,1]:z in [0..p-1]] cat [[z,w]:z in [0..p-1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.133 0000664 0001750 0001750 00000002123 12345607111 014624 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(1/6)); bch2:=Z!(F!(-3/2));
xzt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1],[0,1,0],[1,1,0]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,6;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.117 0000664 0001750 0001750 00000002005 12345635120 013726 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
xyzu:=[[0,0,z,0]:z in [0..p-1]] cat [[0,y,0,1]:y in [0..p-1]] cat [[1,0,-1,0],[0,1,-half,0]];
for params in xyzu do
x:=params[1]; y:=params[2]; z:=params[3]; u:=params[4]; bch:=Z!(F!(-3/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
tu:=[[0,0],[1,0],[w,0],[0,1],[0,w]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(1/6)); half:=Z!(F!(1/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.123 0000664 0001750 0001750 00000006315 12345607024 014635 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
for x in [2..p-2] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
//x=-1
yztv:=[[w,0,0,0],[w^2,0,0,0],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0]];
yztv:=yztv cat [[0,z,1,1]:z in [0..p-1]] cat [[0,0,0,1],[0,1,0,1],[0,w,0,1]];
for params in yztv do
y:=params[1]; z:=params[2]; t:=params[3]; v:=params[4]; bch:=Z!(F!(5/12));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
//x=1
half:=(p+1) div 2; bch:=Z!(F!(1/6));
for v in [0,1,w] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
//x=0
half:=(p+1) div 2; bch:=Z!(F!(17/12));
for t in [0,1] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
D:=[];
for x in [0..p-1] do
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=D cat Descendants(P:StepSizes:=[1],Exponent:=p);
end for;
#D,2*p+13;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.118 0000664 0001750 0001750 00000003207 12345607005 014635 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
zu:=[[0,1]] cat [[z,0]:z in [0..p-1]];
for params in zu do
z:=params[1]; u:=params[2]; bch:=Z!(F!(-3/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
tu:=[[0,u]:u in [0..p-1]] cat [[w,0],[w^2,0]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(7/6)); half:=Z!(F!(1/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,2*p+3;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.84 0000664 0001750 0001750 00000002060 12345607355 014563 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yt:=[[0,0],[0,1],[1,0],[1,1]];
if p mod 3 eq 1 then yt:=yt cat [[w,1],[w^2,1]]; end if;
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,3+GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.110 0000664 0001750 0001750 00000002741 12345606671 014637 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
lambdas:=[0];
for i in [2..p-2] do
if i le Z!(F!(1/i)) then Append(~lambdas,i); end if;
end for;
yztlambda:=[[0,0,0,1],[1,0,0,1],[w,0,0,1],[0,0,1,1],[0,0,0,-1],[0,0,1,-1]];
for i in lambdas do
yztlambda:=yztlambda cat [[0,0,0,i],[0,1,0,i]];
end for;
for params in yztlambda do
y:=params[1]; z:=params[2]; t:=params[3]; lambda:=params[4];
bch1:=-Z!(F!(lambda-(6*z+7)/12)); bch:=2*lambda-2;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+5;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.112 0000664 0001750 0001750 00000002025 12345630220 013717 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
lambdas:=[1];
for i in [2..(p-1) div 2] do
if i le Z!(F!(w/i)) and i le Z!(F!(-w/i)) then Append(~lambdas,i); end if;
end for;
yzlambda:=[[y,1,0]:y in [0..(p-1) div 2]] cat [[0,0,0],[1,0,0]];
if p mod 4 eq 1 then yzlambda:=yzlambda cat [[w,0,0]]; end if;
for i in lambdas do
yzlambda:=yzlambda cat [[0,0,i],[0,1,i]];
end for;
for params in yzlambda do
y:=params[1]; z:=params[2]; lambda:=params[3];
bch1:=Z!(F!(-lambda+z/2+w/6-1/3)); bch2:=lambda+z; bch3:=Z!(F!(w*(3*lambda-3)/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.108a 0000664 0001750 0001750 00000002577 12345626772 014122 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yztu:=[[0,0,0,1],[0,0,0,w],[1,0,0,1],[1,0,0,w],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0]];
for params in yztu do
y:=params[1]; z:=params[2]; t:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
xztu:=[[0,0,0,1],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0],[1,1,0,0]];
for params in xztu do
x:=params[1]; z:=params[2]; t:=params[3]; u:=params[4]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
ztu:=[[0,0,1],[0,0,w],[0,0,0],[0,1,0]] cat [[1,t,0]:t in [0..p-1]];
for params in ztu do
z:=params[1]; t:=params[2]; u:=params[3]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.114a 0000664 0001750 0001750 00000002177 12345606744 015010 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
tu:=[[0,u]:u in [0..p-1]] cat [[1,-2]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+1;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.83 0000664 0001750 0001750 00000001467 12345647601 013672 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.142 0000664 0001750 0001750 00000002473 12345607153 014642 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(-5/12)); bch2:=Z!(F!(-1/6));
xyt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1],[w,0,0],[w,0,1],[0,1,0]];
if p mod 3 eq 1 then xyt:=xyt cat [[0,w,0],[0,w^2,0]]; end if;
xyt:=xyt cat [[1,y,0]:y in [1..(p-1) div 2]] cat [[w,y,0]:y in [1..(p-1) div 2]];
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
D:=[];
for x in [0,1,w] do
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=D cat Descendants(P:StepSizes:=[1],Exponent:=p);
end for;
#D,p+5+GCD(p-1,3);
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec6.12 0000664 0001750 0001750 00000006554 12345606441 014560 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
w:=1;
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if p mod 3 eq 1 then
vals:={};
for i in [1..p-1] do
if i^3 mod p eq 1 then continue; end if;
Include(~vals,F!((1+i^3)/(1-i^3)));
end for;
n:=0;
for i in [2..p-2] do
if F!i notin vals then n:=i; break; end if;
end for;
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if p mod 3 eq 2 then
vals:={};
for i in [1..p-1] do
a:=F!(3*i^2+w);
if a eq 0 then continue; end if;
Include(~vals,F!(i^3+3*i*w)/a);
end for;
n:=0;
for i in [1..p-1] do
if F!i notin vals then n:=i; break; end if;
end for;
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
#ayes,#Seqset(ayes),9;
bees:={};
G:=Group;
P:=pQuotient(G,p,3);
D:=Descendants(P:StepSizes:=[2],Exponent:=p);
for P in D do
S:=StandardPresentation(P:StartClass:=4);
a,b:=SmallGroupEncoding(S);
Include(~bees,a);
end for;
#D eq 9;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.107a 0000664 0001750 0001750 00000023351 12345606622 015002 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
sq:={F!(i^2):i in [1..p-1]};
lambda:=0;
for i in [1..p-1] do
a:=F!(i^2-w);
if F!(-w) in sq and a notin sq then lambda:=i; break; end if;
if F!(-w) notin sq and a in sq then lambda:=i; break; end if;
end for;
alphas1:=[0];
for a in [1..(p-1) div 2] do
if Z!(F!(w/a)) lt a then continue; end if;
if Z!(F!(-w/a)) lt a then continue; end if;
Append(~alphas1,a);
end for;
alphas2:=[0];
for a in [1..p-1] do
if Z!(F!(w/a)) lt a then continue; end if;
b:=F!(a*lambda+w);
if b eq 0 then continue; end if;
c:=Z!(F!((-w*a-w*lambda)/b));
if c lt a then continue; end if;
b:=F!(a+lambda);
if b eq 0 then continue; end if;
c:=Z!(F!((-a*lambda-w)/b));
if c lt a then continue; end if;
Append(~alphas2,-a);
end for;
//#alphas1+#alphas2, (p+3)/2;
//Case 1
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
//Case 2 or Case 3
for v in alphas1 do
for t in [0,1] do
bch1:=Z!(F!(w*v/12-w+t+v/6)); bch2:=Z!(F!(2*w^2/3-w*v/2-11*w/12));
bch3:=v; bch4:=Z!(F!(3*w*v/2-3*w/2+t));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
end for;
//Case 3 or Case 2
for v in alphas2 do
for t in [0,1] do
bch1:=Z!(F!(w*v/12-w-lambda/6+t+v/6)); bch2:=Z!(F!(2*w^2/3-2*w*lambda*b/3-w*lambda/2-w*v/2-11*w/12));
bch3:=Z!(F!(-lambda^2/2+lambda*v-3*lambda/2+v)); bch4:=Z!(F!(-w*lambda/2+3*w*v/2-3*w/2+lambda*v/2+t));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
end for;
//Case 4
for x in [1..(p-1) div 2] do
//get orbits of y
orb:=[0];
for i in [1..p-1] do
b:=F!(2*x*i+w);
if b eq 0 then Append(~orb,i); continue; end if;
a:=Z!(F!((-w*i-2*x*w)/b));
if i le a then Append(~orb,i); end if;
end for;
for y in orb do
bch1:=Z!(F!(w*x/2+w*y-x/6-y/6)); bch2:=Z!(F!(-w^2/2+2*w*x*y/3+w*x/2+w*y/2-11*w/12));
bch3:=Z!(F!(-x^2/2-x*y-3*x/2-y)); bch4:=Z!(F!(-x*y/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if F!(w*x^2+2*w*y^2-x^2*y^2+4*w*x*y) eq 0 then
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
end for;
end for;
//Case 5
sq:={F!(i^2):i in [0..p-1]};
xys:=[];
for x in [0..p-1] do
for y in [0..p-1] do
if F!(x^2-y) in sq then continue; end if;
if y eq w then continue; end if;
if y eq p-w and x eq 0 then continue; end if;
new:=true;
for r in [0..p-1] do
b:=F!(r^2+2*r*x+y);
x1:=Z!(F!((r^2*x+r*(w+y)+w*x)/b));
y1:=Z!(F!((r^2*y+2*r*w*x+w^2)/b));
if [x1,y1] lt [x,y] then new:=false; break; end if;
end for;
if new then Append(~xys,[x,y]); end if;
end for;
end for;
//Get presentations for descendants
for params in xys do
x:=params[1]; y:=params[2];
zeds:=[];
for z in [0..p-1] do
a:=Z!(F!(-(w+y)*z-2*w*x));
b:=Z!(F!(2*x*z+w+y));
if b eq 0 then continue; end if;
if z le Z!(F!(a/b)) then Append(~zeds,z); end if;
end for;
//n:=(p+1)/2;
//if F!((w+y)^2-4*w*x^2) in sq then n:=n+1; end if;
//1+#zeds eq n;
bch1:=Z!(F!(-w+13*y/12+1/6)); bch2:=Z!(F!(-2*w*x/3-w/2));
bch3:=x+1; bch4:=Z!(F!(x/2+3*y/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if F!(2*w-y-x^2) eq 0 then
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
for z in zeds do
bch1:=Z!(F!(w*x/2+w*z-x*y/2-x/6-13*y*z/12-y-z/6));
bch2:=Z!(F!(-w^2/2+2*w*x*z/3+w*x/2+7*w*y/6+w*z/2-11*w/12));
bch3:=Z!(F!(-x^2/2-x*z-3*x/2-z));
bch4:=Z!(F!(-x*y/2-x*z/2-3*y*z/2-3*y/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if F!(w*x^2+2*w*z^2-y*z^2-x^2*z^2+w*y-2*y^2+4*w*x*z-4*x*y*z) eq 0 then
if F!(-3*w*x-2*w*z+x^2*z+3*x*y+y*z) eq 0 and F!(w+x^2-2*y) eq 0 then
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
else;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
end if;
end for;
end for;
#ayes,#Seqset(ayes),(p^2+3*p+4)/2;
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
PS:=[];
//first group
G:=Group;
P:=pQuotient(G,p,4);
if Order(P) ne p^7 then print "Wrong order"; readi zzz; end if;
Append(~PS,P);
//next two groups
G:=Group;
P:=pQuotient(G,p,4);
if Order(P) ne p^7 then print "Wrong order"; readi zzz; end if;
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
if Order(P) ne p^7 then print "Wrong order"; readi zzz; end if;
Append(~PS,P);
//Case 4
for x in [1..(p-1) div 2] do
G:=Group;
P:=pQuotient(G,p,4);
if Order(P) ne p^7 then print "Wrong order"; readi zzz; end if;
Append(~PS,P);
end for;
//Case 5
for params in xys do
x:=params[1]; y:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
if Order(P) ne p^7 then print "Wrong order"; readi zzz; end if;
Append(~PS,P);
end for;
cees:={};
for P in PS do
S:=StandardPresentation(P:StartClass:=4);
a,b:=SmallGroupEncoding(S);
Include(~cees,a);
end for;
#PS,#cees,p+1;
D:=[];
for P in PS do
D:=D cat Descendants(P:StepSizes:=[1],Exponent:=p);
end for;
#D,(p^2+3*p+4)/2;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.113 0000664 0001750 0001750 00000003014 12345606721 014630 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,3;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.113a 0000664 0001750 0001750 00000001305 12345630712 014067 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xtu:=[[1,0,0],[1,1,0],[0,0,0],[0,0,1],[0,1,0],[0,1,1]];
if p mod 3 eq 1 then
xtu:=xtu cat [[0,0,w],[0,0,w^2],[0,1,w],[0,1,w^2]];
end if;
for params in xtu do
x:=params[1]; t:=params[2]; u:=params[3]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec6.13 0000664 0001750 0001750 00000006307 12345617003 014551 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
w:=1;
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
#ayes,#Seqset(ayes),11;
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
bees:={};
G:=Group;
P:=pQuotient(G,p,3);
D:=Descendants(P:StepSizes:=[2],Exponent:=p);
for P in D do
S:=StandardPresentation(P:StartClass:=4);
a,b:=SmallGroupEncoding(S);
Include(~bees,a);
end for;
#D eq #ayes;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.97 0000664 0001750 0001750 00000003270 12345607431 014566 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
uv:=[[0,0],[0,1]];
for params in uv do
u:=params[1]; v:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
/*
//This is odd!
//It has different parameters from the group corresponding to [0,0], but is isomorphisc to it.
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
*/
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.109a 0000664 0001750 0001750 00000004457 12345606657 015022 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yztu:=[[0,0,0,1],[0,0,0,w],[1,0,0,1],[1,0,0,w],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0]];
for params in yztu do
y:=params[1]; z:=params[2]; t:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
xztu:=[[0,0,0,1],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0],[1,1,0,0]];
if p mod 3 eq 1 then xztu:=xztu cat [[w,1,0,0],[w^2,1,0,0]]; end if;
for params in xztu do
x:=params[1]; z:=params[2]; t:=params[3]; u:=params[4]; bch:=Z!(F!(7/6));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
ztu:=[[0,0,1],[0,0,w],[0,0,0],[0,1,0]] cat [[1,t,0]:t in [0..p-1]];
for params in ztu do
z:=params[1]; t:=params[2]; u:=params[3]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+19+GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.114a 0000664 0001750 0001750 00000001126 12345634234 014074 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
tu:=[[0,u]:u in [0..p-1]] cat [[1,-2]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.130 0000664 0001750 0001750 00000001301 12345637302 013723 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(3/2)); bch2:=Z!(F!(-5/4)); bch3:=Z!(F!(7/6));
half:=(p+1) div 2; quarter:=Z!(F!(1/4));
zt:=[[0,t]:t in [0..p-1]] cat [[1,1],[w,1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.118 0000664 0001750 0001750 00000001713 12345635323 013741 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
zu:=[[0,1]] cat [[z,0]:z in [0..p-1]];
for params in zu do
z:=params[1]; u:=params[2]; bch:=Z!(F!(-3/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
tu:=[[0,u]:u in [0..p-1]] cat [[w,0],[w^2,0]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(7/6)); half:=Z!(F!(1/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.115a 0000664 0001750 0001750 00000001626 12345634604 014103 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xyzu:=[[0,0,0,1],[0,1,0,1],[0,w,0,1],[0,0,1,0],[0,0,0,0],[0,1,0,0],[1,0,0,0],[1,1,0,0]];
for params in xyzu do
x:=params[1]; y:=params[2]; z:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
tu:=[[0,0],[1,0],[0,1],[0,w]];
for params in tu do
t:=params[1]; u:=params[2]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.111 0000664 0001750 0001750 00000002014 12345630040 013714 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
lambdas:=[1];
for i in [2..(p-1) div 2] do
if i le Z!(F!(1/i)) and i le Z!(F!(-1/i)) then Append(~lambdas,i); end if;
end for;
yzlambda:=[[y,1,0]:y in [0..(p-1) div 2]] cat [[0,0,0],[1,0,0]];
if p mod 4 eq 1 then yzlambda:=yzlambda cat [[w,0,0]]; end if;
for i in lambdas do
yzlambda:=yzlambda cat [[0,0,i],[0,1,i]];
end for;
for params in yzlambda do
y:=params[1]; z:=params[2]; lambda:=params[3];
bch1:=Z!(F!(-lambda+z/2-1/6)); bch2:=lambda+z; bch3:=Z!(F!((3*lambda-3)/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.103 0000664 0001750 0001750 00000002715 12345606556 014644 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
zt:=[[0,0],[0,1],[1,0],[1,1]];
for params in zt do
z:=1+params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[0,0,0],[1,0,0],[w,0,0]] cat [[y,1,0]:y in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+8;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.142 0000664 0001750 0001750 00000001400 12345642262 013727 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(-5/12)); bch2:=Z!(F!(-1/6));
xyt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1],[w,0,0],[w,0,1],[0,1,0]];
if p mod 3 eq 1 then xyt:=xyt cat [[0,w,0],[0,w^2,0]]; end if;
xyt:=xyt cat [[1,y,0]:y in [1..(p-1) div 2]] cat [[w,y,0]:y in [1..(p-1) div 2]];
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.71 0000664 0001750 0001750 00000002116 12345644043 013654 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
zt:=[[0,0],[0,1],[1,0],[1,1],[1,w]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.88 0000664 0001750 0001750 00000003552 12345607412 014570 0 ustar vlee vlee readi p,"Input prime p>3, where p=2 mod 3";
F:=GF(p);
if p mod 3 ne 2 then print "p = 2 mod 3 only!"; readi zzz; end if;
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
vals:={};
for a in F do
for b in F do
c:=b*(3*a^2+w*b^2);
if c eq 0 then continue; end if;
Include(~vals,a*(a^2+3*w*b^2)*c^-1);
end for;
end for;
k:=0;
for a in F do
if a notin vals then k:=Z!a; break; end if;
end for;
if k eq 0 then print "Arghh,k"; readi zzz; end if;
x10:=0;
for i in [1..p-1] do
if F!(w*i^2+3/4) eq 0 then x10:=i; break; end if;
end for;
ayes:=[];
zt:=[[0,0],[0,1]];
for t in [0..p-1] do
a:=F!(-1/2+3*k*x10+(1-9*k^2/w)*x10*t/4);
if a eq 0 then continue; end if;
b:=Z!(F!(4*x10*w-(1/2+3*k*x10)*t)*a^-1);
if b lt t then continue; end if;
a:=F!(-1/2-3*k*x10-(1-9*k^2/w)*x10*t/4);
if a eq 0 then continue; end if;
b:=Z!(F!(-4*x10*w-(1/2-3*k*x10)*t)*a^-1);
if b lt t then continue; end if;
Append(~zt,[1,t]);
end for;
bch:=Z!(F!((k^2/w+k)/2));
for params in zt do
z:=bch+params[1]; t:=k+w+params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,(p+4)/3;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.72 0000664 0001750 0001750 00000004144 12345607244 014562 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xzt:=[[1,0,0]] cat [[0,z,0]:z in [0..p-1]] cat [[0,z,1]:z in [0..p-1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,0],[0,0,1],[0,0,w],[0,1,0],[0,1,1],[0,1,w],[1,0,0],[1,0,1],[1,0,w]];
if p mod 3 eq 1 then yzt:=yzt cat [[w,0,0],[w,0,1],[w,0,w],[w^2,0,0],[w^2,0,1],[w^2,0,w]]; end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
zt:=[[z,0]:z in [0..p-1]] cat [[z,1]:z in [0..p-1]] cat [[z,w]:z in [0..p-1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,5*p+7+3*GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.109 0000664 0001750 0001750 00000004377 12345606651 014654 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
xzt:=[[0,0,t]:t in [0..p-1]] cat [[0,1,t]:t in [0..p-1]] cat [[1,0,1]];
for params in xzt do
z:=params[2]; t:=params[3]; x:=(params[1]+half*z+half*t-half*3) mod p;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,z,1]:z in [0..p-1]];
yzt:=yzt cat [[0,z,0]:z in [0..p-1]];
yzt:=yzt cat [[1,z,0]:z in [0..p-1]];
if p mod 3 eq 1 then
yzt:=yzt cat [[w,z,0]:z in [0..p-1]];
yzt:=yzt cat [[w^2,z,0]:z in [0..p-1]];
end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
zt:=[];
for z in [0..p-1] do
zt:=zt cat [[z,t]:t in [0..p-1]];
end for;
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p^2+4*p+p*GCD(p-1,3)+1;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.124 0000664 0001750 0001750 00000000677 12345636035 013747 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.78 0000664 0001750 0001750 00000001375 12345646661 013701 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
mhalf:=Z!(F!(-1/2));
print "p,w equal",p,w;
PS:=[];
for z in [0,1] do
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yt:=[[0,1],[mhalf,1]] cat [[y,0]:y in [0..p-1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.80 0000664 0001750 0001750 00000001062 12345647146 013662 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,1,0],[1,w,0]] cat [[1,z,1]:z in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.107a 0000664 0001750 0001750 00000015133 12345624405 014100 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
sq:={F!(i^2):i in [1..p-1]};
lambda:=0;
for i in [1..p-1] do
a:=F!(i^2-w);
if F!(-w) in sq and a notin sq then lambda:=i; break; end if;
if F!(-w) notin sq and a in sq then lambda:=i; break; end if;
end for;
alphas1:=[0];
for a in [1..(p-1) div 2] do
if Z!(F!(w/a)) lt a then continue; end if;
if Z!(F!(-w/a)) lt a then continue; end if;
Append(~alphas1,a);
end for;
alphas2:=[0];
for a in [1..p-1] do
if Z!(F!(w/a)) lt a then continue; end if;
b:=F!(a*lambda+w);
if b eq 0 then continue; end if;
c:=Z!(F!((-w*a-w*lambda)/b));
if c lt a then continue; end if;
b:=F!(a+lambda);
if b eq 0 then continue; end if;
c:=Z!(F!((-a*lambda-w)/b));
if c lt a then continue; end if;
Append(~alphas2,-a);
end for;
//#alphas1+#alphas2, (p+3)/2;
//Case 1
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
//Case 2 or Case 3
for v in alphas1 do
for t in [0,1] do
bch1:=Z!(F!(w*v/12-w+t+v/6)); bch2:=Z!(F!(2*w^2/3-w*v/2-11*w/12));
bch3:=v; bch4:=Z!(F!(3*w*v/2-3*w/2+t));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
end for;
//Case 3 or Case 2
for v in alphas2 do
for t in [0,1] do
bch1:=Z!(F!(w*v/12-w-lambda/6+t+v/6)); bch2:=Z!(F!(2*w^2/3-2*w*lambda*b/3-w*lambda/2-w*v/2-11*w/12));
bch3:=Z!(F!(-lambda^2/2+lambda*v-3*lambda/2+v)); bch4:=Z!(F!(-w*lambda/2+3*w*v/2-3*w/2+lambda*v/2+t));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
end for;
//Case 4
for x in [1..(p-1) div 2] do
//get orbits of y
orb:=[0];
for i in [1..p-1] do
b:=F!(2*x*i+w);
if b eq 0 then Append(~orb,i); continue; end if;
a:=Z!(F!((-w*i-2*x*w)/b));
if i le a then Append(~orb,i); end if;
end for;
for y in orb do
bch1:=Z!(F!(w*x/2+w*y-x/6-y/6)); bch2:=Z!(F!(-w^2/2+2*w*x*y/3+w*x/2+w*y/2-11*w/12));
bch3:=Z!(F!(-x^2/2-x*y-3*x/2-y)); bch4:=Z!(F!(-x*y/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
if F!(w*x^2+2*w*y^2-x^2*y^2+4*w*x*y) eq 0 then
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end if;
end for;
end for;
//Case 5
sq:={F!(i^2):i in [0..p-1]};
xys:=[];
for x in [0..p-1] do
for y in [0..p-1] do
if F!(x^2-y) in sq then continue; end if;
if y eq w then continue; end if;
if y eq p-w and x eq 0 then continue; end if;
new:=true;
for r in [0..p-1] do
b:=F!(r^2+2*r*x+y);
x1:=Z!(F!((r^2*x+r*(w+y)+w*x)/b));
y1:=Z!(F!((r^2*y+2*r*w*x+w^2)/b));
if [x1,y1] lt [x,y] then new:=false; break; end if;
end for;
if new then Append(~xys,[x,y]); end if;
end for;
end for;
//Get presentations for descendants
for params in xys do
x:=params[1]; y:=params[2];
zeds:=[];
for z in [0..p-1] do
a:=Z!(F!(-(w+y)*z-2*w*x));
b:=Z!(F!(2*x*z+w+y));
if b eq 0 then continue; end if;
if z le Z!(F!(a/b)) then Append(~zeds,z); end if;
end for;
//n:=(p+1)/2;
//if F!((w+y)^2-4*w*x^2) in sq then n:=n+1; end if;
//1+#zeds eq n;
bch1:=Z!(F!(-w+13*y/12+1/6)); bch2:=Z!(F!(-2*w*x/3-w/2));
bch3:=x+1; bch4:=Z!(F!(x/2+3*y/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
if F!(2*w-y-x^2) eq 0 then
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end if;
for z in zeds do
bch1:=Z!(F!(w*x/2+w*z-x*y/2-x/6-13*y*z/12-y-z/6));
bch2:=Z!(F!(-w^2/2+2*w*x*z/3+w*x/2+7*w*y/6+w*z/2-11*w/12));
bch3:=Z!(F!(-x^2/2-x*z-3*x/2-z));
bch4:=Z!(F!(-x*y/2-x*z/2-3*y*z/2-3*y/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
if F!(w*x^2+2*w*z^2-y*z^2-x^2*z^2+w*y-2*y^2+4*w*x*z-4*x*y*z) eq 0 then
if F!(-3*w*x-2*w*z+x^2*z+3*x*y+y*z) eq 0 and F!(w+x^2-2*y) eq 0 then
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
else;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end if;
end if;
end for;
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.133 0000664 0001750 0001750 00000001150 12345637540 013734 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
bch:=Z!(F!(1/6)); bch2:=Z!(F!(-3/2));
xzt:=[[0,0,0],[0,0,1],[1,0,0],[1,0,1],[0,1,0],[1,1,0]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,6);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.89 0000664 0001750 0001750 00000002733 12345607417 014576 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
rtuvxy:=[[0,0,0,0,0,1],[0,1,0,0,0,1],[1,0,0,0,0,1],[1,1,0,0,0,1],
[0,0,0,0,1,0],[0,1,0,0,1,0],[0,0,1,0,1,0]] cat [[r,0,1,1,0,0]: r in [0..p-1]];
rtuvxy:=rtuvxy cat [[0,0,1,0,0,0],[1,0,1,0,0,0],[w,0,1,0,0,0]];
rtuvxy:=rtuvxy cat [[0,t,0,1,0,0]: t in [0..p-1]] cat [[1,(p+1) div 2,0,1,0,0]];
rtuvxy:=rtuvxy cat [[0,0,0,0,0,0],[0,1,0,0,0,0],[1,0,0,0,0,0]];
for params in rtuvxy do
r:=params[1]; t:=params[2]; u:=params[3]; v:=params[4]; x:=params[5]; y:=params[6];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,2*p+14;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/checkp6r3c5 0000664 0001750 0001750 00000000535 12345576334 014636 0 ustar vlee vlee //Check that there are NO groups of order p^6 with rank 3, class 5, exponent p,
//with descendants of order p^8
readi p,"Input prime p>5";
PS:=[];
S:=SearchPGroups(p,6:Rank:=3,Class:=5);
count:=0;
for P in S do
if Exponent(P) ne p then continue; end if;
if NuclearRank(P) lt 2 then continue; end if;
Append(~PS,P);
end for;
print #PS,0;
p8exponentp/3gen/testdec7.75 0000664 0001750 0001750 00000002175 12345607266 014573 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xyt:=[[1,-1,0]];
for y in [0..p-1] do
xyt:= xyt cat [[0,y,t]: t in [0..(p-1) div 2]];
end for;
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,1+p*(p+1)/2;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.87 0000664 0001750 0001750 00000003234 12345607400 014561 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
zt:=[[0,0],[0,1]];
if p mod 3 eq 1 then zt:=zt cat [[1,t]: t in [0..(p-1) div 2]]; end if;
if p mod 3 eq 2 then
x10:=0;
for i in [1..p-1] do
if F!(w*i^2+3/4) eq 0 then x10:=i; break; end if;
end for;
for z in [0..(p-1) div 2] do
a:=F!(-1/2+x10*z/4);
if a eq 0 then continue; end if;
b:=Z!(F!(4*x10*w-z/2)*a^-1);
if b lt z then continue; end if;
if p-b lt z then continue; end if;
a:=F!(-1/2-x10*z/4);
if a eq 0 then continue; end if;
b:=Z!(F!(-4*x10*w-z/2)*a^-1);
if b lt z then continue; end if;
if p-b lt z then continue; end if;
Append(~zt,[1,z]);
end for;
end if;
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
n:=(p+5)/2;
if p mod 3 eq 2 then n:=(p+13)/6; end if;
#D,((p+1)*GCD(p-1,3)+12)/6;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.80 0000664 0001750 0001750 00000002106 12345607324 014554 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,1,0],[1,w,0]] cat [[1,z,1]:z in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+7;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.107 0000664 0001750 0001750 00000003233 12345606616 014641 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
for t in [half,1+half] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yt:=[[0,0],[0,1],[1,0],[1,1]];
for params in yt do
y:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
for t in [half,1+half] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,8;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.127 0000664 0001750 0001750 00000002161 12345607051 014634 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(5/2)); bch2:=Z!(F!(-15/4)); bch3:=Z!(F!(1/6));
half:=(p+1) div 2;
zt:=[[0,0],[0,1],[1,0]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,3;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec6.12 0000664 0001750 0001750 00000003416 12345610121 013640 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
w:=1;
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
if p mod 3 eq 1 then
vals:={};
for i in [1..p-1] do
if i^3 mod p eq 1 then continue; end if;
Include(~vals,F!((1+i^3)/(1-i^3)));
end for;
n:=0;
for i in [2..p-2] do
if F!i notin vals then n:=i; break; end if;
end for;
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end if;
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
if p mod 3 eq 2 then
vals:={};
for i in [1..p-1] do
a:=F!(3*i^2+w);
if a eq 0 then continue; end if;
Include(~vals,F!(i^3+3*i*w)/a);
end for;
n:=0;
for i in [1..p-1] do
if F!i notin vals then n:=i; break; end if;
end for;
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end if;
"Sequence PS has",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.87 0000664 0001750 0001750 00000002036 12345650650 013665 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
zt:=[[0,0],[0,1]];
if p mod 3 eq 1 then zt:=zt cat [[1,t]: t in [0..(p-1) div 2]]; end if;
if p mod 3 eq 2 then
x10:=0;
for i in [1..p-1] do
if F!(w*i^2+3/4) eq 0 then x10:=i; break; end if;
end for;
for z in [0..(p-1) div 2] do
a:=F!(-1/2+x10*z/4);
if a eq 0 then continue; end if;
b:=Z!(F!(4*x10*w-z/2)*a^-1);
if b lt z then continue; end if;
if p-b lt z then continue; end if;
a:=F!(-1/2-x10*z/4);
if a eq 0 then continue; end if;
b:=Z!(F!(-4*x10*w-z/2)*a^-1);
if b lt z then continue; end if;
if p-b lt z then continue; end if;
Append(~zt,[1,z]);
end for;
end if;
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec6.14 0000664 0001750 0001750 00000006503 12345616773 014565 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
w:=1;
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if p mod 3 eq 1 then
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
for k in [1..p-1] do
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes),p+8+(GCD(p-1,3)-1)/2;
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
bees:={};
G:=Group;
P:=pQuotient(G,p,3);
D:=Descendants(P:StepSizes:=[2],Exponent:=p);
for P in D do
S:=StandardPresentation(P:StartClass:=4);
a,b:=SmallGroupEncoding(S);
Include(~bees,a);
end for;
#D;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.110 0000664 0001750 0001750 00000001652 12345627627 013743 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
lambdas:=[0];
for i in [2..p-2] do
if i le Z!(F!(1/i)) then Append(~lambdas,i); end if;
end for;
yztlambda:=[[0,0,0,1],[1,0,0,1],[w,0,0,1],[0,0,1,1],[0,0,0,-1],[0,0,1,-1]];
for i in lambdas do
yztlambda:=yztlambda cat [[0,0,0,i],[0,1,0,i]];
end for;
for params in yztlambda do
y:=params[1]; z:=params[2]; t:=params[3]; lambda:=params[4];
bch1:=-Z!(F!(lambda-(6*z+7)/12)); bch:=2*lambda-2;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.111 0000664 0001750 0001750 00000003111 12345606700 014621 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
lambdas:=[1];
for i in [2..(p-1) div 2] do
if i le Z!(F!(1/i)) and i le Z!(F!(-1/i)) then Append(~lambdas,i); end if;
end for;
yzlambda:=[[y,1,0]:y in [0..(p-1) div 2]] cat [[0,0,0],[1,0,0]];
if p mod 4 eq 1 then yzlambda:=yzlambda cat [[w,0,0]]; end if;
for i in lambdas do
yzlambda:=yzlambda cat [[0,0,i],[0,1,i]];
end for;
for params in yzlambda do
y:=params[1]; z:=params[2]; lambda:=params[3];
bch1:=Z!(F!(-lambda+z/2-1/6)); bch2:=lambda+z; bch3:=Z!(F!((3*lambda-3)/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+1+GCD(p-1,4);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.98 0000664 0001750 0001750 00000002724 12345607437 014600 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xzt:=[[0,1,0],[0,0,0],[0,0,1],[1,0,0],[1,0,1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,0],[0,1,0],[1,0,0],[1,1,0],[0,0,1],[0,1,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,11;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/checkp7r3c3 0000664 0001750 0001750 00000002316 12345574507 014634 0 ustar vlee vlee //Check that there are only 24 groups of order p^7 with rank 3, class 3, exponent p,
//with descendants of order p^8, and check that the numbers of their descendants
//are as given in my theorem.
readi p,"Input prime p>3";
PS:=[];
for n in [4..6] do
S:=SearchPGroups(p,n:Rank:=3,Class:=2);
for P in S do
if Exponent(P) ne p then continue; end if;
if NuclearRank(P)+n lt 7 then continue; end if;
D:=Descendants(P:StepSizes:=[7-n],Exponent:=p);
for Q in D do
if NuclearRank(Q) lt 1 then continue; end if;
Append(~PS,Q);
end for;
end for;
end for;
#PS,25;
total:=0;
decs:=[];
for P in PS do
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
total:=total+#D;
Append(~decs,#D);
end for;
Sort(~decs);
//Numbers of descendants are:
nums:=[p+23,p^2+4*p+11+GCD(p-1,3),8,p^2+5*p+3,p+10,2*p+3,17,5*p+7+3*GCD(p-1,3),
(p+9) div 2,(p+9) div 2,1+p*((p+1) div 2),1+p*((p+1) div 2),9,p+4,p+10+3*GCD(p-1,3),
p+7,(4*p-(p-1)*GCD(p-1,3)+14) div 6,14,3+GCD(p-1,3),10,p+8-GCD(p-1,3),
((p+1)*GCD(p-1,3)+12) div 6,2*p+14,2];
if p mod 3 eq 1 then
Append(~nums,(p+8) div 3);
else;
Append(~nums,(p+4) div 3);
end if;
grandtotal:=3*p^2+27*p+8*GCD(p-1,3)+179;
Sort(~nums);
total eq grandtotal;
decs eq nums;
p8exponentp/3gen/testdec7.83 0000664 0001750 0001750 00000002721 12345607347 014567 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,14;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.79 0000664 0001750 0001750 00000004336 12345647033 013674 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
if p mod 3 eq 2 then
orbreps:=[];
for i in [1..p-1] do
a:=Z!(F!(1/i));
if i le a then Append(~orbreps,i); end if;
end for;
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1]] cat [[1,0,i]:i in orbreps] cat [[1,1,i]:i in orbreps];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
end if;
if p mod 3 eq 1 then
cu:=0;
for i in [2..p-1] do
if i^3 mod p eq 1 then cu:=i; break; end if;
end for;
cu2:=cu^2 mod p;
orbreps:=[];
for i in [1..p-1] do
if i gt (i*cu) mod p then continue; end if;
if i gt (i*cu2) mod p then continue; end if;
a:=Z!(F!(1/i));
if i gt a then continue; end if;
if i gt (a*cu) mod p then continue; end if;
if i gt (a*cu2) mod p then continue; end if;
Append(~orbreps,i);
end for;
orbreps2:=[];
for i in [1..p-1] do
if i gt (i*cu) mod p then continue; end if;
if i gt (i*cu2) mod p then continue; end if;
Append(~orbreps2,i);
end for;
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1]] cat [[1,0,i]:i in orbreps] cat [[1,1,i]:i in orbreps];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,0],[0,0,1],[1,0,0],[0,1,0],[0,1,1],[1,1,0]] cat [[1,0,i]:i in orbreps2] cat [[1,1,i]:i in orbreps2];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
end if;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.114 0000664 0001750 0001750 00000002275 12345634070 013737 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
for lambda in [0..p-1] do
bch:=Z!(F!(13/6-lambda/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
lambda:=Z!(F!(2/3));
bch:=Z!(F!(13/6-lambda/2));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.140 0000664 0001750 0001750 00000002207 12345607144 014633 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(7/6)); bch2:=Z!(F!(1/4));
xt:=[[0,t]:t in [0..p-1]] cat [[1,t]:t in [0..p-1]];
for params in xt do
x:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,2*p;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.85 0000664 0001750 0001750 00000001403 12345650073 013657 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
zt:=[[0,0],[0,1],[1,0],[1,1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
yzt:=[[0,0,1],[1,0,1],[w,0,1],[0,0,0],[0,1,0],[1,0,0]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.76 0000664 0001750 0001750 00000001130 12345646336 013663 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xyt:=[[1,-1,0]];
for y in [0..p-1] do
xyt:= xyt cat [[0,y,t]: t in [0..(p-1) div 2]];
end for;
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.75 0000664 0001750 0001750 00000001126 12345646150 013661 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xyt:=[[1,-1,0]];
for y in [0..p-1] do
xyt:= xyt cat [[0,y,t]: t in [0..(p-1) div 2]];
end for;
for params in xyt do
x:=params[1]; y:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.99 0000664 0001750 0001750 00000001620 12345652227 013670 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xzt:=[[0,1,0],[0,0,0],[0,0,1],[1,0,0]];
for params in xzt do
x:=params[1]-3*((p+1) div 2); z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
yzt:=[[0,0,0],[0,1,0],[1,0,0],[1,1,0],[0,0,1],[0,1,1]];
if p mod 3 eq 1 then yzt:=yzt cat [[1,w,0],[1,w^2,0]]; end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.109a 0000664 0001750 0001750 00000002746 12345627413 014112 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yztu:=[[0,0,0,1],[0,0,0,w],[1,0,0,1],[1,0,0,w],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0]];
for params in yztu do
y:=params[1]; z:=params[2]; t:=params[3]; u:=params[4];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
xztu:=[[0,0,0,1],[0,0,0,0],[0,0,1,0],[0,1,0,0],[0,1,1,0],[1,0,0,0],[1,1,0,0]];
if p mod 3 eq 1 then xztu:=xztu cat [[w,1,0,0],[w^2,1,0,0]]; end if;
for params in xztu do
x:=params[1]; z:=params[2]; t:=params[3]; u:=params[4]; bch:=Z!(F!(7/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
ztu:=[[0,0,1],[0,0,w],[0,0,0],[0,1,0]] cat [[1,t,0]:t in [0..p-1]];
for params in ztu do
z:=params[1]; t:=params[2]; u:=params[3]; bch:=Z!(F!(1/6));
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec6.23 0000664 0001750 0001750 00000002535 12345620642 013654 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
r:=Z!(F!(7/6));
s:=Z!(F!(1/2));
t:=Z!(F!(3/2));
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
if p mod 3 eq 1 then
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end if;
for x in [1,w] do
for z in [0..(p-1) div 2] do
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.66 0000664 0001750 0001750 00000006106 12345607200 014555 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
yzt:=[[0,0,1],[0,0,0],[1,0,0]];
if p mod 3 eq 1 then yzt:=yzt cat [[w,0,0],[w^2,0,0]]; end if;
yzt:=yzt cat [[y,1,0]:y in [0..(p-1) div 2]];
yzt:=yzt cat [[y,w,0]:y in [0..(p-1) div 2]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1]];
for z in [0..p-1] do
yzt:=yzt cat [[y,z,0]:y in [0..(p-1) div 2]];
end for;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1]];
for z in [0..p-1] do
yzt:=yzt cat [[y,z,0]:y in [0..(p-1) div 2]];
end for;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[0,0,0],[1,0,0],[w,0,0]];
yzt:=yzt cat [[y,1,0]:y in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,1],[1,-2,0]] cat [[0,z,0]:z in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p^2+4*p+11+GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.115 0000664 0001750 0001750 00000003506 12345606754 014646 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
for x in [2..p-1] do
whys:=[0];
for y in [1..p-1] do
if y le Z!(F!(x/y)) then Append(~whys,y); end if;
end for;
for y in whys do
bch1:=Z!(F!(x/6-y+5/12)); bch2:=Z!(F!(2*y-2)); bch3:=Z!(F!(3*x*y/2-2*x+y/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if F!(-3*y+2*x-x*y+2*y^2) ne 0 then continue; end if;
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
PS:=[];
bees:={};
for lambda in [2..p-1] do
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
end for;
#bees,(p^2+p)/2-4;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec6.23 0000664 0001750 0001750 00000004702 12345606500 014547 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
r:=Z!(F!(7/6));
s:=Z!(F!(1/2));
t:=Z!(F!(3/2));
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
if p mod 3 eq 1 then
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end if;
for x in [1,w] do
for z in [0..(p-1) div 2] do
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
end for;
#ayes,#Seqset(ayes),p+2+GCD(p-1,3);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[2],Exponent:=p);
#D,p+2+GCD(p-1,3);
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.108 0000664 0001750 0001750 00000002356 12345626600 013742 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
half:=(p+1) div 2;
xzt:=[[0,0,0],[1,0,0],[0,0,1],[0,1,0],[0,1,1]];
for params in xzt do
z:=params[2]; t:=params[3]; x:=(params[1]+half*z+half*t) mod p;
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
yzt:=[[0,0,1],[0,1,1],[0,0,0],[0,1,0],[1,0,0],[1,1,0]];
if p mod 3 eq 1 then yzt:=yzt cat [[1,w,0],[1,w^2,0]]; end if;
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
zt:=[[0,0],[0,1]] cat [[1,t]:t in [0..p-1]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.103 0000664 0001750 0001750 00000001445 12345622305 013731 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
zt:=[[0,0],[0,1],[1,0],[1,1]];
for params in zt do
z:=1+params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
yzt:=[[0,0,1],[0,0,0],[1,0,0],[w,0,0]] cat [[y,1,0]:y in [0..p-1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.106a 0000664 0001750 0001750 00000004211 12345606610 014770 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
for z in [0,1] do
bch1:=Z!(F!(1/6-w)); bch2:=Z!(F!(-w/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yt:=[[0,1],[0,0],[1,0],[w,0]];
for params in yt do
y:=params[1]; t:=params[2];
bch:=Z!(F!(y-w^2/2-11*w/12));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
tlambda:=[[0,i]:i in [1..(p-1) div 2]] cat [[1,i]: i in [1..(p-1) div 2]];
for params in tlambda do
t:=params[1]; lambda:=params[2];
bch1:=Z!(F!(t+lambda/6-w*lambda)); bch2:=Z!(F!(-w^2/2-w*lambda/2-11*w/12));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+5;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.71 0000664 0001750 0001750 00000003571 12345607236 014565 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
yzt:=[[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
zt:=[[0,0],[0,1],[1,0],[1,1],[1,w]];
for params in zt do
z:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,4);
P:=StandardPresentation(P:StartClass:=4);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,3);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,17;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.136 0000664 0001750 0001750 00000002121 12345607126 014633 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
bch:=Z!(F!(1/6)); bch2:=Z!(F!(-3/2));
xt:=[[0,0],[0,1],[1,0]];
for params in xt do
x:=params[1]; t:=params[2];
G:=Group;
P:=pQuotient(G,p,6);
P:=StandardPresentation(P:StartClass:=6);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,5);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,3;
bees:={};
for Q in D do
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/testdec7.112 0000664 0001750 0001750 00000003112 12345606707 014632 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
half:=(p+1) div 2;
lambdas:=[1];
for i in [2..(p-1) div 2] do
if i le Z!(F!(w/i)) and i le Z!(F!(-w/i)) then Append(~lambdas,i); end if;
end for;
yzlambda:=[[y,1,0]:y in [0..(p-1) div 2]] cat [[0,0,0],[1,0,0]];
if p mod 4 eq 1 then yzlambda:=yzlambda cat [[w,0,0]]; end if;
for i in lambdas do
yzlambda:=yzlambda cat [[0,0,i],[0,1,i]];
end for;
for params in yzlambda do
y:=params[1]; z:=params[2]; lambda:=params[3];
bch1:=Z!(F!(-lambda+z/2+w/6-1/3)); bch2:=lambda+z; bch3:=Z!(F!(w*(3*lambda-3)/2));
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+3;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/dec7.98 0000664 0001750 0001750 00000001465 12345652054 013674 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
xzt:=[[0,1,0],[0,0,0],[0,0,1],[1,0,0],[1,0,1]];
for params in xzt do
x:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
yzt:=[[0,0,0],[0,1,0],[1,0,0],[1,1,0],[0,0,1],[0,1,1]];
for params in yzt do
y:=params[1]; z:=params[2]; t:=params[3];
G:=Group;
P:=pQuotient(G,p,5);
Append(~PS,P);
end for;
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/dec7.67 0000664 0001750 0001750 00000001371 12345643131 013660 0 ustar vlee vlee readi p,"Input prime p>3";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
PS:=[];
yzt:=[[0,1,0,0],[0,1,0,1],[0,1,0,w],[0,0,1,0],[0,0,0,0],[1,0,0,0],[0,0,0,1]];
for params in yzt do
x:=params[1]; y:=params[2]; z:=params[3]; t:=params[4];
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
end for;
G:=Group;
P:=pQuotient(G,p,4);
Append(~PS,P);
"Sequence PS contains",#PS,"groups of order p^8";
p8exponentp/3gen/testdec7.101 0000664 0001750 0001750 00000002270 12345606541 014630 0 ustar vlee vlee readi p,"Input prime p>5";
F:=GF(p);
Z:=Integers();
for i in [2..p-1] do
a:=F!i;
vals:={a^k:k in [1..p-1]};
if #vals eq p-1 then w:=i; break; end if;
end for;
print "p,w equal",p,w;
ayes:=[];
xzt:=[[0,0,0],[0,0,1]] cat [[0,1,t]:t in [0..((p-1) div 2)]];
xzt:=xzt cat [[1,0,0],[1,0,1]] cat [[1,1,t]:t in [0..((p-1) div 2)]];
for params in xzt do
x:=params[1]; z:=1+params[2]; t:=params[3]-3*w*((p+1) div 2);
G:=Group;
P:=pQuotient(G,p,5);
P:=StandardPresentation(P:StartClass:=5);
if Order(P) ne p^8 then print "Wrong order!"; readi zzz; end if;
a,b:=SmallGroupEncoding(P);
Append(~ayes,a);
end for;
#ayes,#Seqset(ayes);
for i in [1..#ayes-1] do
for j in [i+1..#ayes] do
if ayes[i] eq ayes[j] then print i,j; end if;
end for;
end for;
G:=Group;
P:=pQuotient(G,p,4);
//P;
D:=Descendants(P:StepSizes:=[1],Exponent:=p);
#D,p+5;
bees:={};
for Q in D do
//S:=StandardPresentation(Q:StartClass:=4);
a,b:=SmallGroupEncoding(Q);
Include(~bees,a);
end for;
bees eq Seqset(ayes);
p8exponentp/3gen/3gendads.pdf 0000644 0001750 0001750 00000121755 12345562264 015061 0 ustar vlee vlee %PDF-1.4
3 0 obj <<
/Length 858
/Filter /FlateDecode
>>
stream
xX;s0+M$jK!n.mVb;_PD(;I]">L~BHƨdzp`4%F;e-.'L 7E(ӫbO<__M2iͮXO>0auUnm7(wɏE bI/l@y}],LƢ<\"ptQ^m*YdG]K (2a^dJy,)ie^xk:qX{LfAgƤ]}4\+,./TV*AuIJ$Hj겑9C>x~ζMg}+MfψB
={TPRxϼZ"t myDV|o-,}m#[]ihƿ-4OŞÊye쫂 ABvA1AT)Q)،f,TDP0(}#8w+tjY>eB2Q!"ڹp@2=B0!ȵD҄BڌH 1\o$Ax
a
+35Ñ'Aʑ
'@0 VF'3bswH=YKqI9^>3)y+}rx/tCM,ĕ#zS9rlcsD>tcj"
a|/$cb?%|* 1d79Ky#J{5IoR!DQv/XyA@{($CVmKW:8=ޞendstream
endobj
2 0 obj <<
/Type /Page
/Contents 3 0 R
/Resources 1 0 R
/MediaBox [0 0 612 792]
/Parent 16 0 R
>> endobj
1 0 obj <<
/Font << /F16 6 0 R /F17 9 0 R /F33 12 0 R /F30 15 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
19 0 obj <<
/Length 745
/Filter /FlateDecode
>>
stream
x͎0
uc {iV}ItStU].83|?skAPH$SmeQ<bca՛ŗ
vth>#uAҎ1[폣ͨ~ !J:~V77:|ə1E~^g J
Aѷ DŖZ÷pXVƞv\U
b@'sGxC5u&
fC
,cC@瀹z/ѽpTʒ{= ioF],SH9d֍FcQɺh͋"_4x什+.UϪ
Iͧ'.*)$Z Ҥ!+9 MMGac&r0 D .;Ϯ8
}E-]1eJ@g[3^^mgb-jzjTz,\5(A3=>Ksm1 x]{CxB+ϜOvIGPql;=
ji#3vKl\{'9s%Eyn2u-rԙ
jVa-yy7)u"wş\ +h*%R^G[rhT߮,WcXj
~J!IϥeE[LNOHi^(5$,`I-Xv":52ZXv"5;0endstream
endobj
18 0 obj <<
/Type /Page
/Contents 19 0 R
/Resources 17 0 R
/MediaBox [0 0 612 792]
/Parent 16 0 R
>> endobj
17 0 obj <<
/Font << /F33 12 0 R /F30 15 0 R /F17 9 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
22 0 obj <<
/Length 1263
/Filter /FlateDecode
>>
stream
xYM6W(7y2fI$dzL{ȭS,f۴M>ʒ,(ٻu͞L@⇟cTtX+Hk+|$57k鞝UBo^.WKY5~7Ӽ1)6}[Q o\VM=1"M.NpDi΄jF;g-,Tݬn6_LdfE]R",X},MdX{e`0/Rco{ Sm=,ܖ#ρGp$܂T(&:)܇6&Opf4Y:E=x&. wа@ #sd\H])~ƣ/vO+ZSTȨCժ^
DS׆__u ۧL8v1Nc_nv.ؔ7\ͻ(4 # z[tIRQ&vwjoHu54 D\?ko0?063jA\^$@D+T8D[lo.BZY WaƱ]xW<,~]ZV=ojI_d2U6>;m7@)KhxXYLJMYn(({ϰ҂vA+jF7Uc!)t͐b*fb14v7]KҕQ+6@38(Ց><ŎVUniLoY,UKa"{O_/ht(*JMĒj/D,Z7ҫKoq @0(a2.Kf6m;ummt&t&BvVFg5;8r%
5Icl89΄xǻʠ*M9VU{#&B 13X`}yd8dc=[M ach$RrF{(7PaG I)À<k9K3dwQ+w6b3& 9 }igv*t%irM,t"(v`tBmwvW`UY}6TPmD0;AW걹t>l}z%vsp
y\Ԇ
DjM&uj5SV!7S+(3b5 1Z͜ȍbRv"e2eϸ&ʄe%ўdCzLԂՈk0Pendstream
endobj
21 0 obj <<
/Type /Page
/Contents 22 0 R
/Resources 20 0 R
/MediaBox [0 0 612 792]
/Parent 16 0 R
>> endobj
20 0 obj <<
/Font << /F33 12 0 R /F30 15 0 R /F17 9 0 R /F28 25 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
28 0 obj <<
/Length 1816
/Filter /FlateDecode
>>
stream
xZnG+y?lb [l%1dc%DN.JNwUW,t{B`b*b˩
YgW'O?`/ifu~d.-׳z}Wz|@h~+wD \9aQU&D`A61>q0 @J)1+~ITUZosYg!fؤRLW](kn3TD̘/UfS8XaOp٢HnZf=
ml
i4ScC$3?[4'[.Sdlُr,P!l\_ Zs&}<eP=PKL~Rz{'4|"\`
Տ SA;u?,z1kǔ|bݖnmqc∐4'X8m+HAk,Fg8-q^d.L 6L ,Cs Ɵ0M`(v 8>_ūe( Tu,
1t1b\IDsNB-^a!'PqcQmgEh۞T*ϥVXvY,R *
$=-9,# ;kefW\
X_.*!agf/Η7pq5(e]ԡƚt(bݵ]qLt05n:74J䭣uV}-C1` kh{Nbv!g6B&G[
-F.OpD{I6xIqV&U}Cϔ`h}e̖s)fx6VjrY
@))+RG8ĺ>1)}
:DnÔIh jvD5="
2ęp|XLf=0^s\EA陔j`;#tD:IePtCΩKtwT,=wHiKkS_(
-egE@Rz*{iĈ0ݢzhvl&:X3O<7Dt
~C/PMiG>)|20MRmWyq${\dsm制\aR`Y/%)!gnva B5Ch
Hȴ7cKmH/AMP.滧A[SɯƬ@Yf^O?||̧>0;?k_OCz6ؼ6/½KU0c*ٰj`eEp-l$Y cJS?g1YL1ߛa-[ݳc
Ƕ Dש?N0{K*)3^3`)0tk"ieJCgu{ь1X_$CdCWA7~h߳}?]i*Xj:]
z
.endstream
endobj
27 0 obj <<
/Type /Page
/Contents 28 0 R
/Resources 26 0 R
/MediaBox [0 0 612 792]
/Parent 16 0 R
>> endobj
26 0 obj <<
/Font << /F33 12 0 R /F30 15 0 R /F17 9 0 R /F28 25 0 R /F34 31 0 R /F36 34 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
37 0 obj <<
/Length 923
/Filter /FlateDecode
>>
stream
x=o0w
_I#-@;d+- 9("=ٲ"W'ZqI'K}{ŪQ{`Q!Yjfutg<.ϖ&Тj>=ky@{!*͕[+ yY߯Ϸ
u,AGټ+x6Q3gu? QHp3 #|o96&@Oj!%i-lcrcڃբ+3n04>4Ria*<} *p8"9p.ƌ.=9C'v_n ]9Z.pYd wnp|/*Ʉ|5}C!31.Lx*0~OE ρM- P>ȒJ8{[0Z=Ru$/Kuv` F`^ j?^8T~ ȿZ|Beu?'Fq<壙Y)WJU*h)}㵶^@?xnT'Wɛv9잽Z̴AXRf)3P/:q+}]Fϋϫ~J^X]\hu[huYp1KQk
/8yC?.3Vj9_V6/