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

## Synopsis

• Usage:
• 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
• 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 S1/I is computed.

This is done by calling the cohomologyHashTable method from TateOnProducts and checking for the multidegrees where Hilbert polynomial and Hilbert function match and where the higher sheaf cohomology vanishes.

Note that the module or ideal is assumed 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 [BES](see arXiv:1703.07631). We consider the example of a hyperelliptic curve of genus 4 in 1×ℙ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```

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

## Caveat

The input is assumed to be saturated.