isCM takes a homogeneous ideal I in a polynomial ring R and, by computing the projective dimension and codimension of I, determines whether R/I is Cohen-Macaulay. Of course, isCM works only if Macaulay2 can compute the projective dimension of I.
i1 : R=ZZ/32003[a..c];
|
i2 : isCM(ideal(a^2,b^4)) --complete intersection
o2 = true
|
i3 : isCM(ideal(a^3,b^5,c^4,a*c^3)) --Artinian
o3 = true
|
i4 : isCM(ideal(a^3,a*b^2))
o4 = false
|