next | previous | forward | backward | up | index | toc

ring(SimplicialComplex) -- get the polynomial ring of its Stanley–Reisner ideal

Synopsis

• Function: ring
• Usage:
ring Delta
• Inputs:
• Delta, ,
• Outputs:
• , containing the defining Stanley–Reisner ideal

Description

In this package, an abstract simplicial complex is represented as squarefree monomial ideal in a polynomial ring. In particular, the vertices of an abstract simplicial complex are a subset of the variables in that polynomial ring. This method returns the polynomial ring containing the vertices of the simplicial complex.

The boundary of the 4-simplex is a simplicial sphere with 5 vertices, 5 tetrahedral facets, and a minimal nonface that corresponds to the interior of the sphere.

 i1 : S = ZZ[a..e]; i2 : Δ = simplicialComplex {b*c*d*e, a*c*d*e, a*b*d*e, a*b*c*e, a*b*c*d} o2 = simplicialComplex | bcde acde abde abce abcd | o2 : SimplicialComplex i3 : ring Δ o3 = S o3 : PolynomialRing i4 : coefficientRing Δ o4 = ZZ o4 : Ring i5 : dim Δ o5 = 3 i6 : assert (ring Δ === S and coefficientRing Δ === ZZ)

The abstract simplicial complex from Example 1.8 of Miller-Sturmfels' Combinatorial Commutative Algebra consists of a triangle (on vertices $a$, $b$, $c$), two edges (connecting $c$ to $d$ and $b$ to $d$), and an isolated vertex (namely $e$). It has six minimal nonfaces.

 i7 : R = ZZ/101[a..e]; i8 : Γ = simplicialComplex {e, c*d, b*d, a*b*c} o8 = simplicialComplex | e cd bd abc | o8 : SimplicialComplex i9 : ring Γ o9 = R o9 : PolynomialRing i10 : ideal Γ o10 = ideal (a*d, b*c*d, a*e, b*e, c*e, d*e) o10 : Ideal of R i11 : assert (ring Γ === R and coefficientRing Γ === ZZ/101)

The irrelevant complex has the empty set as a facet whereas the void complex has no facets.

 i12 : irrelevant = simplicialComplex {1_R}; i13 : ring irrelevant o13 = R o13 : PolynomialRing i14 : void = simplicialComplex monomialIdeal 1_S o14 = simplicialComplex 0 o14 : SimplicialComplex i15 : ring void o15 = S o15 : PolynomialRing i16 : assert (ring irrelevant === R and ring void === S)

As the Stanley–Reisner ideal is part the defining data of an abstract simplicial complex, so this method does no computation.

 i17 : peek Δ o17 = SimplicialComplex{cache => CacheTable{...1...} } facets => {b*c*d*e, a*c*d*e, a*b*d*e, a*b*c*e, a*b*c*d} monomialIdeal => monomialIdeal(a*b*c*d*e) ring => S

Caveat

Although an abstract simplicial complex can be represented by a Stanley–Reisner ideal in any polynomial ring with a sufficiently large number of variables, some operations in this package do depend of the choice of the polynomial ring (or its coefficient ring). For example, the chain complex of an abstract simplicial complex is typically constructed over the coefficient ring of this polynomial ring, and the dual of a simplicial complex (or monomial ideal) is dependent on the number of variables in the polynomial ideal.