# Singular

#### D.15.15.6 resolutionInLocalization

Procedure from library `graal.lib` (see graal_lib).

Usage:
resolutionInLocalization(I,L); I ideal, L ideal or graalBearer

Return:
the resolution of I*A_L, where
A_L is the localization of the current basering (possibly a quotient ring) at a prime ideal L.

Example:
 ```LIB "graal.lib"; ring Q = 0,(x,y,z,w),dp; ideal circle = (x-1)^2+y^2-3,z; ideal twistedCubic = xz-y2,yw-z2,xw-yz,z; ideal I = std(intersect(circle,twistedCubic)); // the resolution is more complicated due to the twisted cubic res(I,0); ==> 1 4 5 2 ==> Q <-- Q <-- Q <-- Q ==> ==> 0 1 2 3 ==> resolution not minimized yet ==> // however if we localize outside of the twisted cubic, // it should become very easy again. ideal L = std(I+ideal(x-1)); graalBearer Gr = graalMixed(L); Gr; ==> affine coordinate ring: ==> (QQ),(x,y,z,w),(dp(4),C) ==> ==> ideal defining the subvariety: ==> ==> ==> Al: ==> (0,w),(Y(1),Y(2),Y(3),Y(4),x,y,z),(ds(4),c,dp(3)) ==> mod <(w)*y^2+(-3*w)-Y(3),x-1-Y(2),z-Y(1),(3*w)*Y(3)+(-w^2)*Y(4)+Y(3)\ ^2> ==> graal: ==> (0,w),(Y(1),Y(2),Y(3),Y(4),z),(c,dp(4),lp(1),L(1048575)) ==> mod <3*Y(3)+(-w)*Y(4),z^2+10*z-2> ==> where ==> Y(1) represents generator z ==> Y(2) represents generator x-1 ==> Y(3) represents generator y2w-3w ==> Y(4) represents generator y4-3y2 ==> and x,y,z in Al are mapped to 1,1/3*z+5/3,0 in Graal ==> markedResolution mr = resolutionInLocalization(I,Gr); ==> // ** full resolution in a qring may be infinite, setting max length to 5 mr; ==> resolution over Al: ==> 1 2 1 ==> Al <-- Al <-- Al ==> ==> 0 1 2 ==> resolution not minimized yet ==> ==> k=1 ==> Y(1),(w^2)*Y(4)+(3*w^2)*Y(2)^2*x+(3*w)*Y(2)*Y(3)-Y(3)^2 ==> ==> k=2 ==> _[1,1], ==> -Y(1) ==> ==> resolution over Graal: ==> 1 2 1 ==> Graal <-- Graal <-- Graal ==> ==> 0 1 2 ==> ==> k=1 ==> Y(1),(w^2)*Y(4) ==> ==> k=2 ==> (w^2)*Y(4), ==> -Y(1) ==> ==> ```