ring R = 307,x(0..5),dp; proc Ideale (intvec #) { int i; intmat m; ideal I = 1; ideal I(1) = x(0),x(1),x(2),x(3),x(4); ideal I(2) = x(0),x(1),x(2),x(3),x(5); ideal I(3) = x(0),x(1),x(2),x(4),x(5); ideal I(4) = x(0),x(1),x(3),x(4),x(5); ideal I(5) = x(0),x(2),x(3),x(4),x(5); ideal I(6) = x(1),x(2),x(3),x(4),x(5); ideal I(7) = x(1)-x(0),x(2)-x(0),x(3)-x(0),x(4)-x(0),x(5)-x(0); if ( size(#) > 7 ) { for (i=1;i<=7;i=i+1) { I = std(intersect(I,I(i)^#[i])); } for (i=8;i<=size(#);i=i+1) { m = random(306,1,5); ideal I(i) = x(1)-m[1,1]*x(0), x(2)-m[1,2]*x(0), x(3)-m[1,3]*x(0), x(4)-m[1,4]*x(0), x(5)-m[1,5]*x(0); I = std(intersect(I,I(i)^#[i])); } } else { for (i=1;i<=size(#);i=i+1) { I = std(intersect(I,I(i)^#[i])); } } return(I); } LIB "general.lib"; int i,s,n,vir,dg,si,r; bigint dimL; intmat m; ideal I,P; intvec d,ll,hi; r = 5; d = 1,1,1,1,1; for (d[5]=1;d[5]<=5;d[5]=d[5]+1) { ll = 0; dg = sum(d); n = product(d+1) div (r+1); vir = (product(d+1) mod (r+1)) - 1; ll = -d + dg; for (s=1;s<=n;s=s+1) { ll = ll,2; } printf("Analyzing L_(%s,%s,%s,%s,%s)(2^%s)",d[1],d[2],d[3],d[4],d[5],n); I = Ideale(ll); hi = hilb(I,2); si = size(hi); if ( dg < si ) { si = dg+1; } dimL = binomial(dg+r,r) - sum(hi,1..si) - 1; if ( dimL > vir ) { printf("L_(%s,%s,%s,%s,%s)(2^%s) might be special with dim(L) = %s and vdim(L) = %s",d[1],d[2],d[3],d[4],d[5],n,dimL,vir); } m = random(306,1,r); P = x(1)-m[1,1]*x(0),x(2)-m[1,2]*x(0),x(3)-m[1,3]*x(0),x(4)-m[1,4]*x(0),x(5)-m[1,5]*x(0); I = std(intersect(I,P^2)); si = size(hilb(I,2)); if ( dg < si ) { si = dg+1; } dimL = binomial(dg+r,r) - sum(hilb(I,2),1..si); if ( dimL > 0 ) { printf("L_(%s,%s,%s,%s,%s)(2^%s) might be special with dim(L) = %s and vdim(L) = %s",d[1],d[2],d[3],d[4],d[5],n+1,dimL,vir-r); } }