Macaulay2 » Documentation
Packages » K3Carpets :: carpet
next | previous | forward | backward | up | index | toc

# carpet -- Ideal of the unique Gorenstein double structure on a 2-dimensional scroll

- Usage:
    `I = carpet(a1,a2)`
    `I = carpet(a1,a2,m)`
    `(I,xmat,ymat) = carpet(a1,a2,Scrolls=>true)`
- Inputs:
  - a1, an integer,
  - a2, an integer, a1 and a2 should be positive
  - m, a matrix, a 2xn matrix for some $n \ge{} a1+a2$
- Optional inputs:
  - Characteristic => an integer, default value 32003, the characteristic of the ground field
  - Scrolls => a Boolean value, default value false, if true return in addition the matrices defining the sections
  - FineGrading => a Boolean value, default value false, if true then I is defined over the ring with $\ZZ^4$-grading
- Outputs:
  - I, an ideal,
  - xmat, a matrix,
  - ymat, a matrix, the matrices of the sections of the scroll
- Consequences:
  - If no matrix m is present then the script creates a type a1,a2 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 $\ZZ^4$ 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.

## Description

The routine carpet(a1,a2,m) sets a = min(a1,a2), b = max(a1,a2), 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 a1..a1+a2-1 of m; Let Ix, Iy be the ideals of 2 x 2 minors of X and Y. If $a,b\geq 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(a1,a2) 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(a1,a2).

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 determinant of X|Y.

When a = 1, b>1 (or symmetrically), I is defined as in the case a,b>1, after replacing $$ X = \begin{pmatrix} x_0 \\ x_1 \end{pmatrix} $$

by the 2 x 2 matrix $$ \begin{pmatrix} x_0^2 & x_0*x_1 \\ x_0*x_1 & x_1^2 \end{pmatrix} $$ and changing $a$ to 2.

    i1 : betti freeResolution 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(2,3,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 freeResolution L_0

                0  1  2  3 4
    o6 = total: 1 10 20 15 4
             0: 1  .  .  . .
             1: . 10 20 15 4

    o6 : BettiTally

    i7 : betti freeResolution L_1

                0  1  2  3  4 5
    o7 = total: 1 15 40 45 24 5
             0: 1  .  .  .  . .
             1: . 15 40 45 24 5

    o7 : BettiTally

## Caveat

We require $a1,a2 \ge 1$. If $a1>a2$ then the blocks are reversed, so that the smaller block always comes first. The script generalizeScroll is a more general tool that can do the same things.

## See also

- canonicalCarpet -- Carpet of given genus and Clifford index
- gorensteinDouble -- attempts to produce a Gorenstein double structure J subset I
- correspondenceScroll -- Union of planes joining points of rational normal curves according to a given correspondence

## Ways to use carpet:

- `carpet(ZZ,ZZ)`
- `carpet(ZZ,ZZ,Matrix)`

## For the programmer

The object carpet is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/K3Carpets.m2:1199:0.