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

Tom -- The Kustin-Miller complex for Tom

Description

The Kustin-Miller complex construction for the Tom example which can be found in Section 5.5 of

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

Here we pass from a Pfaffian to a codimension 4 variety.

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

o1 = R

o1 : PolynomialRing
i2 : b2 = matrix {{0,x_1,x_2,x_3,x_4},{-x_1,0,0,z_1,z_2},{-x_2,0,0,z_3,z_4},{-x_3,-z_1,-z_3,0,0},{-x_4,-z_2,-z_4,0,0}}

o2 = | 0    x_1  x_2  x_3 x_4 |
     | -x_1 0    0    z_1 z_2 |
     | -x_2 0    0    z_3 z_4 |
     | -x_3 -z_1 -z_3 0   0   |
     | -x_4 -z_2 -z_4 0   0   |

             5      5
o2 : Matrix R  <-- R
i3 : betti(cI=resBE b2)

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

o3 : BettiTally
i4 : b1 = cI.dd_1

o4 = | z_2z_3-z_1z_4 -x_4z_3+x_3z_4 x_4z_1-x_3z_2 x_2z_2-x_1z_4
     ------------------------------------------------------------------------
     -x_2z_1+x_1z_3 |

             1      5
o4 : Matrix R  <-- R
i5 : J = ideal (z_1..z_4);

o5 : Ideal of R
i6 : betti(cJ=res J)

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

o6 : BettiTally
i7 : betti(cU=kustinMillerComplex(cI,cJ,QQ[T]))

            0 1  2 3 4
o7 = total: 1 9 16 9 1
         0: 1 .  . . .
         1: . 9 16 9 .
         2: . .  . . 1

o7 : BettiTally
i8 : S=ring cU

o8 = S

o8 : PolynomialRing
i9 : isExactRes cU

o9 = true
i10 : print cU.dd_1
| z_2z_3-z_1z_4 -x_4z_3+x_3z_4 x_4z_1-x_3z_2 x_2z_2-x_1z_4 -x_2z_1+x_1z_3 -x_1x_3+Tz_1 -x_1x_4+Tz_2 -x_2x_3+Tz_3 -x_2x_4+Tz_4 |
i11 : print cU.dd_2
{2} | 0    x_1  x_2  x_3 x_4 0    0    0    0    0    0    T    0    0    0    0    |
{2} | -x_1 0    0    z_1 z_2 0    0    -x_1 0    0    x_2  0    T    0    0    0    |
{2} | -x_2 0    0    z_3 z_4 -x_1 0    0    -x_2 0    0    0    0    T    0    0    |
{2} | -x_3 -z_1 -z_3 0   0   0    0    -x_3 -x_3 -x_4 0    -x_3 0    0    T    0    |
{2} | -x_4 -z_2 -z_4 0   0   0    x_3  0    0    0    0    0    0    0    0    T    |
{2} | 0    0    0    0   0   z_2  z_3  0    z_4  0    0    z_4  0    -x_4 0    x_2  |
{2} | 0    0    0    0   0   -z_1 0    z_3  0    z_4  0    0    0    x_3  -x_2 0    |
{2} | 0    0    0    0   0   0    -z_1 -z_2 0    0    z_4  -z_2 x_4  0    0    -x_1 |
{2} | 0    0    0    0   0   0    0    0    -z_1 -z_2 -z_3 0    -x_3 0    x_1  0    |
i12 : print cU.dd_3
{3} | 0    -z_2 0    z_4  -T   0    0    x_3  0    |
{3} | x_3  x_4  0    0    0    -T   0    0    0    |
{3} | 0    0    -x_3 -x_4 0    0    -T   0    0    |
{3} | -x_1 0    x_2  0    0    0    0    -T   0    |
{3} | 0    -x_1 0    x_2  0    0    0    0    -T   |
{3} | -z_3 -z_4 0    0    0    x_2  0    0    0    |
{3} | z_2  0    -z_4 0    0    0    0    x_4  0    |
{3} | -z_1 0    0    -z_4 0    0    -x_2 -x_3 0    |
{3} | 0    z_2  z_3  0    0    -x_1 0    -x_3 0    |
{3} | 0    -z_1 0    z_3  0    0    0    0    -x_3 |
{3} | 0    0    -z_1 -z_2 0    0    -x_1 0    0    |
{3} | 0    0    0    0    0    x_1  x_2  x_3  x_4  |
{3} | 0    0    0    0    -x_1 0    0    z_1  z_2  |
{3} | 0    0    0    0    -x_2 0    0    z_3  z_4  |
{3} | 0    0    0    0    -x_3 -z_1 -z_3 0    0    |
{3} | 0    0    0    0    -x_4 -z_2 -z_4 0    0    |
i13 : print cU.dd_4
{4} | -x_2x_4+Tz_4   |
{4} | x_2x_3-Tz_3    |
{4} | -x_1x_4+Tz_2   |
{4} | x_1x_3-Tz_1    |
{4} | z_2z_3-z_1z_4  |
{4} | -x_4z_3+x_3z_4 |
{4} | x_4z_1-x_3z_2  |
{4} | x_2z_2-x_1z_4  |
{4} | -x_2z_1+x_1z_3 |

See also

For the programmer

The object Tom is a symbol.