# Stellar Subdivisions -- The Kustin-Miller complex for stellar subdivisions

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```