Macaulay2 » Documentation
Packages » SimplicialComplexes :: link(SimplicialComplex,RingElement)
next | previous | forward | backward | up | index | toc

link(SimplicialComplex,RingElement) -- make the link of a face in an abstract simplicial complex

Synopsis

Description

The link of a face $F$ in the abstract simplicial complex $\Delta$ is the set of faces that are disjoint from $F$ but whose unions with $F$ lie in $\Delta$.

Following Example 1.39 in Miller-Sturmfels' Combinatorial Commutative Algebra, we consider a simplicial complex with 6 facets. The link of the vertex $a$ consists of the vertex $e$ along with the proper faces of the triangle $b*c*d$. The link of the vertex $c$ is pure of dimension $1$; its four facets being the three edges of the triangle $a*b*d$ plus the extra edge $b*e$. The link of $e$ consists of the vertex $a$ along with the edge $b*c$. The link of the edge $b*c$ consists of the three remaining vertices. Finally, the link of the edge $a*e$ is the irrelevant complex.

i1 : S = QQ[a..e];
i2 : Δ = simplicialComplex monomialIdeal (d*e, a*b*e, a*c*e, a*b*c*d)

o2 = simplicialComplex | ae bce bcd acd abd abc |

o2 : SimplicialComplex
i3 : link (Δ, a)

o3 = simplicialComplex | e cd bd bc |

o3 : SimplicialComplex
i4 : link (Δ, c)

o4 = simplicialComplex | be bd ad ab |

o4 : SimplicialComplex
i5 : link (Δ, e)

o5 = simplicialComplex | a bc |

o5 : SimplicialComplex
i6 : link (Δ, b*c)

o6 = simplicialComplex | e d a |

o6 : SimplicialComplex
i7 : link (Δ, a*e)

o7 = simplicialComplex | 1 |

o7 : SimplicialComplex
i8 : assert (facets link (Δ, a) ===  {e, c*d, b*d, b*c})
i9 : assert (facets link (Δ, c) ===  {b*e, b*d, a*d, a*b})
i10 : assert (facets link (Δ, e) === {a, b*c})
i11 : assert (facets link (Δ, b*c) === {e,d,a})
i12 : assert (facets link (Δ, a*e) === {1_S})
i13 : assert (isPure link (Δ, c) and dim link (Δ, a*e) === -1)

The link of the empty face equals the original simplicial complex.

i14 : link(Δ, 1_S)

o14 = simplicialComplex | ae bce bcd acd abd abc |

o14 : SimplicialComplex
i15 : void = simplicialComplex monomialIdeal 1_S

o15 = simplicialComplex 0

o15 : SimplicialComplex
i16 : link (void, 1_S)

o16 = simplicialComplex 0

o16 : SimplicialComplex
i17 : assert (link (Δ, 1_S) === Δ and link(void, 1_S) === void)

If $G$ is a face in the link of some face $F$, then $F$ is a face in the link of $G$.

i18 : S = ZZ/101[a..g];
i19 : Δ = simplicialComplex {a*b*c, a*c*d, a*d*e, a*e*f, a*f*g, a*b*g}

o19 = simplicialComplex | afg abg aef ade acd abc |

o19 : SimplicialComplex
i20 : link (Δ, a*b)

o20 = simplicialComplex | g c |

o20 : SimplicialComplex
i21 : link (Δ, g)

o21 = simplicialComplex | af ab |

o21 : SimplicialComplex
i22 : link (Δ, c)

o22 = simplicialComplex | ad ab |

o22 : SimplicialComplex

The dual version of Hochster's formula (see Corollary 1.40 in Miller-Sturmfels) relates the Betti numbers of a Stanley–Reisner ideal with the reduced homology of a link in the Alexander dual simplicial complex.

i23 : betti res ideal Δ

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

o23 : BettiTally
i24 : R = QQ[a..e, DegreeRank => 5];
i25 : Γ = simplicialComplex monomialIdeal (d*e, a*b*e, a*c*e, a*b*c*d)

o25 = simplicialComplex | ae bce bcd acd abd abc |

o25 : SimplicialComplex
i26 : prune Tor_0(R^1/gens R,ideal Γ)

o26 = cokernel {1, 1, 1, 1, 0} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 e d c b a |
               {1, 1, 0, 0, 1} | 0 0 0 0 0 e d c b a 0 0 0 0 0 0 0 0 0 0 |
               {1, 0, 1, 0, 1} | 0 0 0 0 0 0 0 0 0 0 e d c b a 0 0 0 0 0 |
               {0, 0, 0, 1, 1} | e d c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |

                             4
o26 : R-module, quotient of R
i27 : assert (hilbertFunction({1,1,1,1,0}, Tor_0(R^1/gens R, ideal Γ)) === rank HH_(-1) (link (dual Γ, e)))
i28 : assert (hilbertFunction({1,1,0,0,1}, Tor_0(R^1/gens R, ideal Γ)) === rank HH_(-1) (link (dual Γ, c*d)))
i29 : assert (hilbertFunction({1,0,1,0,1}, Tor_0(R^1/gens R, ideal Γ)) === rank HH_(-1) (link (dual Γ, b*d)))
i30 : assert (hilbertFunction({0,0,0,1,1}, Tor_0(R^1/gens R, ideal Γ)) === rank HH_(-1) (link (dual Γ, a*b*c)))
i31 : prune Tor_1(R^1/gens R, ideal Γ)

o31 = cokernel {1, 1, 1, 0, 1} | e d c b a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
               {1, 1, 0, 1, 1} | 0 0 0 0 0 e d c b a 0 0 0 0 0 0 0 0 0 0 |
               {1, 0, 1, 1, 1} | 0 0 0 0 0 0 0 0 0 0 e d c b a 0 0 0 0 0 |
               {1, 1, 1, 1, 1} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 e d c b a |

                             4
o31 : R-module, quotient of R
i32 : assert (hilbertFunction({1,1,1,0,1}, Tor_1(R^1/gens R, ideal Γ)) === rank HH_0 (link (dual Γ, d)))
i33 : assert (hilbertFunction({1,1,0,1,1}, Tor_1(R^1/gens R, ideal Γ)) === rank HH_0 (link (dual Γ, c)))
i34 : assert (hilbertFunction({1,0,1,1,1}, Tor_1(R^1/gens R, ideal Γ)) === rank HH_0 (link (dual Γ, b)))
i35 : assert (hilbertFunction({1,1,1,1,1}, Tor_1(R^1/gens R, ideal Γ)) === rank HH_0 (link (dual Γ, 1_R)))
i36 : prune Tor_2(R^1/gens R, ideal Γ)

o36 = cokernel {1, 1, 1, 1, 1} | e d c b a |

                             1
o36 : R-module, quotient of R
i37 : assert (hilbertFunction({1,1,1,1,1}, Tor_2(R^1/gens R, ideal Γ)) === rank HH_1 (link (dual Γ, 1_R)))

The Reisner criterion for the Cohen-Macaulay property of the Stanley–Reisner ring involves links, see Theorem 5.53 in Miller-Sturmfels. Specifically, an abstract simplicial complex $\Delta$ is Cohen-Macaulay if and only if, for all faces $F$ in $\Delta$ and all $i$ such that $i < \operatorname{dim} \operatorname{link}(\Delta, F)$, the $i$-th reduced homology of $\operatorname{link}(\Delta, F)$ vanishes.

i38 : R' = QQ[a..h];
i39 : B = bartnetteSphereComplex R'

o39 = simplicialComplex | defh befh cdfh bcfh adeh abeh acdh abch defg cefg adfg acfg bdeg bceg abdg abcg bcef acdf abde |

o39 : SimplicialComplex
i40 : pdim comodule ideal B === codim ideal B  -- B is Cohen-Macaulay

o40 = true
i41 : assert all (flatten apply(-1..2, i -> (faces B)#i), f -> (
               L := link (B, f);
               all (-1..dim L - 1, j -> HH_j(L) == 0)))

See also

Ways to use this method: