Local Cohomology

Let $M$ be a finitely generated $\mathbb{Z}^d$-graded module over a monoid algebra $k[Q]$. Further, let $J\subseteq k[Q]$ be an ideal. The $i$-th local cohomology module of $M$, denoted $H^i_J(M)$, is obtained as follows:

Let

\[I^\bullet \colon 0 \to M \xrightarrow{\epsilon} I^0 \xrightarrow{d^0} I^1 \xrightarrow{d^1}\cdots \xrightarrow{d^{i-1}} I^i \xrightarrow{d^i} \cdots\]

be an injective resolution of $M$. Applying the left exact functor $\Gamma_J$, that maps a $\mathbb{Z}^d$-graded module $N$ to the submodule

\[\Gamma_I(N) = \{n \in \mid \exists n \in \mathbb{N} \colon n\cdot J^n = 0\},\]

to $I^\bullet$ we obtain the complex

\[\Gamma_J(I^\bullet) \colon 0 \to \Gamma_J(I^0) \xrightarrow{d^0} \Gamma_J(I^1) \xrightarrow{d^1}\cdots \xrightarrow{d^{i-1}} \Gamma_J(I^i) \xrightarrow{d^i} \cdots.\]

The $i$-th local cohomology module of $M$ supported on $J$ is the $i$-th cohomology module of $\Gamma_J(I^\bullet)$.

Note

We require that the monoid algebra $k[Q]$ is normal.

Cohomological degree zero

The zeroth local cohomology module of $M$ supported by $J$ is

\[H^0_J(M) = \Gamma_J(M) = \{m\in M \mid \exists n \in \mathbb{N} \colon m\cdot J^n = 0\}.\]

The function zeroth_local_cohomology returns this submodule. The function is split off from the other degrees because it returns its result as a proper module in OSCAR while higher local cohomlogy modules are represented using sector partitions.

zeroth_local_cohomologyMethod
zeroth_local_cohomology(M::SubquoModule{T}, I::MonoidAlgebraIdeal) where {T<:MonoidAlgebraElem}

Computes the local cohomology module of $M$ supported on $I$ in cohomological degree zero.

Examples

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

julia> x,y,z = gens(kQ)
3-element Vector{MonoidAlgebraElem{QQFieldElem, MonoidAlgebra{QQFieldElem, MPolyQuoRing{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}}}}:
 x_1
 x_2
 x_3

julia> I_M = ideal(kQ,[x^2*z,x^4*y]) # M = k[Q]/I_M
ideal over monoid algebra over rational field with cone of dimension 2 generated by x_1^2*x_3, x_1^4*x_2


julia> m = ideal(kQ,[x,y,z]) #maximal ideal 
ideal over monoid algebra over rational field with cone of dimension 2 generated by x_1, x_2, x_3


julia> H0 = zeroth_local_cohomology(quotient_ring_as_module(I_M),m)
Graded subquotient of graded submodule of kQ^1 with 1 generator
  1: x_1^2*x_2*e[1]
by graded submodule of kQ^1 with 2 generators
  1: x_1^2*x_3*e[1]
  2: x_1^4*x_2*e[1]
Experimental

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

source

Sector Partition of Local Cohomology Module

The local cohomology module $H^i_J(M)$ are not finitely generated generated for $i>0$. However, sector partitions are a finite data structure for them.

A sector partition $\mathcal{S}$ of $H^i_J(M)$ consists of

  • a finite partition $\mathbb{Z}^d = \sqcup_{S\in \mathcal{S}} S$ into sectors
  • finite dimensional $k$-vector spaces $H_S$ for each sector $S\in \mathcal{S}$, and,
  • maps between these vector spaces.

Now given $\alpha \in \mathbb{Z}^d$,

\[H^i_J(M)_\alpha \cong k^{\dim(H_S)} \text{ for } \alpha \in S.\]

For more details on sector partitions see, e.g., Chapter 13 of [MS05].

The function local_cohomology computes a sector partition of $H^i_I(M)$. For performance, multiple local cohomology modules $H^1_I(M),\dots,H^i_I(M)$ should be computed at once using the function local_cohomology_all.

local_cohomologyMethod
local_cohomology(M::SubquoModule{T}, I::MonoidAlgebraIdeal, i::Integer) where {T<:MonoidAlgebraElem}

Compute a sector partition of the local cohomology module $H^i_I(M)$.

Note

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

Experimental

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

source
local_cohomology_allMethod
local_cohomology_all(M::SubquoModule{T}, I::MonoidAlgebraIdeal, i::Integer) where {T<:MonoidAlgebraElem}

For $1 \leq j \leq i $ compute sector partitions of the local cohomology modules $H^i_I(M))$. This function only computes one injective resolution of $M$ up to cohomological degree $i+1$.

Note

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

Experimental

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

source

Data asssociated to Sector Partitions

Let H = local_cohomology(M,I,i) be a sector partition of the local cohomology module $H^i_I(M)$. Then

  • H.M refers to $M$,
  • H.I refers to $I$,
  • H.i refers to i,
  • H.sectors refers to the finite partition of $\mathbb{Z}^d$ into sectors as polyhedron, and,
  • H.maps refers to the maps between the finite dimensional vector spaces.

Each sector S of a sector partition consists of

  • the finite dimensional $k$-vector space $H_S$ = S.H,
  • the sector as a polyhedron S.sector.

Tests on Local Cohomology Modules

To test vanishing of local cohomology independent of the internal representation use is_zero:

is_zeroMethod
is_zero(S::SectorPartitionLC)

Given a sector partition of a local cohomology module, check if the local cohomology module is zero.

source