Macaulay2 » Documentation
Packages » SimplicialComplexes :: buchbergerSimplicialComplex
next | previous | forward | backward | up | index | toc

buchbergerSimplicialComplex -- make the Buchberger complex of a monomial ideal

Synopsis

Description

If a monomial ideal is minimally generated by a list of monomials $L$, then the Buchberger complex is the simplicial complex whose vertices correspond to the monomials in $L$ and whose faces faces correspond subsets $F$ of $L$ for which no monomial in $L$ properly divides $\text{lcm} (F)$. When we say a monomial $m$ properly divides $\text{lcm} (F)$, we mean $m$ divides $\text{lcm} (F)$ and $(\text{lcm} (F))/m$ has the same support as $\text{lcm} (F)$.

The Buchberger complex is a generalization of the Buchberger graph, first introduced in Miller-Sturmfels Monomial Ideals and Planar Graphs as an important object of study for Gröbner bases. Oltaneau and Welker introduce the Buchberger complex in their paper The Buchberger Resolution.

i1 : R = ZZ/101[x_0..x_4];
i2 : S = ZZ/101[a,b,c,d,e];
i3 : I = monomialIdeal(x_1^2, x_2^2, x_3^2, x_1*x_3, x_2*x_4);

o3 : MonomialIdeal of R
i4 : B1 = buchbergerSimplicialComplex(I,S)

o4 = simplicialComplex | acde abcd |

o4 : SimplicialComplex

The Buchberger complex supports a free resolution of $I$, called the Buchberger resolution of $I$.

i5 : BRes = chainComplex(B1, Labels => first entries mingens I)

      1      5      9      7      2
o5 = R  <-- R  <-- R  <-- R  <-- R
                                  
     0      1      2      3      4

o5 : ChainComplex
i6 : HH_0(BRes)

o6 = cokernel | x_2x_4 x_3^2 x_1x_3 x_2^2 x_1^2 |

                            1
o6 : R-module, quotient of R
i7 : all(1..dim B1+1, i -> prune HH_i(BRes) == 0)

o7 = true
i8 : BRes == buchbergerResolution(I)

o8 = true

If the monomial ideal is square free, then the Buchberger complex is the simplex on $\#L$ vertices.

i9 : L = {x_1*x_2, x_1*x_3*x_4, x_0*x_2*x_4};
i10 : B2 = buchbergerSimplicialComplex(L,S)

o10 = simplicialComplex | abc |

o10 : SimplicialComplex

See also

Ways to use buchbergerSimplicialComplex :

For the programmer

The object buchbergerSimplicialComplex is a method function.