ring R = 307,x(0..4),dp; proc Ideale (intvec #) { int i; intmat m; ideal I = 1; ideal I(1) = x(0),x(1),x(2),x(3); ideal I(2) = x(0),x(1),x(2),x(4); ideal I(3) = x(0),x(1),x(3),x(4); ideal I(4) = x(0),x(2),x(3),x(4); ideal I(5) = x(1),x(2),x(3),x(4); ideal I(6) = x(1)-x(0),x(2)-x(0),x(3)-x(0),x(4)-x(0); if ( size(#) > 6 ) { for (i=1;i<=6;i=i+1) { I = std(intersect(I,I(i)^#[i])); } for (i=7;i<=size(#);i=i+1) { m = random(306,1,4); 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); 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 = 4; for (d[1]=1;d[1]<=6;d[1]=d[1]+1) { for (d[2]=1;d[2]<=d[1];d[2]=d[2]+1) { for (d[3]=1;d[3]<=d[2];d[3]=d[3]+1) { for (d[4]=1;d[4]<=d[3];d[4]=d[4]+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)(2^%s)",d[1],d[2],d[3],d[4],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)(2^%s) might be special with dim(L) = %s and vdim(L) = %s",d[1],d[2],d[3],d[4],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); 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)(2^%s) might be special with dim(L) = %s and vdim(L) = %s",d[1],d[2],d[3],d[4],n+1,dimL,vir-r); } } } } }