next | previous | forward | backward | up | top | index | toc | Macaulay2 web site

cycResDef -- Compute the minimal resolution of the unprojection deformation of a cyclic polytope

Synopsis

Description

Consider a cyclic polytope C of dimension d and vertices the variables of R, and the Stanley-Reisner ideal I of the boundary complex of C.

This function computes the minimal resolution of the unprojection deformation of R/I with base z (for d even).

This is obtained by doing a single unprojection step

Δ(d,m) and Δ(d-2,m-1) →Δ(d,m+1)

So for z = 0 (d even) we obtain the minimal resolution of I.

The unprojection variable (called T in the paper) corresponds to the last variable of R.

i1 : R=QQ[x_1..x_8];
i2 : Z=QQ[z];
i3 : cc=cycResDef(4,R,Z);
i4 : isExact cc

o4 = true
i5 : S=ring cc

o5 = S

o5 : PolynomialRing
i6 : betti cc

            0  1  2  3 4
o6 = total: 1 16 30 16 1
         0: 1  .  .  . .
         1: .  .  .  . .
         2: . 16 30 16 .
         3: .  .  .  . .
         4: .  .  .  . 1

o6 : BettiTally
i7 : print cc.dd_1
| x_1x_3x_5 x_1x_3x_6 x_1x_4x_6 x_2x_4x_6 x_2x_4x_7 x_2x_5x_7 x_3x_5x_7 x_8zx_3-x_1x_3x_7 x_8zx_4-x_1x_4x_7 x_8x_2x_4 x_8zx_5-x_1x_5x_7 x_8x_2x_5 x_8x_3x_5 x_8x_2x_6 x_8x_3x_6 x_8x_4x_6 |
i8 : print cc.dd_2
{3} | 0    0    -x_6 -x_7 0    0    0    0   0    0   0    0   0    0    0    0   0    0   0    0    0    0    0    x_8  0    0    0    0    0    0    |
{3} | 0    -x_4 x_5  0    0    0    0    0   0    0   0    0   0    0    0    x_7 0    0   0    0    0    0    0    0    x_8  0    0    0    0    0    |
{3} | -x_2 x_3  0    0    0    0    0    0   0    0   0    0   0    0    0    0   0    x_7 0    0    0    0    0    0    0    x_8  0    0    0    0    |
{3} | x_1  0    0    0    0    0    -x_7 0   0    0   0    0   0    0    0    0   0    0   0    0    0    0    0    0    0    0    x_8  0    0    0    |
{3} | 0    0    0    0    0    -x_5 x_6  x_1 0    0   0    0   0    0    0    0   0    0   0    0    0    0    0    0    0    0    0    x_8  0    0    |
{3} | 0    0    0    0    -x_3 x_4  0    0   0    x_1 0    0   0    0    0    0   0    0   0    0    0    0    0    0    0    0    0    0    x_8  0    |
{3} | 0    0    0    x_1  x_2  0    0    0   0    0   0    x_1 0    0    0    0   0    0   0    0    0    0    0    0    0    0    0    0    0    x_8  |
{3} | 0    0    0    0    0    0    0    0   x_4  0   x_5  0   0    0    0    x_6 0    0   0    0    0    0    0    0    0    0    0    0    0    0    |
{3} | 0    0    0    0    0    0    0    x_2 -x_3 0   0    0   0    x_5  0    0   0    x_6 0    0    0    0    0    0    0    0    0    0    0    0    |
{3} | 0    0    0    0    0    0    0    -z  0    0   0    0   0    0    x_5  0   0    0   x_6  0    0    0    0    0    0    0    -x_6 -x_7 0    0    |
{3} | 0    0    0    0    0    0    0    0   0    x_2 -x_3 x_3 0    -x_4 0    0   0    0   0    0    0    0    0    0    0    0    0    0    0    0    |
{3} | 0    0    0    0    0    0    0    0   0    -z  0    0   x_3  0    -x_4 0   0    0   0    0    0    x_6  0    0    0    0    0    0    -x_7 0    |
{3} | 0    0    0    0    0    0    0    0   0    0   0    -z  -x_2 0    0    0   0    0   0    0    0    0    x_6  -x_1 0    0    0    0    0    -x_7 |
{3} | 0    0    0    0    0    0    0    0   0    0   0    0   0    0    0    0   x_3  0   -x_4 x_4  0    -x_5 0    0    0    0    0    0    0    0    |
{3} | 0    0    0    0    0    0    0    0   0    0   0    0   0    0    0    -z  -x_2 0   0    0    x_4  0    -x_5 0    -x_1 0    0    0    0    0    |
{3} | 0    0    0    0    0    0    0    0   0    0   0    0   0    0    0    0   0    -z  0    -x_2 -x_3 0    0    0    0    -x_1 0    0    0    0    |
i9 : print cc.dd_3
{4} | 0    0    0    x_7  0    0    0    0    0    -x_8 0    0    0    0    0    0    |
{4} | 0    0    0    0    -x_7 0    0    0    0    0    -x_8 0    0    0    0    0    |
{4} | 0    0    0    0    0    0    -x_7 0    0    0    0    -x_8 0    0    0    0    |
{4} | 0    0    0    0    0    0    x_6  0    0    0    0    0    -x_8 0    0    0    |
{4} | -x_1 0    0    0    0    0    0    0    0    0    0    0    0    -x_8 0    0    |
{4} | 0    -x_1 0    0    0    0    0    0    0    0    0    0    0    0    -x_8 0    |
{4} | 0    0    0    x_1  0    0    0    0    0    0    0    0    0    0    0    -x_8 |
{4} | 0    -x_5 0    -x_6 0    0    0    0    0    0    0    0    0    0    0    0    |
{4} | 0    0    -x_5 0    x_6  0    0    0    0    0    0    0    0    0    0    0    |
{4} | -x_3 x_4  0    0    0    0    0    0    0    0    0    0    0    0    0    0    |
{4} | 0    0    x_4  0    0    0    -x_6 0    0    0    0    0    0    0    0    0    |
{4} | x_2  0    0    0    0    0    -x_6 0    0    0    0    0    0    0    0    0    |
{4} | -z   0    0    0    0    0    0    -x_6 0    0    0    0    0    -x_7 0    0    |
{4} | 0    x_2  -x_3 0    0    0    0    0    0    0    0    0    0    0    0    0    |
{4} | 0    -z   0    0    0    0    0    0    -x_6 0    0    0    0    0    -x_7 0    |
{4} | 0    0    0    0    -x_4 0    x_5  0    0    0    0    0    0    0    0    0    |
{4} | 0    0    0    0    0    -x_4 0    x_5  0    0    0    0    0    0    0    0    |
{4} | 0    0    0    x_2  x_3  0    0    0    0    0    0    0    0    0    0    0    |
{4} | 0    0    0    -z   0    0    0    0    x_5  x_1  0    0    0    0    0    0    |
{4} | 0    0    0    -z   0    x_3  0    0    0    x_1  0    0    0    0    0    0    |
{4} | 0    0    0    0    -z   -x_2 0    0    0    0    -x_1 0    0    0    0    0    |
{4} | 0    0    0    0    0    0    0    x_3  -x_4 0    0    0    0    0    0    0    |
{4} | 0    0    0    0    0    0    -z   -x_2 0    0    0    -x_1 0    0    0    0    |
{4} | 0    0    0    0    0    0    0    0    0    0    0    -x_6 -x_7 0    0    0    |
{4} | 0    0    0    0    0    0    0    0    0    0    -x_4 x_5  0    0    0    0    |
{4} | 0    0    0    0    0    0    0    0    0    -x_2 x_3  0    0    0    0    0    |
{4} | 0    0    0    0    0    0    0    0    0    x_1  0    0    0    0    0    -x_7 |
{4} | 0    0    0    0    0    0    0    0    0    0    0    0    0    0    -x_5 x_6  |
{4} | 0    0    0    0    0    0    0    0    0    0    0    0    0    -x_3 x_4  0    |
{4} | 0    0    0    0    0    0    0    0    0    0    0    0    x_1  x_2  0    0    |
i10 : print cc.dd_4
{5} | x_8x_4x_6          |
{5} | x_8x_3x_6          |
{5} | x_8x_2x_6          |
{5} | -x_8x_3x_5         |
{5} | x_8x_2x_5          |
{5} | -x_8zx_5+x_1x_5x_7 |
{5} | x_8x_2x_4          |
{5} | -x_8zx_4+x_1x_4x_7 |
{5} | -x_8zx_3+x_1x_3x_7 |
{5} | -x_3x_5x_7         |
{5} | -x_2x_5x_7         |
{5} | -x_2x_4x_7         |
{5} | x_2x_4x_6          |
{5} | -x_1x_4x_6         |
{5} | -x_1x_3x_6         |
{5} | -x_1x_3x_5         |
i11 : C=delta(4,R)

o11 = {x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  ,
        1  2  3  4    1  2  4  5    2  3  4  5    1  2  5  6    2  3  5  6  
      -----------------------------------------------------------------------
      x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  ,
       3  4  5  6    1  2  6  7    2  3  6  7    3  4  6  7    4  5  6  7  
      -----------------------------------------------------------------------
      x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  ,
       1  2  3  8    1  3  4  8    1  4  5  8    1  5  6  8    1  2  7  8  
      -----------------------------------------------------------------------
      x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  , x  x  x  x  }
       2  3  7  8    3  4  7  8    4  5  7  8    1  6  7  8    5  6  7  8

o11 : complex with 20 facets on the vertices x  x  x  x  x  x  x  x  
                                              1  2  3  4  5  6  7  8
i12 : I=complexToIdeal C

o12 = ideal (x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x ,
              4 6 8   3 6 8   2 6 8   3 5 8   2 5 8   2 4 8   3 5 7   2 5 7 
      -----------------------------------------------------------------------
      x x x , x x x , x x x , x x x , x x x , x x x , x x x , x x x )
       1 5 7   2 4 7   1 4 7   1 3 7   2 4 6   1 4 6   1 3 6   1 3 5

o12 : Ideal of R
i13 : betti res I

             0  1  2  3 4
o13 = total: 1 16 30 16 1
          0: 1  .  .  . .
          1: .  .  .  . .
          2: . 16 30 16 .
          3: .  .  .  . .
          4: .  .  .  . 1

o13 : BettiTally
i14 : cs=substitute(cc,R)

       1      16      30      16      1
o14 = R  <-- R   <-- R   <-- R   <-- R
                                      
      0      1       2       3       4

o14 : ChainComplex
i15 : isExact cs

o15 = true
i16 : I==ideal(cs.dd_1)

o16 = true

Caveat

So far only works for d even.

See also

  • cycRes -- Compute the minimal cyclic polytope resolutions via unprojection
  • complexToIdeal -- Compute the Stanley-Reisner ideal.
  • delta -- Boundary complex of cyclic polytope.
  • betti -- display degrees

Ways to use cycResDef :

  • cycResDef(ZZ,PolynomialRing,PolynomialRing)