# reesIdeal -- Compute the defining ideal of the Rees Algebra

## Synopsis

• Usage:
reesIdeal M
reesIdeal(M,f)
• Inputs:
• M, , or an ideal of a quotient polynomial ring R
• f, , any non-zerodivisor in ideal or the first Fitting ideal of the module. Optional
• Optional inputs:
• Outputs:
• an ideal, defining the Rees algebra of M

## Description

This routine gives the user a choice between two methods for finding the defining ideal of the Rees algebra of an ideal or module M over a ring R: The command reesIdeal(M) computes a versal embedding g: M→G and a surjection f: F→M and returns the result of symmetricKernel(gf).

When M is an ideal (the usual case) or in characteristic 0, the same ideal can be computed by an alternate method that is often faster. If the user knows a non-zerodivisor a∈ R such that M[a-1 is a free module (for example, when M is an ideal, any non-zerodivisor a ∈ M then it is often much faster to compute reesIdeal(M,a) which computes the saturation of the defining ideal of the symmetric algebra of M with respect to a. This gives the correct answer even under the slightly weaker hypothesis that M[a-1] is of linear type. (See also isLinearType.)

 `i1 : kk = ZZ/101;` `i2 : S=kk[x_0..x_4];` ```i3 : i= trim monomialCurveIdeal(S,{2,3,5,6}) 2 3 2 2 2 2 o3 = ideal (x x - x x , x - x x , x x - x x , x - x x , x x - x x , x x 2 3 1 4 2 0 4 1 2 0 3 3 2 4 1 3 0 4 1 3 ------------------------------------------------------------------------ 3 2 - x x x , x - x x ) 0 2 4 1 0 4 o3 : Ideal of S``` ```i4 : time V1 = reesIdeal i; -- used 0.044677 seconds o4 : Ideal of S[w , w , w , w , w , w , w ] 0 1 2 3 4 5 6``` ```i5 : time V2 = reesIdeal(i,i_0); -- used 0.110682 seconds o5 : Ideal of S[w , w , w , w , w , w , w ] 0 1 2 3 4 5 6```

The following example shows how we handle degrees

 ```i6 : S=kk[a,b,c] o6 = S o6 : PolynomialRing``` ```i7 : m=matrix{{a,0},{b,a},{0,b}} o7 = | a 0 | | b a | | 0 b | 3 2 o7 : Matrix S <--- S``` ```i8 : i=minors(2,m) 2 2 o8 = ideal (a , a*b, b ) o8 : Ideal of S``` ```i9 : time I1 = reesIdeal i; -- used 0.0156288 seconds o9 : Ideal of S[w , w , w ] 0 1 2``` ```i10 : time I2 = reesIdeal(i,i_0); -- used 0.00454165 seconds o10 : Ideal of S[w , w , w ] 0 1 2``` ```i11 : transpose gens I1 o11 = {-1, -3} | aw_1-bw_2 | {-1, -3} | aw_0-bw_1 | {-2, -4} | w_1^2-w_0w_2 | 3 1 o11 : Matrix (S[w , w , w ]) <--- (S[w , w , w ]) 0 1 2 0 1 2``` ```i12 : transpose gens I2 o12 = {-1, -3} | aw_1-bw_2 | {-1, -3} | aw_0-bw_1 | {-2, -4} | w_1^2-w_0w_2 | 3 1 o12 : Matrix (S[w , w , w ]) <--- (S[w , w , w ]) 0 1 2 0 1 2```

Investigating plane curve singularities:

Proj of the Rees algebra of I ⊂ R is the blowup of I in spec R. Thus the Rees algebra is a basic construction in resolution of singularities. Here we work out a simple case:

 ```i13 : R = ZZ/32003[x,y] o13 = R o13 : PolynomialRing``` ```i14 : I = ideal(x,y) o14 = ideal (x, y) o14 : Ideal of R``` ```i15 : cusp = ideal(x^2-y^3) 3 2 o15 = ideal(- y + x ) o15 : Ideal of R``` ```i16 : RI = reesIdeal(I) o16 = ideal(x*w - y*w ) 0 1 o16 : Ideal of R[w , w ] 0 1``` ```i17 : S = ring RI o17 = S o17 : PolynomialRing``` ```i18 : totalTransform = substitute(cusp, S) + RI 3 2 o18 = ideal (- y + x , x*w - y*w ) 0 1 o18 : Ideal of S``` ```i19 : D = decompose totalTransform -- the components are the strict transform of the cuspidal curve and the exceptional curve 3 2 2 2 2 o19 = {ideal (x*w - y*w , y - x , y w - x*w , y*w - w ), ideal (y, x)} 0 1 0 1 0 1 o19 : List``` ```i20 : totalTransform = first flattenRing totalTransform 3 2 o20 = ideal (- y + x , w x - w y) 0 1 ZZ o20 : Ideal of -----[w , w , x, y] 32003 0 1``` ```i21 : L = primaryDecomposition totalTransform 3 2 2 2 2 2 2 o21 = {ideal (w x - w y, y - x , w y - w x, w y - w ), ideal (y , x*y, x , 0 1 0 1 0 1 ----------------------------------------------------------------------- w x - w y)} 0 1 o21 : List``` ```i22 : apply(L, i -> (degree i)/(degree radical i)) o22 = {1, 2} o22 : List```

The total transform of the cusp contains the exceptional divisor with multiplicity two. The strict transform of the cusp is a smooth curve but is tangent to the exceptional divisor

 ```i23 : use ring L_0 ZZ o23 = -----[w , w , x, y] 32003 0 1 o23 : PolynomialRing``` ```i24 : singular = ideal(singularLocus(L_0)); ZZ o24 : Ideal of -----[w , w , x, y] 32003 0 1``` ```i25 : SL = saturate(singular, ideal(x,y)); ZZ o25 : Ideal of -----[w , w , x, y] 32003 0 1``` ```i26 : saturate(SL, ideal(w_0,w_1)) o26 = ideal 1 ZZ o26 : Ideal of -----[w , w , x, y] 32003 0 1```

This shows that the strict transform is smooth.