// This file contains code and output in SINGULAR verifying the claims made // about a pencil Pi discussed at the end of Section 5 (specifically, in // Prop. 5.3 under current numbering.) // Set up the coordinate chart away \tilde 0 and C, assuming Z_1=1. // We work in characteristic 7. > ring R=7,(x,y,Z,u,a),(dp(4),dp(1)); > poly curve = y2-x3+x2-x+1; > poly alpha = 1; > poly A = 2; > poly invert = (x-alpha)*u-1; > poly psi0 = (x-alpha)*Z^6+A*u; > poly psi1 = (x-alpha)^2*Z^6+A^2*u^2; > poly psi2 = (x-alpha)*Z^5+A*u*Z; > poly psi3 = y*Z^5-A*y*u^2*Z; > poly psi4 = Z^4+Z^2; > poly psi5 = (x-alpha)*Z^4+A*u*Z^2; > poly psi6 = Z^3; // Define the pencil Pi (minus the element at infinity) > poly s1 = psi0+psi3-psi5+psi6; > poly s2 = psi0+psi1+psi2; > poly pencil = a*s1+s2; // Define locus of critical points, i.e., points where the rank of the differential // is lower than expected. This is the same as the vanishing of the largest minors // in the differential. > matrix singMat[2][3] = diff(curve,x), diff(curve,y), diff(curve,Z), . diff(pencil,x)+diff(pencil,u)*(-u^2), . diff(pencil,y), diff(pencil,Z),diff(pencil,u); > ideal critPts = curve, pencil, invert, minor(singMat,2); > critPts=stdfglm(critPts); // This will show the critical points form a subscheme of dimension zero, one whose // coordinate ring is a vector space of dimension 64 over Q: > dim(critPts); 0 > vdim(critPts); 64 // By the choice of our monomial ordering above, the first element of the ideal ‘critPts’ // will be a generator of the ideal sing \cap Q[a]; geometrically, its roots are the // values of a where corresponding element of the pencil is singular, i.e., they give // the critical values. We see that there are 32 such values of a (in char. 7). > critPts[1]; a32+3a31-a30+3a29-2a28+a27+3a26-a25-2a23-2a22-a21-2a20+3a19+3a18+a17-2a16+a15+a14+2a13+2a11+2a9+a8+2a7+3a6-a5+a4-2a3+3a+3 // We check that none of the critical points we have found lies over a 2-torsion // point of \tilde E: > ideal i = critPts,y; > i = stdfglm(i); > dim(i); -1 // By the preceding calculation, it follows that x-x0 and Z-Z0 form local parameters // of \tilde P at each critical point (where x=x0 and Z=Z0). Hence an element of Pi // contains such a point as a singularity if (1) it passes through the point and (2) the // x and Z derivatives of the point vanish there. Looking for elements of \mathfrak d that // are singular at the point, this gives a 3-by-7 matrix whose rank we must investigate; // if the rank of this matrix is less than 3, there is more than one element of // \mathfrak d which is singular at the point. > matrix ratMapMat[3][4] = . psi0, psi1, s1, s2, . 2y*diff(psi0,x)+diff(psi0,y)*diff(curve,x)+2y*diff(psi0,u)*(-u^2), . 2y*diff(psi1,x)+diff(psi1,y)*diff(curve,x)+2y*diff(psi1,u)*(-u^2), . 2y*diff(s1,x)+diff(s1,y)*diff(curve,x)+2y*diff(s1,u)*(-u^2), . 2y*diff(s2,x)+diff(s2,y)*diff(curve,x)+2y*diff(s2,u)*(-u^2), . diff(psi0,Z), diff(psi1,Z), diff(s1,Z), diff(s2,Z); > ideal ratMapUndef = curve, pencil, invert, minor(ratMapMat,3); > ratMapUndef = stdfglm(ratMapUndef); > dim(ratMapUndef); 0 // Having determined the ideal corresponding to those points at which more than one element // of \mathfrak d is singular, we now compute that the set-theoretic intersection of its // zero locus with the collection of critical points is empty. > ideal intsect = critPts, ratMapUndef; > intsect = stdfglm(intsect); > dim(intsect); -1