# MonomialAlgebras -- Decompose a monomial algebra as a module over a subalgebra.

## Description

Overview:

Consider a monoid B in \mathbb{N}^m and a submonid A \subseteq B (both finitely generated) such that K[B] is a finitely generated K[A]-module (with the module structure given by inclusion, and K being a field).

Note that this is equivalent to the condition that the corresponding cones C(A) and C(B) spanned by the monoids are equal. From this it follows that G(B)/G(A) is finite, where G(A) and G(B) are the groups generated by the monoids.

This package provides functions to decompose the corresponding monomial algebra K[B] as a direct sum of monomial ideals in K[A]. In

Le Tuan Hoa, Juergen Stueckrad: Castelnuovo-Mumford regularity of simplicial toric rings, Journal of Algebra, Volume 259, Issue 1, 1 January 2003, pages 127-146,

it is shown that this decomposition exists in the case that B is homogeneous and simplicial and A is generated by minimal generators of B on the extremal rays of C(B). In particular then K[A] is a Noether normalization of K[B].

For the existence of the decomposition in the general (non-simplicial) case, and for algorithms computing the decomposition and the regularity see:

J. Boehm, D. Eisenbud, M. Nitsche: Decomposition of semigroup algebras, Exper. Math. 21(4) (2012) 385-394, http://arxiv.org/abs/1110.3653.

Using the decomposition algorithm, the package also provides fast functions to test ring-theoretic properties of monomial algebras. For details on the corresponding algorithms see:

J. Boehm, D. Eisenbud, M. Nitsche: Decomposition of Monomial Algebras: Applications and Algorithms, 2012, http://arxiv.org/abs/1206.1735.

Key user functions:

Decomposition:

decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra.

decomposeHomogeneousMA -- Decomposition of one homogeneous monomial algebra over a subalgebra.

Ring-theoretic properties:

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

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

isBuchsbaumMA -- Test whether a simplicial monomial algebra is Buchsbaum.

isNormalMA -- Test whether a simplicial monomial algebra is normal.

isSeminormalMA -- Test whether a simplicial monomial algebra is seminormal.

isSimplicialMA -- Test whether a monomial algebra is simplicial.

Regularity:

regularityMA -- Compute the regularity via the decomposition.

degreeMA -- Compute the degree via the decomposition.

codimMA -- Compute the codimension of a monomial algebra.

Options:

Computation of the binomial ideal associated to B via the function binomialIdeal can be done via two different methods:

The standard method uses the Macaulay2 function kernel and requires no configuration.

Alternatively, the external program 4ti2, http://www.4ti2.de/ can be called, which is delivered with the Macaulay2 distribution. For large examples this is typically much faster. To use this option load the MonomialAlgebras package with the following configuration option:

Note that you can change the standard option by editing the file init-MonomialAlgebras.m2 in the .Macaulay directory in your home directory.

In order to use 4ti2, on some systems you may have to configure the Macaulay2 package FourTiTwo first.

Setup:

Install this Package by doing

installPackage("MonomialAlgebras")

Tests:

The following files contain the tuples (regularity, degree, codim) for every semigroup B in \mathbb{N}^d with fixed d and fixed coodinate sum a. Using this data we have verified the Eisenbud-Goto conjecture in these cases.

d = 3:

a = 3: proveEG_33

a = 4: proveEG_43

a = 5: proveEG_53

d = 4:

a = 2: proveEG_24

a = 3: proveEG_34

d = 5:

a = 2: proveEG_25

More functions related to testing the Eisenbud-Goto conjecture can be found in the MonomialAlgebraExtras package.

Diagrams:

We illustrate the tests with Diagrams showing projections of the set of all possible (regularity, degree, codim).

## Certification

Version 2.3 of this package was accepted for publication in volume 5 of The Journal of Software for Algebra and Geometry on 2013-04-07, in the article Decomposition of Monomial Algebras: Applications and Algorithms. That version can be obtained from the journal or from the Macaulay2 source code repository.

## Version

This documentation describes version 2.3 of MonomialAlgebras.

## Source code

The source code from which this documentation is derived is in the file MonomialAlgebras.m2. The auxiliary files accompanying it are in the directory MonomialAlgebras/.

## Exports

• Types
• Functions and commands
• Methods
• "affineAlgebra(List)" -- see affineAlgebra -- Define a monomial algebra
• "affineAlgebra(MonomialAlgebra)" -- see affineAlgebra -- Define a monomial algebra
• "affineAlgebra(PolynomialRing)" -- see affineAlgebra -- Define a monomial algebra
• "binomialIdeal(List)" -- see binomialIdeal -- Compute the ideal of a monomial algebra
• "binomialIdeal(MonomialAlgebra)" -- see binomialIdeal -- Compute the ideal of a monomial algebra
• "binomialIdeal(PolynomialRing)" -- see binomialIdeal -- Compute the ideal of a monomial algebra
• "codimMA(List)" -- see codimMA -- Codimension of a monomial algebra.
• "codimMA(MonomialAlgebra)" -- see codimMA -- Codimension of a monomial algebra.
• "codimMA(PolynomialRing)" -- see codimMA -- Codimension of a monomial algebra.
• "decomposeHomogeneousMA(List)" -- see decomposeHomogeneousMA -- Decomposition of one monomial algebra over a subalgebra
• "decomposeHomogeneousMA(MonomialAlgebra)" -- see decomposeHomogeneousMA -- Decomposition of one monomial algebra over a subalgebra
• "decomposeHomogeneousMA(PolynomialRing)" -- see decomposeHomogeneousMA -- Decomposition of one monomial algebra over a subalgebra
• "decomposeHomogeneousMA(RingMap)" -- see decomposeHomogeneousMA -- Decomposition of one monomial algebra over a subalgebra
• "decomposeMonomialAlgebra(List)" -- see decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra
• "decomposeMonomialAlgebra(List,List)" -- see decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra
• "decomposeMonomialAlgebra(MonomialAlgebra)" -- see decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra
• "decomposeMonomialAlgebra(PolynomialRing)" -- see decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra
• "decomposeMonomialAlgebra(RingMap)" -- see decomposeMonomialAlgebra -- Decomposition of one monomial algebra over a subalgebra
• "degreeMA(List)" -- see degreeMA -- Degree of a monomial algebra.
• "degreeMA(MonomialAlgebra)" -- see degreeMA -- Degree of a monomial algebra.
• "degreeMA(PolynomialRing)" -- see degreeMA -- Degree of a monomial algebra.
• degrees(MonomialAlgebra) -- Generators of the degree monoid
• "findGeneratorsOfSubalgebra(List)" -- see findGeneratorsOfSubalgebra -- Find submonoid corresponding to the convex hull.
• "findMonomialSubalgebra(MonomialAlgebra)" -- see findMonomialSubalgebra -- Find monomial subalgebra corresponding to the convex hull.
• "findMonomialSubalgebra(PolynomialRing)" -- see findMonomialSubalgebra -- Find monomial subalgebra corresponding to the convex hull.
• "homogenizeSemigroup(List)" -- see homogenizeSemigroup -- Homogenize generators of a semigroup.
• "isBuchsbaumMA(List)" -- see isBuchsbaumMA -- Test whether a simplicial monomial algebra is Buchsbaum.
• "isBuchsbaumMA(MonomialAlgebra)" -- see isBuchsbaumMA -- Test whether a simplicial monomial algebra is Buchsbaum.
• "isBuchsbaumMA(PolynomialRing)" -- see isBuchsbaumMA -- Test whether a simplicial monomial algebra is Buchsbaum.
• "isCohenMacaulayMA(List)" -- see isCohenMacaulayMA -- Test whether a simplicial monomial algebra is Cohen-Macaulay.
• "isCohenMacaulayMA(MonomialAlgebra)" -- see isCohenMacaulayMA -- Test whether a simplicial monomial algebra is Cohen-Macaulay.
• "isCohenMacaulayMA(PolynomialRing)" -- see isCohenMacaulayMA -- Test whether a simplicial monomial algebra is Cohen-Macaulay.
• "isGorensteinMA(List)" -- see isGorensteinMA -- Test whether a simplicial monomial algebra is Gorenstein.
• "isGorensteinMA(MonomialAlgebra)" -- see isGorensteinMA -- Test whether a simplicial monomial algebra is Gorenstein.
• "isGorensteinMA(PolynomialRing)" -- see isGorensteinMA -- Test whether a simplicial monomial algebra is Gorenstein.
• "isNormalMA(List)" -- see isNormalMA -- Test whether a simplicial monomial algebra is normal.
• "isNormalMA(MonomialAlgebra)" -- see isNormalMA -- Test whether a simplicial monomial algebra is normal.
• "isNormalMA(PolynomialRing)" -- see isNormalMA -- Test whether a simplicial monomial algebra is normal.
• "isSeminormalMA(List)" -- see isSeminormalMA -- Test whether a simplicial monomial algebra is seminormal.
• "isSeminormalMA(MonomialAlgebra)" -- see isSeminormalMA -- Test whether a simplicial monomial algebra is seminormal.
• "isSeminormalMA(PolynomialRing)" -- see isSeminormalMA -- Test whether a simplicial monomial algebra is seminormal.
• "isSimplicialMA(List)" -- see isSimplicialMA -- Test whether a monomial algebra is simplicial.
• "isSimplicialMA(MonomialAlgebra)" -- see isSimplicialMA -- Test whether a monomial algebra is simplicial.
• "isSimplicialMA(PolynomialRing)" -- see isSimplicialMA -- Test whether a monomial algebra is simplicial.
• "monomialAlgebra(List)" -- see monomialAlgebra -- Create a monomial algebra
• "monomialAlgebra(PolynomialRing)" -- see monomialAlgebra -- Create a monomial algebra
• net(MonomialAlgebra) -- Pretty print for monomial algebras
• "randomMonomialAlgebra(ZZ,ZZ,ZZ)" -- see randomMonomialAlgebra -- Generate random monoimal algebra.
• "randomSemigroup(ZZ,ZZ,ZZ)" -- see randomSemigroup -- Generate random semigroups.
• "regularityMA(List)" -- see regularityMA -- Compute regularity from decomposition
• "regularityMA(MonomialAlgebra)" -- see regularityMA -- Compute regularity from decomposition
• "regularityMA(PolynomialRing)" -- see regularityMA -- Compute regularity from decomposition
• ring(MonomialAlgebra) -- Multigraded polynomial ring associated to a monomial algebra
• Symbols
• CoefficientField -- Option to set the coefficient field.
• Decomposition -- Optional argument of regularityMA to specify the decomposition.
• Num -- Option of randomSemigroup and randomMonomialAlgebra to return a list of several semigroups.
• ReturnMingens -- Option to return the minimal generating set B_A of K[B] as K[A]-module.
• SetSeed -- Option to set the random seed for randomSemigroup and randomMonomialAlgebra.
• Simplicial -- Option of randomSemigroup and randomMonomialAlgebra to return a simplicial semigroup.

## For the programmer

The object MonomialAlgebras is .