# isCohenMacaulayMA -- Test whether a simplicial monomial algebra is Cohen-Macaulay.

## Synopsis

• Usage:
isCohenMacaulayMA R
isCohenMacaulayMA B
isCohenMacaulayMA M
• Inputs:
• R, , with B = degrees R and K = coefficientRing R, or
• B, a list, with the generators of an affine semigroup in \mathbb{N}^d.
• M, ,
• Outputs:

## Description

Test whether the simplicial monomial algebra K[B] is Cohen-Macaulay.

Note that this condition does not depend on K.

 i1 : a=3 o1 = 3 i2 : B={{a, 0}, {0, a}, {1, a-1}, {a-1, 1}} o2 = {{3, 0}, {0, 3}, {1, 2}, {2, 1}} o2 : List i3 : R=QQ[x_0..x_3,Degrees=>B] o3 = R o3 : PolynomialRing i4 : isCohenMacaulayMA R o4 = true i5 : decomposeMonomialAlgebra R o5 = HashTable{| -1 | => {ideal 1, | 2 |}} | 1 | | 1 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 2 | o5 : HashTable

 i6 : a=4 o6 = 4 i7 : B={{a, 0}, {0, a}, {1, a-1}, {a-1, 1}} o7 = {{4, 0}, {0, 4}, {1, 3}, {3, 1}} o7 : List i8 : R=QQ[x_0..x_3,Degrees=>B] o8 = R o8 : PolynomialRing i9 : isCohenMacaulayMA R o9 = false i10 : decomposeMonomialAlgebra R o10 = HashTable{| -1 | => {ideal 1, | 3 |} } | 1 | | 1 | 0 => {ideal 1, 0} | 1 | => {ideal 1, | 1 |} | -1 | | 3 | | 2 | => {ideal (x , x ), | 2 |} | 2 | 1 0 | 2 | o10 : HashTable

 i11 : a=4 o11 = 4 i12 : M=monomialAlgebra {{a, 0}, {0, a}, {1, a-1}, {a-1, 1}} ZZ o12 = ---[x ..x ] 101 0 3 o12 : MonomialAlgebra generated by {{4, 0}, {0, 4}, {1, 3}, {3, 1}} i13 : isCohenMacaulayMA M o13 = false

## Ways to use isCohenMacaulayMA :

• "isCohenMacaulayMA(List)"
• "isCohenMacaulayMA(MonomialAlgebra)"
• "isCohenMacaulayMA(PolynomialRing)"

## For the programmer

The object isCohenMacaulayMA is .