Macaulay2 » Documentation
Packages » KustinMiller :: kustinMillerComplex
next | previous | forward | backward | up | index | toc

# kustinMillerComplex -- Compute Kustin-Miller resolution of the unprojection of I in J

- Usage:
    `kustinMillerComplex(I,J,W)`
    `kustinMillerComplex(cI,cJ,W)`
- Inputs:
  - J, an ideal, in a positively graded polynomial ring R
  - I, an ideal, contained in J
  - cI, a complex, resolution of I
  - cJ, a complex, resolution of J
  - W, a polynomial ring, over the same coefficientRing as R with one variable T.
- Optional inputs:
  - Verbose => ..., default value 0, Option to print intermediate data
- Outputs:
  - a complex,

## Description

Compute Kustin-Miller resolution of the unprojection of I in J (or equivalently of the image J' of J in R/I) with unprojection variable T.

We have the following setup:

Assume R is a PolynomialRing over a field, the degrees of all variables positive and $I \subset J \subset R$ two homogeneous ideals of R such that R/I and R/J are Gorenstein and dim(R/J)=dim(R/I)-1.

Let R/I(k_1) and R/J(k_2) be the canonical modules of R/I and R/J respectively. We require k_1 - k_2, that is, the degree of the unprojection variable, to be positive.

For a description of this resolution and how it is computed see

J. Boehm, S. Papadakis: Implementing the Kustin-Miller complex construction, http://arxiv.org/abs/1103.2314

It is also possible to specify minimal resolutions of I and J.

The function kustinMillerComplex returns a chain complex over a new polynomial ring S with the same coefficientRing as R and the variables of R and W, where degree(T) = degree unprojectionHomomorphism(I,J) = k_1-k_2.

To avoid printing the variables of this ring when printing the chain complex just give a name to the ring (e.g., do S = ring cc to call it S).

We illustrate the Kustin-Miller complex construction at the example described in Section 5.5 of

Papadakis, Kustin-Miller unprojection with complexes, J. Algebraic Geometry 13 (2004) 249-268, http://arxiv.org/abs/math/0111195

    i1 : R = QQ[x_1..x_4,z_1..z_4]

    o1 = R

    o1 : PolynomialRing

    i2 : I =  ideal(z_2*z_3-z_1*z_4,x_4*z_3-x_3*z_4,x_2*z_2-x_1*z_4,x_4*z_1-x_3*z_2,x_2*z_1-x_1*z_3)

    o2 = ideal (z z  - z z , x z  - x z , x z  - x z , x z  - x z , x z  - x z )
                 2 3    1 4   4 3    3 4   2 2    1 4   4 1    3 2   2 1    1 3

    o2 : Ideal of R

    i3 : betti freeResolution I

                0 1 2 3
    o3 = total: 1 5 5 1
             0: 1 . . .
             1: . 5 5 .
             2: . . . 1

    o3 : BettiTally

    i4 : J = ideal (z_1..z_4)

    o4 = ideal (z , z , z , z )
                 1   2   3   4

    o4 : Ideal of R

    i5 : betti freeResolution J

                0 1 2 3 4
    o5 = total: 1 4 6 4 1
             0: 1 4 6 4 1

    o5 : BettiTally

    i6 : cc=kustinMillerComplex(I,J,QQ[T]);

    i7 : S=ring cc

    o7 = S

    o7 : PolynomialRing

    i8 : cc

          1      9      16      9      1
    o8 = S  <-- S  <-- S   <-- S  <-- S

         0      1      2       3      4

    o8 : Complex

    i9 : betti cc

                0 1  2 3 4
    o9 = total: 1 9 16 9 1
            -8: . .  . . 1
            -7: . .  . . .
            -6: . .  . . .
            -5: . .  5 9 .
            -4: . .  . . .
            -3: . 5 11 . .
            -2: . .  . . .
            -1: . 4  . . .
             0: 1 .  . . .

    o9 : BettiTally

    i10 : isExactRes cc

    o10 = true

    i11 : print cc.dd_1
    | x_2z_1-x_1z_3 x_4z_1-x_3z_2 x_2z_2-x_1z_4 x_4z_3-x_3z_4 z_2z_3-z_1z_4 -x_1x_3+Tz_1 -x_1x_4+Tz_2 -x_2x_3+Tz_3 -x_2x_4+Tz_4 |

    i12 : print cc.dd_2
    {-2} | -x_4 -z_2 0    z_4  0    0    -x_3 0    0    0    0    T    0    0    0    0    |
    {-2} | x_2  0    -z_3 0    z_4  -x_1 0    0    -x_2 0    0    0    T    0    0    0    |
    {-2} | x_3  z_1  0    -z_3 0    0    0    -x_3 -x_3 -x_4 0    0    0    T    0    -x_3 |
    {-2} | -x_1 0    z_1  0    -z_2 0    0    x_1  0    0    -x_2 0    0    0    T    0    |
    {-2} | 0    -x_1 -x_3 x_2  x_4  0    0    0    0    0    0    0    0    0    0    T    |
    {0}  | 0    0    0    0    0    z_2  z_3  0    z_4  0    0    -x_2 -x_4 0    0    z_4  |
    {0}  | 0    0    0    0    0    -z_1 0    z_3  0    z_4  0    0    x_3  -x_2 0    0    |
    {0}  | 0    0    0    0    0    0    -z_1 -z_2 0    0    z_4  x_1  0    0    -x_4 -z_2 |
    {0}  | 0    0    0    0    0    0    0    0    -z_1 -z_2 -z_3 0    0    x_1  x_3  0    |

    i13 : print cc.dd_3
    {-3} | 0    z_2  0    -z_4 -T   0    x_3  0    0    |
    {-3} | -x_3 -x_4 0    0    0    -T   0    0    0    |
    {-3} | x_1  0    -x_2 0    0    0    -T   0    0    |
    {-3} | 0    0    -x_3 -x_4 0    0    0    -T   0    |
    {-3} | 0    -x_1 0    x_2  0    0    0    0    -T   |
    {-1} | -z_3 -z_4 0    0    0    -x_2 0    0    0    |
    {-1} | z_2  0    -z_4 0    0    0    -x_4 0    0    |
    {-1} | -z_1 0    0    -z_4 0    0    x_3  -x_2 0    |
    {-1} | 0    z_2  z_3  0    0    x_1  x_3  0    0    |
    {-1} | 0    -z_1 0    z_3  0    0    0    0    -x_3 |
    {-1} | 0    0    -z_1 -z_2 0    0    0    -x_1 0    |
    {-1} | 0    0    0    0    -x_4 -z_2 0    z_4  0    |
    {-1} | 0    0    0    0    x_2  0    -z_3 0    z_4  |
    {-1} | 0    0    0    0    x_3  z_1  0    -z_3 0    |
    {-1} | 0    0    0    0    -x_1 0    z_1  0    -z_2 |
    {-1} | 0    0    0    0    0    -x_1 -x_3 x_2  x_4  |

    i14 : print cc.dd_4
    {-2} | -x_2x_4+Tz_4   |
    {-2} | x_2x_3-Tz_3    |
    {-2} | -x_1x_4+Tz_2   |
    {-2} | x_1x_3-Tz_1    |
    {-2} | -z_2z_3+z_1z_4 |
    {-2} | x_4z_3-x_3z_4  |
    {-2} | -x_2z_2+x_1z_4 |
    {-2} | x_4z_1-x_3z_2  |
    {-2} | -x_2z_1+x_1z_3 |

## See also

- unprojectionHomomorphism -- Compute the homomorphism associated to an unprojection pair

## Ways to use kustinMillerComplex:

- `kustinMillerComplex(Complex,Complex,PolynomialRing)`
- `kustinMillerComplex(Ideal,Ideal,PolynomialRing)`

## For the programmer

The object kustinMillerComplex is a method function with options.

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