Given an ideal, a module, or a free resolution, this function keeps only the summands in the minimal graded free resolution generated in degrees in L. If the list L contains only one element which is in the multigraded regularity of M plus the dimension vector, the output will be the virtual resolution of a pair as defined in Section 1 of [BES]. See Algorithm 3.4 of [BES,arXiv:1703.07631] for further details.
For example, consider the ideal of three points in ℙ1×ℙ1.
i1 : X = toricProjectiveSpace(1)**toricProjectiveSpace(1); |
i2 : S = ring X; B = ideal X; o3 : Ideal of S |
i4 : J = saturate(intersect( ideal(x_1 - 1*x_0, x_3 - 4*x_2), ideal(x_1 - 2*x_0, x_3 - 5*x_2), ideal(x_1 - 3*x_0, x_3 - 6*x_2)), B) 3 2 2 3 2 o4 = ideal (3x x + x x - x x , 120x - 74x x + 15x x - x , 120x x - 0 2 1 2 0 3 2 2 3 2 3 3 1 2 ------------------------------------------------------------------------ 2 2 2 2 2 3 34x x x - 2x x + 3x x , 40x x + 6x x - 13x x x - 3x x , 6x - 1 2 3 0 3 1 3 1 2 0 3 0 1 3 1 3 0 ------------------------------------------------------------------------ 2 2 3 11x x + 6x x - x ) 0 1 0 1 1 o4 : Ideal of S |
We can now compute its minimal free resolution and a virtual resolution. One can show that (2,0) is in the multigraded regularity of this example. Thus, since we want to compute a virtual resolution we apply virtualOfPair to the element (3,1) since (3,1)=(2,0)+(1,1) and (1,1) is the dimension vector for ℙ1×ℙ1.
i5 : minres = res J; |
i6 : vres = virtualOfPair(J,{{3,1}}) --(3,1) = (2,0) + (1,1) 1 3 2 o6 = S <-- S <-- S <-- 0 0 1 2 3 o6 : ChainComplex |
Finally, we check that the result is indeed virtual.
i7 : isVirtual(B,vres) o7 = true |
Given an element of the multigraded regularity, one must add the dimension vector of the product of projective spaces for this to return a virtual resolution.