This uses the edge ideal notion of sequential Cohen-Macaulayness; a hypergraph is called SCM if and only if its edge ideal is SCM. The algorithm is based on work of Herzog and Hibi, using the Alexander dual. H is SCM if and only if the Alexander dual of the edge ideal of H is componentwise linear.
There is an optional argument called Gins for isSCM. The default value is false, meaning that isSCM takes the Alexander dual of the edge ideal of H and checks in all relevant degrees to see if the ideal in that degree has a linear resolution. In characteristic zero with the reverse-lex order, one can test for componentwise linearity using gins, which may be faster in some cases. This approach is based on work of Aramova-Herzog-Hibi and Conca. We make no attempt to check the characteristic of the field or the monomial order, so use caution when using this method.
i1 : R = QQ[a..f]; |
i2 : G = cycle(R,4) o2 = Graph{edges => {{a, b}, {b, c}, {c, d}, {a, d}}} ring => R vertices => {a, b, c, d, e, f} o2 : Graph |
i3 : isSCM G o3 = false |
i4 : H = graph(monomialIdeal(a*b,b*c,c*d,a*d,a*e)); --4-cycle with whisker |
i5 : isSCM H o5 = true |
i6 : isSCM(H,Gins=>true) --use Gins technique o6 = true |
The object isSCM is a method function with options.