This function truncates the module $M$ at degree $d$ and compares the twists appearing in its resolution with those appearing in the resolution of $S/B$, where $S$ is the ring of $M$ and $B$ the irrelevant ideal. If for some $i$ the i-th step of the resolution contains a summand $S(-c-d)$ such that no summand of the i-th step of the resolution of $S/B$ has generator of degree greater than $c$ then the output will be false.
If the option IrrelevantIdeal is not specified it will be calculated assuming that $S$ is the coordinate ring of a product of projective spaces.
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 : d = {4,3,2} o4 = {4, 3, 2} o4 : List |
i5 : isLinearComplex res prune truncate({4,3,2},M) o5 = false |
i6 : isQuasiLinear(d,M) o6 = true |
The condition comes from Theorem 2.9 in Berkesch, Erman, and Smith's paper "Virtual Resolutions for a Product of Projective Spaces." The ChainComplex and BettiTally usages take the resolution of the truncation (or some other virtual resolution) directly.
If the resolution of the truncation is longer than the resolution of $S/B$ then isQuasiLinear will return false.
The object isQuasiLinear is a method function with options.