Macaulay2 » Documentation
Packages » ReesAlgebra :: reesIdeal
next | previous | forward | backward | up | index | toc

reesIdeal -- Compute the defining ideal of the Rees Algebra

Synopsis

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\to G$ and a surjection $f: F\to 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\in{} R$ such that $M[a^{-1}$ is a free module (for example, when M is an ideal, any non-zerodivisor $a \in{} 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.0290911 seconds

o4 : Ideal of S[w ..w ]
                 0   6
i5 : time V2 = reesIdeal(i,i_0);
     -- used 0.132806 seconds

o5 : Ideal of S[w ..w ]
                 0   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.0196642 seconds

o9 : Ideal of S[w ..w ]
                 0   2
i10 : time I2 = reesIdeal(i,i_0);
     -- used 0.00737291 seconds

o10 : Ideal of S[w ..w ]
                  0   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 ])  <-- (S[w ..w ])
                 0   2            0   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 ])  <-- (S[w ..w ])
                 0   2            0   2

Investigating plane curve singularities:

Proj of the Rees algebra of I \subset{} 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 (y, x), ideal (x*w  - y*w , y  - x , y w  - x*w , y*w  - w )}
                               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

               2        2                                 3    2     2       
o21 = {ideal (y , x*y, x , w x - w y), ideal (w x - w y, y  - x , w y  - w x,
                            0     1            0     1             0      1  
      -----------------------------------------------------------------------
       2     2
      w y - w )}
       0     1

o21 : List
i22 : apply(L, i -> (degree i)/(degree radical i))

o22 = {2, 1}

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.

See also

Ways to use reesIdeal :

For the programmer

The object reesIdeal is a method function with options.