# regularity -- compute the Castelnuovo-Mumford regularity

## Description

For a free chain complex C, the regularity r is the smallest number so that each basis element of C_i has degree at most i+r. For an ideal I, regularity is one plus the regularity of the minimal free resolution of the quotient of the ambient ring by I. For a module M, regularity is the regularity of a minimal free resolution of M.

 i1 : R = ZZ/32003[a..d]; i2 : I = ideal(a^20, b^20, a*c^19-b*d^19); o2 : Ideal of R i3 : C = resolution I 1 3 23 40 19 o3 = R <-- R <-- R <-- R <-- R <-- 0 0 1 2 3 4 5 o3 : ChainComplex i4 : regularity C o4 = 398 i5 : regularity comodule I o5 = 398 i6 : regularity I o6 = 399 i7 : regularity module I o7 = 399

The regularity is the label of the last row in the Betti diagram of a chain complex. However, this depends on the total degree weights in the Betti tally, which are computed based on the heft vector of the underlying ring. To adjust this vector, a vector w whose length is the same as the degree length of the ring can be provided using the option Weights. The dot products of w with the multidegrees in the tally will be used in the resulting computation.

 i8 : C = resolution ideal(a^3, a^2*b, a*b^6, a^2*c); i9 : betti C 0 1 2 3 o9 = total: 1 4 4 1 0: 1 . . . 1: . . . . 2: . 3 3 1 3: . . . . 4: . . . . 5: . . . . 6: . 1 1 . o9 : BettiTally i10 : regularity C o10 = 6 i11 : betti(C, Weights => {2}) 0 1 2 3 o11 = total: 1 4 4 1 0: 1 . . . 1: . . . . 2: . . . . 3: . . . . 4: . . . . 5: . 3 . . 6: . . 3 . 7: . . . 1 8: . . . . 9: . . . . 10: . . . . 11: . . . . 12: . . . . 13: . 1 . . 14: . . 1 . o11 : BettiTally i12 : regularity(C, Weights => {2}) o12 = 14

• resolution -- projective resolution
• betti -- display or modify a Betti diagram
• comodule -- submodule to quotient module
• multigradedRegularity -- computes the minimal elements of the multigraded regularity of a module over a multigraded ring

## Ways to use regularity :

• "regularity(BettiTally)" -- see BettiTally -- the class of all Betti tallies
• "regularity(ChainComplex)"
• "regularity(Ideal)"
• "regularity(Module)"

## For the programmer

The object regularity is .