Procedure from library homolog.lib (see homolog_lib).
Usage:
isCM(M); M module
Return:
1 if M'=coker(M) is Cohen-Macaulay;
0 if this is not the case.
Assume:
basering is local.
Example:
LIB "homolog.lib";
ring R=0,(x,y,z),ds; // local ring R = Q[x,y,z]_<x,y,z>
module M=xz,yz,z2;
isCM(M); // test if R/<xz,yz,z2> is Cohen-Macaulay
==> 0
M=x2+y2,z7; // test if R/<x2+y2,z7> is Cohen-Macaulay
isCM(M);
==> 1