We consider a Gorenstein* simplicial complex C and the complex C’ obtained by stellar subdivision (see stellarSubdivision) of a face F of C, and the corresponding Stanley-Reisner ideals I and I’.
We construct a resolution of I’ from a resolution of I and from a resolution of the Stanley-Reisner ideal of the link of F using the Kustin-Miller complex construction implemented in kustinMillerComplex. Note that this resolution is not necessarily minimal (for facets it is).
For details see
J. Boehm, S. Papadakis: Stellar subdivisions and Stanley-Reisner rings of Gorenstein complexes, http://arxiv.org/abs/0912.2151
(1) The simplest example:
The stellar of the edge {x1,x2} of the triangle with vertices x1,x2,x3. The new vertex is x4 and z1 is the base of the unprojection deformation.
i1 : K=QQ; |
i2 : R=K[x_1..x_3,z_1]; |
i3 : I=ideal(x_1*x_2*x_3) o3 = ideal(x x x ) 1 2 3 o3 : Ideal of R |
i4 : Ilink=I:ideal(x_1*x_2) o4 = ideal(x ) 3 o4 : Ideal of R |
i5 : J=Ilink+ideal(z_1) o5 = ideal (x , z ) 3 1 o5 : Ideal of R |
i6 : cI=res I 1 1 o6 = R <-- R <-- 0 0 1 2 o6 : ChainComplex |
i7 : betti cI 0 1 o7 = total: 1 1 0: 1 . 1: . . 2: . 1 o7 : BettiTally |
i8 : cJ=res J 1 2 1 o8 = R <-- R <-- R <-- 0 0 1 2 3 o8 : ChainComplex |
i9 : betti cJ 0 1 2 o9 = total: 1 2 1 0: 1 2 1 o9 : BettiTally |
i10 : cc=kustinMillerComplex(cI,cJ,K[x_4]); |
i11 : S=ring cc o11 = S o11 : PolynomialRing |
i12 : cc 1 2 1 o12 = S <-- S <-- S 0 1 2 o12 : ChainComplex |
i13 : betti cc 0 1 2 o13 = total: 1 2 1 0: 1 . . 1: . 2 . 2: . . 1 o13 : BettiTally |
i14 : isExactRes cc o14 = true |
i15 : print cc.dd_1 | x_4x_3 -x_1x_2+x_4z_1 | |
i16 : print cc.dd_2 {2} | -x_1x_2+x_4z_1 | {2} | -x_4x_3 | |
Obviously the ideal resolved by the Kustin-Miller complex at the special fiber z1=0 is the Stanley-Reisner ideal of the stellar subdivision (i.e., of a 4-gon).
(2) Stellar of the facet {x1,x2,x4,x6} of the simplicial complex of the complete intersection (x1*x2*x3,x4*x5*x6) resulting in a Pfaffian:
i17 : R=K[x_1..x_6,z_1..z_3]; |
i18 : I=ideal(x_1*x_2*x_3,x_4*x_5*x_6) o18 = ideal (x x x , x x x ) 1 2 3 4 5 6 o18 : Ideal of R |
i19 : Ilink=I:ideal(x_1*x_2*x_4*x_6) o19 = ideal (x , x ) 5 3 o19 : Ideal of R |
i20 : J=Ilink+ideal(z_1*z_2*z_3) o20 = ideal (x , x , z z z ) 5 3 1 2 3 o20 : Ideal of R |
i21 : cI=res I 1 2 1 o21 = R <-- R <-- R <-- 0 0 1 2 3 o21 : ChainComplex |
i22 : betti cI 0 1 2 o22 = total: 1 2 1 0: 1 . . 1: . . . 2: . 2 . 3: . . . 4: . . 1 o22 : BettiTally |
i23 : cJ=res J 1 3 3 1 o23 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o23 : ChainComplex |
i24 : betti cJ 0 1 2 3 o24 = total: 1 3 3 1 0: 1 2 1 . 1: . . . . 2: . 1 2 1 o24 : BettiTally |
i25 : cc=kustinMillerComplex(cI,cJ,K[x_7]); |
i26 : S=ring cc o26 = S o26 : PolynomialRing |
i27 : cc 1 5 5 1 o27 = S <-- S <-- S <-- S 0 1 2 3 o27 : ChainComplex |
i28 : betti cc 0 1 2 3 o28 = total: 1 5 5 1 0: 1 . . . 1: . 2 1 . 2: . 2 2 . 3: . 1 2 . 4: . . . 1 o28 : BettiTally |
i29 : isExactRes cc o29 = true |
i30 : print cc.dd_1 | x_1x_2x_3 x_4x_5x_6 x_7x_3 x_7x_5 -x_1x_2x_4x_6+x_7z_1z_2z_3 | |
i31 : print cc.dd_2 {3} | 0 -x_4x_6 0 x_7 0 | {3} | 0 0 -x_1x_2 0 x_7 | {2} | x_5 z_1z_2z_3 0 -x_1x_2 0 | {2} | -x_3 0 z_1z_2z_3 0 -x_4x_6 | {4} | 0 -x_3 -x_5 0 0 | |
i32 : print cc.dd_3 {3} | -x_1x_2x_4x_6+x_7z_1z_2z_3 | {5} | -x_7x_5 | {5} | x_7x_3 | {4} | -x_4x_5x_6 | {4} | x_1x_2x_3 | |
We compare with the combinatorics, i.e., check that the ideal resolved by the Kustin Miller complex at the special fiber is the Stanley-Reisner ideal of the stellar subdivision:
i33 : R=K[x_1..x_6]; |
i34 : C=idealToComplex ideal(x_1*x_2*x_3,x_4*x_5*x_6) o34 = {x x x x , x x x x , x x x x , x x x x , x x x x , 1 2 4 5 2 3 4 5 2 3 5 6 2 3 4 6 1 3 4 5 ----------------------------------------------------------------------- x x x x , x x x x , x x x x , x x x x } 1 3 5 6 1 3 4 6 1 2 5 6 1 2 4 6 o34 : complex with 9 facets on the vertices x x x x x x 1 2 3 4 5 6 |
i35 : fvector C o35 = {1, 6, 15, 18, 9, 0, 0} o35 : List |
i36 : F=face {x_1,x_2,x_4,x_6} o36 = x x x x 1 2 4 6 o36 : face with 4 vertices |
i37 : R'=K[x_1..x_7]; |
i38 : C'=substituteComplex(stellarSubdivision(C,F,K[x_7]),R') o38 = {x x x x , x x x x , x x x x , x x x x , x x x x , 1 2 4 5 2 3 4 5 2 3 5 6 2 3 4 6 1 3 4 5 ----------------------------------------------------------------------- x x x x , x x x x , x x x x , x x x x , x x x x , 1 3 5 6 1 3 4 6 1 2 5 6 7 2 4 6 7 1 4 6 ----------------------------------------------------------------------- x x x x , x x x x } 7 1 2 6 7 1 2 4 o38 : complex with 12 facets on the vertices x x x x x x x 1 2 3 4 5 6 7 |
i39 : fvector C' o39 = {1, 7, 19, 24, 12, 0, 0, 0} o39 : List |
i40 : I'=sub(ideal(cc.dd_1),R') o40 = ideal (x x x , x x x , x x , x x , -x x x x ) 1 2 3 4 5 6 3 7 5 7 1 2 4 6 o40 : Ideal of R' |
i41 : C'==idealToComplex I' o41 = true |
One observes that in this case the resulting complex is minimal This is always true for stellars of facets.
(3) Stellar of an edge:
i42 : R=K[x_1..x_5,z_1]; |
i43 : I=ideal(x_1*x_2*x_3,x_4*x_5) o43 = ideal (x x x , x x ) 1 2 3 4 5 o43 : Ideal of R |
i44 : C=idealToComplex I o44 = {x x x z , x x x z , x x x z , x x x z , x x x z , 1 2 4 1 2 3 4 1 2 3 5 1 1 3 4 1 1 3 5 1 ----------------------------------------------------------------------- x x x z } 1 2 5 1 o44 : complex with 6 facets on the vertices x x x x x z 1 2 3 4 5 1 |
i45 : fvector C o45 = {1, 6, 14, 15, 6, 0, 0} o45 : List |
i46 : F=face {x_1,x_2} o46 = x x 1 2 o46 : face with 2 vertices |
i47 : Ilink=I:ideal(product F) o47 = ideal (x , x x ) 3 4 5 o47 : Ideal of R |
i48 : J=Ilink+ideal(z_1) o48 = ideal (x , x x , z ) 3 4 5 1 o48 : Ideal of R |
i49 : cI=res I 1 2 1 o49 = R <-- R <-- R <-- 0 0 1 2 3 o49 : ChainComplex |
i50 : betti cI 0 1 2 o50 = total: 1 2 1 0: 1 . . 1: . 1 . 2: . 1 . 3: . . 1 o50 : BettiTally |
i51 : cJ=res J 1 3 3 1 o51 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o51 : ChainComplex |
i52 : betti cJ 0 1 2 3 o52 = total: 1 3 3 1 0: 1 2 1 . 1: . 1 2 1 o52 : BettiTally |
i53 : cc=kustinMillerComplex(cI,cJ,K[x_6]); |
i54 : S=ring cc o54 = S o54 : PolynomialRing |
i55 : cc 1 5 5 1 o55 = S <-- S <-- S <-- S 0 1 2 3 o55 : ChainComplex |
i56 : betti cc 0 1 2 3 o56 = total: 1 5 5 1 0: 1 . . . 1: . 3 2 . 2: . 2 3 . 3: . . . 1 o56 : BettiTally |
i57 : isExactRes cc o57 = true |
i58 : print cc.dd_1 | x_4x_5 x_1x_2x_3 x_6x_3 -x_1x_2+x_6z_1 x_6x_4x_5 | |
i59 : print cc.dd_2 {2} | 0 0 x_1x_2 x_6 0 | {3} | -1 0 0 0 x_6 | {2} | z_1 x_4x_5 0 0 -x_1x_2 | {2} | -x_3 0 x_4x_5 0 0 | {3} | 0 -x_3 -z_1 -1 0 | |
i60 : print cc.dd_3 {3} | x_6x_4x_5 | {4} | x_1x_2-x_6z_1 | {4} | x_6x_3 | {3} | -x_1x_2x_3 | {4} | x_4x_5 | |
i61 : print cc.dd_4 0 |
(4) Starting out with the Pfaffian elliptic curve:
i62 : R=K[x_1..x_5,z_1]; |
i63 : I=ideal(x_1*x_2,x_2*x_3,x_3*x_4,x_4*x_5,x_5*x_1) o63 = ideal (x x , x x , x x , x x , x x ) 1 2 2 3 3 4 4 5 1 5 o63 : Ideal of R |
i64 : Ilink=I:ideal(x_1*x_3) o64 = ideal (x , x , x ) 5 4 2 o64 : Ideal of R |
i65 : J=Ilink+ideal(z_1) o65 = ideal (x , x , x , z ) 5 4 2 1 o65 : Ideal of R |
i66 : cI=res I 1 5 5 1 o66 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o66 : ChainComplex |
i67 : betti cI 0 1 2 3 o67 = total: 1 5 5 1 0: 1 . . . 1: . 5 5 . 2: . . . 1 o67 : BettiTally |
i68 : cJ=res J 1 4 6 4 1 o68 = R <-- R <-- R <-- R <-- R <-- 0 0 1 2 3 4 5 o68 : ChainComplex |
i69 : betti cJ 0 1 2 3 4 o69 = total: 1 4 6 4 1 0: 1 4 6 4 1 o69 : BettiTally |
i70 : cc=kustinMillerComplex(cI,cJ,K[x_10]); |
i71 : betti cc 0 1 2 3 4 o71 = total: 1 9 16 9 1 0: 1 . . . . 1: . 9 16 9 . 2: . . . . 1 o71 : BettiTally |
(5) One more example of a stellar of an edge starting with a codimension 4 complete intersection:
i72 : R=K[x_1..x_9,z_1]; |
i73 : I=ideal(x_1*x_2,x_3*x_4,x_5*x_6,x_7*x_8*x_9) o73 = ideal (x x , x x , x x , x x x ) 1 2 3 4 5 6 7 8 9 o73 : Ideal of R |
i74 : Ilink=I:ideal(x_1*x_3) o74 = ideal (x , x , x x , x x x ) 4 2 5 6 7 8 9 o74 : Ideal of R |
i75 : J=Ilink+ideal(z_1) o75 = ideal (x , x , x x , x x x , z ) 4 2 5 6 7 8 9 1 o75 : Ideal of R |
i76 : cI=res I 1 4 6 4 1 o76 = R <-- R <-- R <-- R <-- R <-- 0 0 1 2 3 4 5 o76 : ChainComplex |
i77 : betti cI 0 1 2 3 4 o77 = total: 1 4 6 4 1 0: 1 . . . . 1: . 3 . . . 2: . 1 3 . . 3: . . 3 1 . 4: . . . 3 . 5: . . . . 1 o77 : BettiTally |
i78 : cJ=res J 1 5 10 10 5 1 o78 = R <-- R <-- R <-- R <-- R <-- R <-- 0 0 1 2 3 4 5 6 o78 : ChainComplex |
i79 : betti cJ 0 1 2 3 4 5 o79 = total: 1 5 10 10 5 1 0: 1 3 3 1 . . 1: . 1 3 3 1 . 2: . 1 3 3 1 . 3: . . 1 3 3 1 o79 : BettiTally |
i80 : cc=kustinMillerComplex(cI,cJ,K[x_10]); |
i81 : S=ring cc; |
i82 : cc 1 9 20 20 9 1 o82 = S <-- S <-- S <-- S <-- S <-- S 0 1 2 3 4 5 o82 : ChainComplex |
i83 : betti cc 0 1 2 3 4 5 o83 = total: 1 9 20 20 9 1 0: 1 . . . . . 1: . 6 6 1 . . 2: . 2 7 6 1 . 3: . 1 6 7 2 . 4: . . 1 6 6 . 5: . . . . . 1 o83 : BettiTally |
We compare again compare with the combinatorics:
i84 : R=K[x_1..x_9]; |
i85 : C=idealToComplex sub(I,R) o85 = {x x x x x , x x x x x , x x x x x , x x x x x , x 1 3 5 7 8 2 3 5 7 8 2 4 5 7 8 2 4 6 7 8 2 ----------------------------------------------------------------------- x x x x , x x x x x , x x x x x , x x x x x , x x 4 6 8 9 2 4 6 7 9 2 4 5 8 9 2 4 5 7 9 2 3 ----------------------------------------------------------------------- x x x , x x x x x , x x x x x , x x x x x , x x x 6 7 8 2 3 6 8 9 2 3 6 7 9 2 3 5 8 9 2 3 5 ----------------------------------------------------------------------- x x , x x x x x , x x x x x , x x x x x , x x x x 7 9 1 4 5 7 8 1 4 6 7 8 1 4 6 8 9 1 4 6 7 ----------------------------------------------------------------------- x , x x x x x , x x x x x , x x x x x , x x x x x 9 1 4 5 8 9 1 4 5 7 9 1 3 6 7 8 1 3 6 8 9 ----------------------------------------------------------------------- , x x x x x , x x x x x , x x x x x } 1 3 6 7 9 1 3 5 8 9 1 3 5 7 9 o85 : complex with 24 facets on the vertices x x x x x x x x x 1 2 3 4 5 6 7 8 9 |
i86 : fvector C o86 = {1, 9, 33, 62, 60, 24, 0, 0, 0, 0} o86 : List |
i87 : F=face {x_1,x_3} o87 = x x 1 3 o87 : face with 2 vertices |
i88 : R'=K[x_1..x_10]; |
i89 : C'=substituteComplex(stellarSubdivision(C,F,K[x_10]),R') o89 = {x x x x x , x x x x x , x x x x x , x x x x x , 5 7 8 10 3 5 7 8 10 1 2 3 5 7 8 2 4 5 7 8 ----------------------------------------------------------------------- x x x x x , x x x x x , x x x x x , x x x x x , x 2 4 6 7 8 2 4 6 8 9 2 4 6 7 9 2 4 5 8 9 2 ----------------------------------------------------------------------- x x x x , x x x x x , x x x x x , x x x x x , x x 4 5 7 9 2 3 6 7 8 2 3 6 8 9 2 3 6 7 9 2 3 ----------------------------------------------------------------------- x x x , x x x x x , x x x x x , x x x x x , x x x 5 8 9 2 3 5 7 9 1 4 5 7 8 1 4 6 7 8 1 4 6 ----------------------------------------------------------------------- x x , x x x x x , x x x x x , x x x x x , x x x x 8 9 1 4 6 7 9 1 4 5 8 9 1 4 5 7 9 6 7 8 10 ----------------------------------------------------------------------- x , x x x x x , x x x x x , x x x x x , x x x x 3 6 7 8 10 1 6 8 9 10 3 6 8 9 10 1 6 7 9 10 ----------------------------------------------------------------------- x , x x x x x , x x x x x , x x x x x , x x x x 3 6 7 9 10 1 5 8 9 10 3 5 8 9 10 1 5 7 9 10 ----------------------------------------------------------------------- x , x x x x x } 3 5 7 9 10 1 o89 : complex with 30 facets on the vertices x x x x x x x x x x 1 2 3 4 5 6 7 8 9 10 |
i90 : fvector C' o90 = {1, 10, 49, 94, 87, 30, 0, 0, 0, 0, 0} o90 : List |
i91 : I'=sub(ideal(cc.dd_1),R') o91 = ideal (x x , x x , x x , x x x , x x , x x , -x x , x x x , 1 2 3 4 5 6 7 8 9 2 10 4 10 1 3 5 6 10 ----------------------------------------------------------------------- x x x x ) 7 8 9 10 o91 : Ideal of R' |
i92 : C'==idealToComplex I' o92 = true |