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

simplicialComplex -- create a simplicial complex

Synopsis

Description

A simplicial complex on a set of vertices is a collection of subsets D of these vertices, such that if F is in D, then every subset of F is also in D. In Macaulay 2, the vertices are variables in a polynomial ring, and each subset is represented as a product of the corresponding variables.

A simplicial complex is determined either by its nonfaces or by its faces. The monomials corresponding to the nonfaces are a basis of an ideal, called the Stanley-Reisner ideal, and it suffices to specify the minimal nonfaces, which generate the ideal. The monomials corresponding to the faces do not form the basis of an ideal, but it suffices to specify the maximal faces, which are called facets. The function simplicialComplex accepts either the ideal of nonfaces or the list of facets as input.

In our first example we construct the octahedron by specfying its ideal of nonfaces.

R = ZZ[a..f];
I = monomialIdeal(a*f, b*d, c*e);
Octahedron = simplicialComplex I
Note that a simplicial complex is displayed by showing its facets. We see that there are eight facets to the octahedron. Alternatively, we could have defined the octahedron by this list of facets.
L = {d*e*f, b*e*f, c*d*f, b*c*f, a*d*e, a*b*e, a*c*d, a*b*c}
Octahedron' = simplicialComplex L
Octahedron == Octahedron'
fVector Octahedron
There are two "trivial" simplicial complexes: the void complex and the irrelevant complex. The void complex has no faces. This complex cannot be constructed from its facets, since it has none.
void = simplicialComplex monomialIdeal 1_R
fVector void
dim void
The irrelevant complex, which should be distinguished from the void complex, has a unique face of dimension -1, the empty set.
irrelevant = simplicialComplex monomialIdeal gens R
fVector irrelevant
dim irrelevant
irrelevant' = simplicialComplex {1_R}
irrelevant' == irrelevant
As in Miller-Sturmfels, Combinatorial Commutative Algebra, we would avoid making such a big deal about the difference between these complexes if it did not come up so much. Many formulas for betti numbers, dimensions of local cohomology, etc., depend on this distinction.

Caveat

  • The ring of I or L must be a polynomial ring.
  • The coefficient ring matters: for instance, it is used when computing the corresponding chain complex.
  • This construction routine does some computation, as it computes both the facets and the ideal of non-faces.

See also

Ways to use simplicialComplex :