# linearTruncations -- finds minimal multidegree(s) in a given range where the resolution of a truncated module is linear

## Synopsis

• Usage:
linearTruncations(L,M)
linearTruncations M
• Inputs:
• L, a list, containing 2 lists: minimum and maximum multidegrees defining range
• M, , the module to be truncated
• Outputs:
• a list, containing multidegrees with linear truncations

## Description

Given a list {L1,L2} and a module $M$, this function truncates $M$ at each multidegree between L1 and L2 and tests whether the minimal resolution of the resulting module is linear. The set of multidegrees producing linear resolutions is invariant under positive translation, and the function returns the minimal multidegrees in this set. If a list L is not provided it will search between the componentwise minimum of the degrees of the generators of $M$ and the degree with all coordinates equal to $r+1$, where $r$ is the regularity of $M$.

 i1 : S = multigradedPolynomialRing({2,3},Standard=>false) o1 = S o1 : PolynomialRing i2 : M = coker map(S^{{0,-3},{0,-3},{-3,0},{-3,0},{-3,0},{-3,0}},S^{{-3,-3},{-3,-3},{-3,-3},{-3,-3},{-3,-3},{-3,-3}}, {{a^3,b^3,c^3, 0,0,0},{0,0,0,b^3,a^3,c^3},{-d^3,0,0,-d^3,0,0},{0,-e^3,0,0,-e^3,0},{0,0,-f^3,0,0,-f^3},{0,0,0,-g^3,0,0}}) o2 = cokernel {0, 3} | a3 b3 c3 0 0 0 | {0, 3} | 0 0 0 b3 a3 c3 | {3, 0} | -d3 0 0 -d3 0 0 | {3, 0} | 0 -e3 0 0 -e3 0 | {3, 0} | 0 0 -f3 0 0 -f3 | {3, 0} | 0 0 0 -g3 0 0 | 6 o2 : S-module, quotient of S i3 : linearTruncations M o3 = {{3, 3}} o3 : List i4 : linearTruncations({{0,0},{9,9}}, M) o4 = {{3, 3}, {8, 2}} o4 : List

## Caveat

With the default options there may be generators of the linear truncation region not contained in the search region and thus not returned.