# isGorensteinMA -- Test whether a simplicial monomial algebra is Gorenstein.

## Synopsis

• Usage:
isGorensteinMA R
isGorensteinMA B
isGorensteinMA 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 Gorenstein.

Note that this condition does not depend on K.

 i1 : R=QQ[x_0..x_2,Degrees=>{{2, 0}, {0, 2}, {1, 1}}] o1 = R o1 : PolynomialRing i2 : isGorensteinMA R o2 = true

Not Gorenstein:

 i3 : B={{3, 0}, {0, 3}, {1, 2}, {2, 1}} o3 = {{3, 0}, {0, 3}, {1, 2}, {2, 1}} o3 : List i4 : R=QQ[x_0..x_3,Degrees=>B] o4 = R o4 : PolynomialRing i5 : isGorensteinMA R o5 = false

Not even Cohen-Macaulay:

 i6 : B={{4, 0}, {0, 4}, {1, 3}, {3, 1}} o6 = {{4, 0}, {0, 4}, {1, 3}, {3, 1}} o6 : List i7 : R=QQ[x_0..x_3,Degrees=>B] o7 = R o7 : PolynomialRing i8 : isGorensteinMA R o8 = false i9 : isCohenMacaulayMA R o9 = false

Gorenstein:

 i10 : R=QQ[x_0..x_4,Degrees=>{{1,0,0},{0,2,0},{0,0,2},{1,0,1},{0,1,1}}] o10 = R o10 : PolynomialRing i11 : isGorensteinMA R o11 = true i12 : decomposeMonomialAlgebra R o12 = HashTable{0 => {ideal 1, 0} } | 0 | => {ideal 1, | 1 |} | 0 | | 0 | | 1 | | 1 | | 0 | => {ideal 1, | 1 |} | 1 | | 1 | | 0 | | 2 | | 0 | => {ideal 1, | 0 |} | 1 | | 1 | | 1 | | 1 | o12 : HashTable

 i13 : R=QQ[x_0..x_4,Degrees=>{{1,0,0},{0,2,0},{0,0,2},{1,0,1},{0,1,1}}] o13 = R o13 : PolynomialRing i14 : M=monomialAlgebra R o14 = R o14 : MonomialAlgebra generated by {{1, 0, 0}, {0, 2, 0}, {0, 0, 2}, {1, 0, 1}, {0, 1, 1}} i15 : isGorensteinMA M o15 = true

## Ways to use isGorensteinMA :

• "isGorensteinMA(List)"
• "isGorensteinMA(MonomialAlgebra)"
• "isGorensteinMA(PolynomialRing)"

## For the programmer

The object isGorensteinMA is .