# resolveViaFatPoint -- returns a virtual resolution of a zero-dimensional scheme

## Synopsis

• Usage:
resolveViaFatPoint(I, irr, A)
• Inputs:
• J, an ideal, saturated ideal corresponding to a zero-dimensional scheme
• irr, an ideal, the irrelevant ideal
• A, a list, power you want to take the irrelevant ideal to
• Outputs:
• , virtual resolution of our ideal

## Description

Given a saturated ideal J of a zero-dimensional subscheme, irrelevant ideal irr, and a tuple A, resolveViaFatPoint computes a free resolution of J intersected with A-th power of the irrelevant ideal. See Theorem 4.1 of [BES20, arXiv:1703.07631].

Below we follow example 4.7 of [BES20,arXiv:1703.07631] and compute the virtual resolution of 6 points in $\PP^1\times\PP^1\times\PP^2$.

 i1 : N = {1,1,2} o1 = {1, 1, 2} o1 : List i2 : pts = 6 o2 = 6 i3 : (S, E) = productOfProjectiveSpaces N o3 = (S, E) o3 : Sequence i4 : irr = intersect for n to #N-1 list ( ideal select(gens S, i -> (degree i)#n == 1) ); o4 : Ideal of S i5 : I = saturate intersect for i to pts - 1 list ( P := sum for n to N#0 - 1 list ideal random({1,0,0}, S); Q := sum for n to N#1 - 1 list ideal random({0,1,0}, S); R := sum for n to N#2 - 1 list ideal random({0,0,1}, S); P + Q + R ); o5 : Ideal of S i6 : C = resolveViaFatPoint (I, irr, {2,1,0}) 1 17 34 24 6 o6 = S <-- S <-- S <-- S <-- S <-- 0 0 1 2 3 4 5 o6 : ChainComplex i7 : isVirtual(irr, C) o7 = true

## Ways to use resolveViaFatPoint :

• "resolveViaFatPoint(Ideal,Ideal,List)"

## For the programmer

The object resolveViaFatPoint is .