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

ideal(SimplicialComplex) -- get the Stanley–Reisner ideal

Synopsis

Description

In this package, an abstract simplicial complex is represented as squarefree monomial ideal in a polynomial ring. This method function returns the defining ideal.

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 : I = ideal Δ

o3 = ideal(a*b*c*d*e)

o3 : Ideal of S
i4 : dim Δ

o4 = 3
i5 : assert (I == ideal a*b*c*d*e and instance(I, Ideal) and
         numgens I === 1 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.

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

o6 = simplicialComplex | e cd bd abc |

o6 : SimplicialComplex
i7 : J = ideal Γ

o7 = ideal (a*d, b*c*d, a*e, b*e, c*e, d*e)

o7 : Ideal of S
i8 : assert (J == ideal (a*d, b*c*d, a*e, b*e, c*e, d*e) and
         dim Γ === 2 and instance(J, Ideal))

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

i9 : irrelevant = simplicialComplex {1_S};
i10 : M = ideal irrelevant

o10 = ideal (a, b, c, d, e)

o10 : Ideal of S
i11 : assert (M == ideal gens S and instance(M, Ideal))
i12 : void = simplicialComplex monomialIdeal 1_S

o12 = simplicialComplex 0

o12 : SimplicialComplex
i13 : U = ideal void

o13 = ideal 1

o13 : Ideal of S
i14 : assert (U == ideal 1_S and instance (U, Ideal))

This routine is identical to monomialIdeal(SimplicialComplex) except for the type of the output.

i15 : printWidth = 250;
i16 : code (ideal, SimplicialComplex)

o16 = -- code for method: ideal(SimplicialComplex)
      /usr/local/share/Macaulay2/SimplicialComplexes/Code.m2:19:38-19:49: --source code:
      ideal SimplicialComplex := Ideal => D -> ideal D.monomialIdeal
i17 : code (monomialIdeal, SimplicialComplex)

o17 = -- code for method: monomialIdeal(SimplicialComplex)
      /usr/local/share/Macaulay2/SimplicialComplexes/Code.m2:20:54-20:59: --source code:
      monomialIdeal SimplicialComplex := MonomialIdeal => D -> D.monomialIdeal

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

See also

Ways to use this method: