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