# multigradedRegularity -- computes the minimal elements of the multigraded regularity of a module over a multigraded ring

## Synopsis

• Usage:
multigradedRegularity(S,I)
multigradedRegularity(S,M)
multigradedRegularity(X,I)
multigradedRegularity(X,M)
• Inputs:
• S, a ring, a multigraded Cox ring
• X, , a product of normal toric varieties
• I, an ideal, an ideal over a multigraded ring
• M, , a module over a multigraded ring
• Optional inputs:
• UpperLimit => a list, default value null, largest twist to compute cohomology for
• LowerLimit => a list, default value null, smallest twist to compute cohomology for
• Strategy => , default value null, implemented strategies are "CohomologySearch" and "TruncationSearch" (default)
• Outputs:
• a list, a list of multidegrees

## Description

Given a module M over a multigraded ring S or a product of toric varieties X, this method finds the minimal elements of the multigraded Castelnuovo-Mumford regularity of M as defined in Definition 1.1 of [MS04] (see arXiv:math/0305214). If the input is an ideal, multigraded regularity of $S^1/I$ is computed.

There are two strategies implemented and run using hooks:

### Strategy => "CohomologySearch"

• This strategy calls the cohomologyHashTable method from TateOnProducts and checks for the multidegrees where the Hilbert polynomial and Hilbert function match and where the higher sheaf cohomology vanishes.

### Strategy => "TruncationSearch" (default)

• This strategy uses isQuasiLinear method from LinearTruncations to search for the multidegrees where the module is regular by checking the Betti numbers of the truncation of the module. See Theorem 4.6 of arXiv:2110.10705. This strategy is much faster.

Note that both strategies require the module or ideal to be saturated by the irrelevant ideal of the Cox ring.

As an example, here we compute the minimal elements of the multigraded regularity for Example 1.4 of [BES20] (see arXiv:1703.07631). We consider the example of a hyperelliptic curve of genus 4 in $\PP^1\times\PP^2$.

 i1 : X = toricProjectiveSpace(1)**toricProjectiveSpace(2) o1 = X o1 : NormalToricVariety i2 : S = ring X; B = ideal X; o3 : Ideal of S i4 : I = ideal(x_0^2*x_2^2+x_1^2*x_3^2+x_0*x_1*x_4^2, x_0^3*x_4+x_1^3*(x_2+x_3)) 2 2 2 2 2 3 3 3 o4 = ideal (x x + x x + x x x , x x + x x + x x ) 0 2 1 3 0 1 4 1 2 1 3 0 4 o4 : Ideal of S

After saturating the defining ideal by the irrelevant ideal we may compute its multigraded regularity.

 i5 : J = saturate(I,B); o5 : Ideal of S i6 : L = multigradedRegularity(X, J) o6 = {{2, 2}, {4, 1}, {1, 5}} o6 : List

If debugLevel is larger than zero, additional information about the degree search is printed.

This method also accepts the ring provided by productOfProjectiveSpaces from the TateOnProducts package.

## Contributors

Lauren Cranton Heller contributed to the code for this method.

## Caveat

The input is assumed to be saturated. Moreover, if the input is a module generated in non-positive degrees, then the output may be incorrect. In that case, adding the optional argument

LowerLimit => apply(n, i -> min(degrees M / (deg -> deg_i))) - dim X

where M is the module and X is the toric variety, may be a sufficient solution.