Using only the multigraded betti numbers of a $\ZZ^r$-graded module $M$, this function identifies multidegrees at which the truncation of $M$ will have a linear minimal resolution (i.e. where the resolution will satisfy isLinearComplex).
i1 : S = ZZ/101[x_0,x_1,y_0,y_1,z_0,z_1,Degrees=>{{1,0,0},{1,0,0},{0,1,0},{0,1,0},{0,0,1},{0,0,1}}] o1 = S o1 : PolynomialRing |
i2 : I = ideal(x_0*x_1*y_0*z_0^2, x_1^2*y_0^2*y_1^2*z_0^2, x_0^3*y_0*z_1, x_0^2*x_1*y_1*z_0*z_1, x_0*x_1^2*y_1^2*z_0^3, x_1^3*y_0^2*y_1*z_1^2) 2 2 2 2 2 3 2 2 2 3 3 2 2 o2 = ideal (x x y z , x y y z , x y z , x x y z z , x x y z , x y y z ) 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 o2 : Ideal of S |
i3 : M = S^1/I o3 = cokernel | x_0x_1y_0z_0^2 x_1^2y_0^2y_1^2z_0^2 x_0^3y_0z_1 x_0^2x_1y_1z_0z_1 x_0x_1^2y_1^2z_0^3 x_1^3y_0^2y_1z_1^2 | 1 o3 : S-module, quotient of S |
i4 : L = linearTruncationsBound M o4 = {{4, 3, 3}, {4, 4, 2}} o4 : List |
i5 : apply(L, d -> isLinearComplex res prune truncate(d,M)) o5 = {true, true} o5 : List |
The output is a list of the minimal multidegrees $d$ such that the sum of the positive coordinates of $b-d$ is at most $i$ for all degrees $b$ appearing in the i-th step of the resolution of $M$.
i6 : elapsedTime linearTruncations({{2,2,2},{4,4,4}}, M) -- 6.03636 seconds elapsed o6 = {{4, 3, 3}, {4, 4, 2}} o6 : List |
i7 : elapsedTime linearTruncationsBound M -- 0.0318198 seconds elapsed o7 = {{4, 3, 3}, {4, 4, 2}} o7 : List |
In general linearTruncationsBound will not find the minimal degrees where $M$ has a linear resolution but will be faster than repeatedly truncating $M$.
The object linearTruncationsBound is a method function.