# LinearTruncations -- truncations of a multigraded module that give linear resolutions

## Description

Let $k$ be a field, $S$ a $\ZZ^r$-graded polynomial ring over $k$, and $M$ a finitely generated, $\ZZ^r$-graded $S$-module. Write $M_{\geq d}$ for the truncation $\oplus_{d'\geq d} M_d'$ of $M$ at $d$ (where $d'\geq d$ if $d'_i\geq d_i$ for all $i$). The main purpose of this package is to find the degrees $d\in\ZZ^r$ so that $M_{\geq d}$ has a linear resolution, i.e. satisfies the function isLinearComplex. No sufficient finite search space is known, so the result may not be complete.

 i1 : S = ZZ/101[x_1..x_4,Degrees=>{{1,0},{1,0},{0,1},{0,1}}] o1 = S o1 : PolynomialRing i2 : I = ideal(x_1^3*x_3, x_2*x_3*x_4, x_3^4*x_4, x_4*x_2^2, x_1^3*x_2^3, x_3^3) 3 4 2 3 3 3 o2 = ideal (x x , x x x , x x , x x , x x , x ) 1 3 2 3 4 3 4 2 4 1 2 3 o2 : Ideal of S i3 : M = S^1/I o3 = cokernel | x_1^3x_3 x_2x_3x_4 x_3^4x_4 x_2^2x_4 x_1^3x_2^3 x_3^3 | 1 o3 : S-module, quotient of S i4 : regularity M o4 = 5 i5 : r = coarseMultigradedRegularity M o5 = {6, 4} o5 : List i6 : L = linearTruncations({{0,0}, r}, M) o6 = {{2, 3}, {3, 2}} o6 : List i7 : apply(L, i -> isLinearComplex res truncate(i,M)) o7 = {true, true} o7 : List

If $M_{\geq d}$ has a linear truncation then $M_{\geq d'}$ has a linear truncation for all $d'\geq d$, so the function linearTruncations gives the minimal such multidegrees in a given range, using the function findRegion. The functions linearTruncationsBound and regularityBound estimate the linear truncation region and the multigraded regularity region of $M$, respectively, without calculating cohomology or truncations.

## Caveat

If the ring $S$ is standard $\ZZ$-graded then $M_{\geq d}$ has a linear resolution if and only if $d\geq\operatorname{reg} M$, where $\operatorname{reg} M$ is the Castelnuovo-Mumford regularity of $M$.

• Truncations -- truncations of graded ring, ideals and modules

## Authors

• Lauren Cranton Heller
• David Eisenbud
• Navid Nemati

## Version

This documentation describes version 1.0 of LinearTruncations.

## Source code

The source code from which this documentation is derived is in the file LinearTruncations.m2.

## Exports

• Functions and commands
• "compMax" -- see compMin -- takes componentwise minimum or maximum of a list of lists
• compMin -- takes componentwise minimum or maximum of a list of lists
• diagonalMultidegrees -- t-tuples of non-negative integers with sum equal to d
• findMins -- calculates the minimal elements of a subset of ZZ^r
• findRegion -- finds minimal multidegree(s) in a given region where an ideal or module satisfies a Boolean function
• irrelevantIdeal -- gives the irrelevant ideal of the coordinate ring of a product of projective spaces
• isLinearComplex -- tests whether a complex of graded modules is linear
• isQuasiLinear -- checks whether degrees in the resolution of a truncation are at most those of the irrelevant ideal
• linearTruncations -- finds minimal multidegree(s) in a given range where the resolution of a truncated module is linear
• linearTruncationsBound -- bounds the region where truncations of a module have linear resolutions
• multigradedPolynomialRing -- produces polynomial rings with standard multigradings
• partialRegularities -- calculates Castelnuovo-Mumford regularity in each component of a multigrading
• regularityBound -- bounds the multigraded regularity of a module
• supportOfTor -- computes multidegrees in the support of Tor_i(M,k), where k is the residue field
• Methods
• "compMax(List)" -- see compMin -- takes componentwise minimum or maximum of a list of lists
• "compMax(List,List)" -- see compMin -- takes componentwise minimum or maximum of a list of lists
• "compMin(List)" -- see compMin -- takes componentwise minimum or maximum of a list of lists
• "compMin(List,List)" -- see compMin -- takes componentwise minimum or maximum of a list of lists
• "diagonalMultidegrees(ZZ,List)" -- see diagonalMultidegrees -- t-tuples of non-negative integers with sum equal to d
• "diagonalMultidegrees(ZZ,ZZ)" -- see diagonalMultidegrees -- t-tuples of non-negative integers with sum equal to d
• "findMins(Ideal)" -- see findMins -- calculates the minimal elements of a subset of ZZ^r
• "findMins(List)" -- see findMins -- calculates the minimal elements of a subset of ZZ^r
• "findRegion(List,Ideal,Function)" -- see findRegion -- finds minimal multidegree(s) in a given region where an ideal or module satisfies a Boolean function
• "findRegion(List,Module,Function)" -- see findRegion -- finds minimal multidegree(s) in a given region where an ideal or module satisfies a Boolean function
• "irrelevantIdeal(Ring)" -- see irrelevantIdeal -- gives the irrelevant ideal of the coordinate ring of a product of projective spaces
• "isLinearComplex(ChainComplex)" -- see isLinearComplex -- tests whether a complex of graded modules is linear
• "isQuasiLinear(BettiTally)" -- see isQuasiLinear -- checks whether degrees in the resolution of a truncation are at most those of the irrelevant ideal
• "isQuasiLinear(ChainComplex)" -- see isQuasiLinear -- checks whether degrees in the resolution of a truncation are at most those of the irrelevant ideal
• "isQuasiLinear(List,Module)" -- see isQuasiLinear -- checks whether degrees in the resolution of a truncation are at most those of the irrelevant ideal
• "linearTruncations(List,Module)" -- see linearTruncations -- finds minimal multidegree(s) in a given range where the resolution of a truncated module is linear
• "linearTruncations(Module)" -- see linearTruncations -- finds minimal multidegree(s) in a given range where the resolution of a truncated module is linear
• "linearTruncationsBound(Module)" -- see linearTruncationsBound -- bounds the region where truncations of a module have linear resolutions
• "multigradedPolynomialRing(List)" -- see multigradedPolynomialRing -- produces polynomial rings with standard multigradings
• "multigradedPolynomialRing(ZZ)" -- see multigradedPolynomialRing -- produces polynomial rings with standard multigradings
• "partialRegularities(ChainComplex)" -- see partialRegularities -- calculates Castelnuovo-Mumford regularity in each component of a multigrading
• "partialRegularities(Module)" -- see partialRegularities -- calculates Castelnuovo-Mumford regularity in each component of a multigrading
• "regularityBound(Module)" -- see regularityBound -- bounds the multigraded regularity of a module
• "supportOfTor(ChainComplex)" -- see supportOfTor -- computes multidegrees in the support of Tor_i(M,k), where k is the residue field
• "supportOfTor(Module)" -- see supportOfTor -- computes multidegrees in the support of Tor_i(M,k), where k is the residue field
• Symbols
• "Inner" -- see findRegion -- finds minimal multidegree(s) in a given region where an ideal or module satisfies a Boolean function
• "Outer" -- see findRegion -- finds minimal multidegree(s) in a given region where an ideal or module satisfies a Boolean function
• "IrrelevantIdeal" -- see isQuasiLinear -- checks whether degrees in the resolution of a truncation are at most those of the irrelevant ideal

## For the programmer

The object LinearTruncations is .

• multigradedPolynomialRing -- produces polynomial rings with standard multigradings
• irrelevantIdeal -- gives the irrelevant ideal of the coordinate ring of a product of projective spaces
• diagonalMultidegrees -- t-tuples of non-negative integers with sum equal to d
• findMins -- calculates the minimal elements of a subset of ZZ^r
• findRegion -- finds minimal multidegree(s) in a given region where an ideal or module satisfies a Boolean function
• partialRegularities -- calculates Castelnuovo-Mumford regularity in each component of a multigrading
• isLinearComplex -- tests whether a complex of graded modules is linear
• linearTruncations -- finds minimal multidegree(s) in a given range where the resolution of a truncated module is linear
• supportOfTor -- computes multidegrees in the support of Tor_i(M,k), where k is the residue field
• linearTruncationsBound -- bounds the region where truncations of a module have linear resolutions
• regularityBound -- bounds the multigraded regularity of a module
• isQuasiLinear -- checks whether degrees in the resolution of a truncation are at most those of the irrelevant ideal
• compMin -- takes componentwise minimum or maximum of a list of lists