If no matrix m is present then the script creates a type a,b K3-carpet over a new ring. If m is given, then an ideal made from certain minors and sums of minors of m is produced. The characteristic is given by the option, defaulting to 32003. If the option FineGrading is set to true, then the ideal is returned with the natural ZZ4 grading (the default is FineGrading => false). This last may not work unless the matrix is of scroll type (or not given!) If Scrolls=>true, then a sequence of three items is returned, the second and third being the smaller and larger scroll matrices.
The routine carpet(a,b,m) interchanges a and b if a>=b is not satisfied and forms two matrices from m: X:the 2 x a matrix that is the first a cols of m; Y:the 2 x b matrix that is the nex b cols of m--that is, cols a..a+b-1 of m; Let Ix, Iy be the ideals of 2 x 2 minors of X and Y. If a,b≥2,the routine returns Ix+Iy+Imixed, where Imixed consists of the quadrics "outside minor - inside minor", that is, det(X{i},Y{j+1})-det(X{i+1}|Y{j}), for each pair of (i,i+1), (j,j+1) in the ranges a1 and a2.
If m is usual ideal of the scroll of type (a,b), then carpet(a,b,m) produces the same ideal (over a different ring) as carpet(a,b). This is the ideal of the 2-dimensional rational normal scroll Scroll(a,b) is the ideal of 2 x 2 minors of X|Y. The ideal I to be constructed is the ideal of the unique (numerically) K3 scheme that is a double structure on the scroll S(a,b).
When a,b > 1, the carpet ideal I is the sum Ix+Iy plus the ideal Imixed
When a = b = 1, I is the square of the det of X|Y.
When a > 1, b=1 (or symmetrically), I is defined as in the case a,b>1, after replacing
Y =
|
by the 2 x 2 matrix
|
and changing b to 2.
i1 : betti res carpet(2,5) 0 1 2 3 4 5 6 o1 = total: 1 15 49 70 49 15 1 0: 1 . . . . . . 1: . 15 35 35 14 . . 2: . . 14 35 35 15 . 3: . . . . . . 1 o1 : BettiTally |
i2 : S = ZZ/101[a..j] o2 = S o2 : PolynomialRing |
i3 : m = genericMatrix(S,a,2,5) o3 = | a c e g i | | b d f h j | 2 5 o3 : Matrix S <--- S |
i4 : I = carpet(3,2,m) o4 = ideal (b*c - a*d, b*e - a*f, d*e - c*f, d*g - c*h - b*i + a*j, f*g - e*h ------------------------------------------------------------------------ - d*i + c*j, h*i - g*j) o4 : Ideal of S |
i5 : L = primaryDecomposition I; |
i6 : betti res L_0 0 1 2 3 4 5 o6 = total: 1 15 40 45 24 5 0: 1 . . . . . 1: . 15 40 45 24 5 o6 : BettiTally |
i7 : betti res L_1 0 1 2 3 4 o7 = total: 1 10 20 15 4 0: 1 . . . . 1: . 10 20 15 4 o7 : BettiTally |
The larger block alwas comes first.
i8 : carpet(1,2) 2 2 2 o8 = ideal (x - x x , x y - 2x y y + x y ) 1 0 2 2 0 1 0 1 0 1 ZZ o8 : Ideal of -----[x , x , x , y , y ] 32003 0 1 2 0 1 |
We require a,b >=1. If a<b then the blocks are reversed, so that the smaller block always comes last. The script generalizeScroll is a more general tool that can do the same things.