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

# simplicialComplex(MonomialIdeal) -- make a simplicial complex from its Stanley–Reisner ideal

## Synopsis

• Function: simplicialComplex
• Usage:
simplicialComplex I
• Inputs:
• I, , or an Ideal with monomial entries
• Outputs:
• , whose minimal nonfaces correspond to the generators of $I$

## Description

An abstract simplicial complex on a finite set is a family of subsets that is closed under taking subsets. The elements in the abstract simplicial complex are called its faces. The faces having cardinality 1 are its vertices and the maximal faces (order by inclusion) are its facets. Following the combinatorial conventions, every nonempty abstract simplicial complex has the empty set as a face.

In this package, a simplicial complex is represented by its Stanley–Reisner ideal. The vertices are identified with a subset of the variables in a polynomial ring and each face is identified with the product of the corresponding variables. A nonface is any subset of the variables that does not belong to the simplicial complex and each nonface is again identified with a product of variables. The Stanley-Reisner ideal of a simplicial complex is generated by monomials corresponding to its nonfaces.

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 monomialIdeal (a*b*c*d*e) o2 = simplicialComplex | bcde acde abde abce abcd | o2 : SimplicialComplex i3 : monomialIdeal Δ o3 = monomialIdeal(a*b*c*d*e) o3 : MonomialIdeal of S i4 : facets Δ o4 = {b*c*d*e, a*c*d*e, a*b*d*e, a*b*c*e, a*b*c*d} o4 : List i5 : dim Δ o5 = 3 i6 : assert (dim Δ === 3 and numgens ideal Δ === 1 and isPure Δ)

An isomorphic abstract simplicial complex may be constructed in a larger polynomial ring.

 i7 : R = QQ[a..f]; i8 : Γ = simplicialComplex monomialIdeal (a*b*c*d*e, f) o8 = simplicialComplex | bcde acde abde abce abcd | o8 : SimplicialComplex i9 : monomialIdeal Γ o9 = monomialIdeal (a*b*c*d*e, f) o9 : MonomialIdeal of R i10 : facets Γ o10 = {b*c*d*e, a*c*d*e, a*b*d*e, a*b*c*e, a*b*c*d} o10 : List i11 : assert((for F in facets Γ list sub(F,S)) === facets Δ)

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.

 i12 : S' = ZZ/101[a..e]; i13 : Δ' = simplicialComplex monomialIdeal (a*d, b*c*d, a*e, b*e, c*e, d*e) o13 = simplicialComplex | e cd bd abc | o13 : SimplicialComplex i14 : monomialIdeal Δ' o14 = monomialIdeal (a*d, b*c*d, a*e, b*e, c*e, d*e) o14 : MonomialIdeal of S' i15 : facets Δ' o15 = {e, c*d, b*d, a*b*c} o15 : List i16 : dim Δ' o16 = 2 i17 : assert (dim Δ' === 2 and not isPure Δ')

There are two "trivial" simplicial complexes: The irrelevant complex has the empty set as a facet whereas the void complex has no facets. Since every abstract simplicial complex in this package is equipped with a chosen polynomial ring, the void complex cannot be constructed by just listing its facets.

 i18 : irrelevant = simplicialComplex monomialIdeal gens S o18 = simplicialComplex | 1 | o18 : SimplicialComplex i19 : monomialIdeal irrelevant o19 = monomialIdeal (a, b, c, d, e) o19 : MonomialIdeal of S i20 : facets irrelevant o20 = {1} o20 : List i21 : void = simplicialComplex monomialIdeal 1_R o21 = simplicialComplex 0 o21 : SimplicialComplex i22 : monomialIdeal void o22 = monomialIdeal 1 o22 : MonomialIdeal of R i23 : facets void o23 = {} o23 : List i24 : assert (facets irrelevant === {1_S} and facets void === {})

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.

 i25 : chainComplex Δ 1 5 10 10 5 o25 = ZZ <-- ZZ <-- ZZ <-- ZZ <-- ZZ -1 0 1 2 3 o25 : ChainComplex i26 : chainComplex Γ 1 5 10 10 5 o26 = QQ <-- QQ <-- QQ <-- QQ <-- QQ -1 0 1 2 3 o26 : ChainComplex i27 : chainComplex Δ' ZZ 1 ZZ 5 ZZ 5 ZZ 1 o27 = (---) <-- (---) <-- (---) <-- (---) 101 101 101 101 -1 0 1 2 o27 : ChainComplex

The input can be an Ideal, in which case the constructor verifies that it is a squarefree monomial ideal.

 i28 : Bowtie = simplicialComplex ideal {a*d, b*d, a*e, b*e} o28 = simplicialComplex | cde abc | o28 : SimplicialComplex