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

facets(SimplicialComplex) -- get the list of maximal faces



In this package, an abstract simplicial complex $\Delta$ is identified with a squarefree monomial ideal in a polynomial ring. The vertices of $\Delta$ correspond to a subset of the variables in the polynomial ring, and each face is identified as the product of the variables corresponding to the vertices of that face. This method function returns a list whose entries are the squarefree monomials representing the maximal faces of $\Delta$.

The order of the facets is determined by the monomial order on the underlying polynomial ring. The facets of an abstract simplicial complex are used when outputting or printing; see net(SimplicialComplex).

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

o2 = simplicialComplex | bcde acde abde abce abcd |

o2 : SimplicialComplex
i3 : facets Δ

o3 = {b*c*d*e, a*c*d*e, a*b*d*e, a*b*c*e, a*b*c*d}

o3 : List
i4 : assert (facets Δ == {b*c*d*e, a*c*d*e, a*b*d*e, a*b*c*e, a*b*c*d}
         and isPure Δ and dim Δ === 3)

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.

i5 : Γ = simplicialComplex {e, c*d, b*d, a*b*c}

o5 = simplicialComplex | e cd bd abc |

o5 : SimplicialComplex
i6 : facets Γ

o6 = {e, c*d, b*d, a*b*c}

o6 : List
i7 : assert (facets Γ == {e, c*d, b*d, a*b*c} and
         ideal Γ == ideal (a*d, b*c*d, a*e, b*e, c*e, d*e) and
         not isPure Γ and dim Γ === 2)

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

i8 : irrelevant = simplicialComplex {1_S}

o8 = simplicialComplex | 1 |

o8 : SimplicialComplex
i9 : facets irrelevant

o9 = {1}

o9 : List
i10 : void = simplicialComplex monomialIdeal 1_S

o10 = simplicialComplex 0

o10 : SimplicialComplex
i11 : facets void

o11 = {}

o11 : List
i12 : assert (facets irrelevant == {1_S} and facets void == {})

The list of facets is part of the defining data of an abstract simplicial complex. While this method function does no computation, it allows us access to this data.

i13 : peek Δ

o13 = 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

See also

Ways to use this method: