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

prune(SimplicialComplex) -- make a minimal presentation of an abstract simplicial complex

Synopsis

Description

In this package, an abstract simplicial complex is represented by its Stanley–Reisner ideal in a polynomial ring. When the vertex set of $\Delta$ is a proper subset of the variables in its polynomial ring, this method creates an isomorphic abstract simplicial complex such that the generators of its polynomial ring are the vertices of $\Delta$.

When the monomial ideal of the abstract simplicial complex contains no linear forms, this method just returns the input.

i1 : S = QQ[a..e];
i2 : Δ4 = simplexComplex(4, S)

o2 = simplicialComplex | abcde |

o2 : SimplicialComplex
i3 : monomialIdeal Δ4

o3 = monomialIdeal ()

o3 : MonomialIdeal of S
i4 : prune Δ4

o4 = simplicialComplex | abcde |

o4 : SimplicialComplex
i5 : assert(Δ4 === prune Δ4)

When the monomial ideal contains one or more variables, this method returns an isomorphic abstract simplicial complex represented by a monomial ideal in a smaller polynomial ring.

i6 : Γ = simplicialComplex monomialIdeal(a, a*b, b*c, c*d)

o6 = simplicialComplex | ce bde |

o6 : SimplicialComplex
i7 : monomialIdeal Γ

o7 = monomialIdeal (a, b*c, c*d)

o7 : MonomialIdeal of S
i8 : prune Γ

o8 = simplicialComplex | ce bde |

o8 : SimplicialComplex
i9 : monomialIdeal prune Γ

o9 = monomialIdeal (b*c, c*d)

o9 : MonomialIdeal of QQ[b..e]
i10 : R = ring prune Γ;
i11 : (gens R, vertices  Γ)

o11 = ({b, c, d, e}, {b, c, d, e})

o11 : Sequence
i12 : assert(ring Γ =!= ring prune Γ)
i13 : assert(gens R  === apply(vertices Γ, x -> sub(x, R)))
i14 : Δ2 = simplexComplex(2, S)

o14 = simplicialComplex | abc |

o14 : SimplicialComplex
i15 : prune Δ2

o15 = simplicialComplex | abc |

o15 : SimplicialComplex
i16 : R = ring prune Δ2;
i17 : (gens R, vertices  Δ2)

o17 = ({a, b, c}, {a, b, c})

o17 : Sequence
i18 : assert(ring Δ2 =!= ring prune Δ2)
i19 : assert(gens R  === apply(vertices Δ2, x -> sub(x, R)))

There are two distinct abstract simplicial complexes that have no vertices.

i20 : void = simplicialComplex monomialIdeal(1_S)

o20 = simplicialComplex 0

o20 : SimplicialComplex
i21 : facets void

o21 = {}

o21 : List
i22 : monomialIdeal prune void

o22 = monomialIdeal 1

o22 : MonomialIdeal of QQ[]
i23 : assert(gens ring prune void === {})
i24 : assert(monomialIdeal prune void == 1)
i25 : irrelevant = simplicialComplex{1_S}

o25 = simplicialComplex | 1 |

o25 : SimplicialComplex
i26 : facets irrelevant

o26 = {1}

o26 : List
i27 : prune irrelevant

o27 = simplicialComplex | 1 |

o27 : SimplicialComplex
i28 : monomialIdeal prune irrelevant

o28 = monomialIdeal ()

o28 : MonomialIdeal of QQ[]
i29 : assert(gens ring prune irrelevant === {})
i30 : assert(monomialIdeal prune irrelevant == 0)

See also

Ways to use this method: