Monoid Algebras

Monoid algebras are algebras over a field in which the ring multiplication follows a commutative noetherian monoid. The elements of the monoid can be thought of as exponents of monomials.

For this package we only consider finitely generated submonoids of $\mathbb{Z}^d$. These are often called affine semigroups. Let $Q$ be an affine semigroup and $k$ a field. The monoid algebra (or affine semigroup ring) $k[Q]$ is the $k$-algebra with $k$-basis $\{t^a \colon a \in Q\}$ and multiplication

\[t^at^b = t^{a+b} \quad \text{ for }a,b \in Q.\]

For example, the affine semigroup generated by the unit vectors $e_1,\dots,e_d \in \mathbb{Z}^d$ is $\mathbb{N}^d$ and the corresponding monoid algebra is the polynomial ring $k\left[\mathbb{N}^d\right] = k[x_1,\dots,x_d]$. This polynomial ring can be finely $\mathbb{Z}^d$-graded by setting $\deg(x_i) = e_i$. Likewise, $k[Q]$ is $Q$-graded by $\deg(t^a) = a \in Q$.

The code for injective resolutions and local cohomology works with $Q$-graded modules and more generally modules graded by the abelian group generated by $Q$ inside $\mathbb{Z}^d$. Often it will be assumed that this group is $\mathbb{Z}^d$. A common example of such a module is a quotient $k[Q]/I$ where $I$ is an ideal that is homogeneous in the $Q$-grading. For polynomial rings, an $\mathbb{N}^d$-homogenous ideal is simply a monomial ideal. These examples are even $Q$-graded, but indecomposable injectives appearing in injective resolutions will be properly $\mathbb{Z}^d$-graded.

Each monoid algebra has a presentation as the quotient of a polynomial ring modulo a binomial ideal. In the case of an affine monoid, that binomial ideal is a toric ideal and in particular a prime ideal. Since the implementation only covers affine semigroups, each monoid algebra here is a domain.

Each affine semigroup comes with polyhedral data associated to it. For example, the polyhedral cone generated by the monoid generators plays a central role. Therefore the monoid algebra also computes such data and stores it with the ring.

Types

Monoid algebras in OSCAR have the parametrized form MonoidAlgebra{k,A}, with elements of type MonoidAlgebraElem{k,A}. Here, A is either of type MPolyRing or MPolyQuoRing and k is some field.

Data associated to Monoid Algebras

Let kQ = $k[Q]$ be a monoid algebra over a monoid $Q\subseteq \mathbb{Z}^d$. Then kQ.algebra refers to the monoid algebra as a quotient ring of the finely graded polynomial ring $k[x_1,\dots,x_d]$.

To every monoid algebra $k[Q]$, we associate a polyhedral cone

\[C = \mathbb{R}_{\geq 0}Q.\]

coneMethod
cone(A::MonoidAlgebra)

Given a monoid algebra with underlying monoid $Q$, this function returns the polyhedral cone $\mathbb{R}_{\geq 0}Q$ as a polyhedron.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

There is a correspondence between the homogeneous primes of the monoid algebra $k[Q]$ and the faces $F$ of $C$

\[F \mapsto k\{Q\setminus F\}.\]

facesMethod
faces(A::MonoidAlgebra)

Given a monoid algebra with underlying monoid $Q$, this function a list of all faces of the polyhedral cone $\mathbb{R}_{\geq 0}Q$ with their corresponding homogeneous prime ideals.

Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

Example

julia> kQ = monoid_algebra([[0,1],[1,1],[1,2]],QQ)
monoid algebra over rational field with cone of dimension 2


julia> kQ.algebra
Quotient
  of multivariate polynomial ring in 3 variables over QQ graded by
    x_1 -> [0 1]
    x_2 -> [1 1]
    x_3 -> [1 2]
  by ideal (x_1*x_2 - x_3)

julia> cone(kQ)
Polyhedron in ambient dimension 2

julia> faces(kQ)
4-element Vector{Oscar.InjectiveResolutions.FaceQ}:
 face corresponding to homogeneous prime ideal (x_1, x_2, x_3)
 face corresponding to homogeneous prime ideal (x_1, x_3)
 face corresponding to homogeneous prime ideal (x_2, x_3)
 face corresponding to homogeneous prime ideal ()

Constructor

Let $v_1,\dots,v_n$ in $\mathbb{Z}^d$ be the generators of a monoid $Q$. The corresponding monoid algebra is

\[k[Q] \cong k[x^{v_1},\dots,x^{v_n}]\subseteq k[x_1,\dots, x_d].\]

monoid_algebraMethod
monoid_algebra(V_Q::Vector{Vector{Int}},k::Field)

Return the monoid algebra generated by monomials $x^{v_1},\dots,x^{v_n}\in k[x_1,\dots,x_n]$, where V_Q $= v_1,\dots,v_n \in \mathbb{Z}^d$.

Examples

julia> kQ = monoid_algebra([[0,1],[1,1],[2,1]],QQ)
monoid algebra over rational field with cone of dimension 2

julia> kQ.algebra
Quotient
  of multivariate polynomial ring in 3 variables over QQ graded by
    x_1 -> [0 1]
    x_2 -> [1 1]
    x_3 -> [2 1]
  by ideal (-x_1*x_3 + x_2^2)
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source
monoid_algebraMethod
monoid_algebra(B::Matrix{Int},k::Field)

Return the monoid algebra generated by monomials $x^{v_1},\dots,x^{v_n}\in k[x_1,\dots,x_d]$, where $v_1,\dots,v_n\in \mathbb{Z}^d$ are the columns of $M_Q$.

Examples

julia> M_Q = [1 0; 0 1]
2×2 Matrix{Int64}:
 1  0
 0  1

julia> monoid_algebra(M_Q,QQ)
monoid algebra over rational field with cone of dimension 2
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

Irreducible decomposition

Given an ideal $I\subseteq k[Q]$, an irreducible decomposition consists of (intersection-)irreducible ideals $W_1,\dots,W_s\subseteq k[Q]$ such that

\[I = W_1 \cap \cdots \cap W_s.\]

irreducible_decompositionMethod
irreducible_decomposition(I::MonoidAlgebraIdeal)

Return an irreducible decomposition of $I$.

Note

The monoid algebra $k[Q]$ must be normal.

Examples

julia> kQ = monoid_algebra([[1,0],[0,1]],QQ)
monoid algebra over rational field with cone of dimension 2

julia> x,y = gens(kQ)
2-element Vector{MonoidAlgebraElem{QQFieldElem, MonoidAlgebra{QQFieldElem, MPolyDecRing{QQFieldElem, QQMPolyRing}}}}:
 x_1
 x_2

julia> I = ideal(kQ,[x^4,x^2*y^2,y^4])
ideal over monoid algebra over rational field with cone of dimension 2 generated by x_1^4, x_1^2*x_2^2, x_2^4

julia> W = irreducible_decomposition(I)
2-element Vector{MonoidAlgebraIdeal{MonoidAlgebraElem{QQFieldElem, MonoidAlgebra{QQFieldElem, MPolyDecRing{QQFieldElem, QQMPolyRing}}}}}:
 ideal over monoid algebra over rational field with cone of dimension 2 generated by x_1^2, x_1^2*x_2, x_2^4, x_1*x_2^4
 ideal over monoid algebra over rational field with cone of dimension 2 generated by x_1^4, x_1^4*x_2, x_2^2, x_1*x_2^2

julia> I == intersect(W)
true
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source

Tests on Monoid Algebras

An affine semigroup ring is a normal domain if and only if the semigroup is saturated which means that it contains all the lattice points in the cone it generates. This can be checked algorithmically.

is_normalMethod
is_normal(A::MonoidAlgebra{<:FieldElem, <:MPolyQuoRing})

Test if the given monoid algebra is normal by testing first the S2 and then the R1 condition.

Examples

julia> A = monoid_algebra([[4,0],[3,1],[1,3],[0,4]],QQ)
monoid algebra over rational field with cone of dimension 2

julia> is_normal(A)
false
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source