next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
ReesAlgebra :: versalEmbedding

versalEmbedding -- Compute a versal embedding

Synopsis

Description

For any module M over a Noetherian ring R there is a map u: M →H that is versal for maps from M to free modules; that is, such that any map from M to a free module factors through u. Such a map may be constructed by choosing a set of s generators for Hom(M,R), and using them as the components of a map u: M →H := Rs.

(NOTE: In the paper of Eisenbud, Huneke and Ulrich cited below, the versal map is described with the term “universal”, which is misleading, since the induced map from H is generally not unique.)

Suppose that M has a free presentation F →G, and let u1 be the map u1: G→H induced by composing u with the surjection p: G →M. By definition, the Rees algebra of M is the image of the induced map Sym(u1): Sym(G)→Sym(H), and thus can be computed with symmetricKernel(u1). The map u is computed from the dual of the first syzygy map of the dual of the presentation of M.

We first give a simple example looking at the syzygy matrix of the cube of the maximial ideal of a polynomial ring.

i1 : S = ZZ/101[x,y,z];
i2 : FF=res ((ideal vars S)^3);
i3 : M=coker (FF.dd_2)

o3 = cokernel {3} | -y 0  0  -z 0  0  0  0  0  0  0  0  0  0  0  |
              {3} | x  -y 0  0  -z 0  0  0  0  0  0  0  0  0  0  |
              {3} | 0  x  -y 0  0  0  -z 0  0  0  0  0  0  0  0  |
              {3} | 0  0  x  0  0  0  0  0  -z 0  0  0  0  0  0  |
              {3} | 0  0  0  x  y  -y 0  0  0  -z 0  0  0  0  0  |
              {3} | 0  0  0  0  0  x  y  -y 0  0  -z 0  0  0  0  |
              {3} | 0  0  0  0  0  0  0  x  y  0  0  0  -z 0  0  |
              {3} | 0  0  0  0  0  0  0  0  0  x  y  -y 0  -z 0  |
              {3} | 0  0  0  0  0  0  0  0  0  0  0  x  y  0  -z |
              {3} | 0  0  0  0  0  0  0  0  0  0  0  0  0  x  y  |

                            10
o3 : S-module, quotient of S
i4 : versalEmbedding M

o4 = | x3 x2y xy2 y3 x2z xyz y2z xz2 yz2 z3 |

o4 : Matrix

A more complicated example.

i5 : x = symbol x;
i6 : R=QQ[x_1..x_8];
i7 : m1=genericMatrix(R,x_1,2,2); m2=genericMatrix(R,x_5,2,2);

             2       2
o7 : Matrix R  <--- R

             2       2
o8 : Matrix R  <--- R
i9 : m=m1*m2

o9 = | x_1x_5+x_3x_6 x_1x_7+x_3x_8 |
     | x_2x_5+x_4x_6 x_2x_7+x_4x_8 |

             2       2
o9 : Matrix R  <--- R
i10 : d1=minors(2,m1); d2=minors(2,m2);

o10 : Ideal of R

o11 : Ideal of R
i12 : M=matrix{{0,d1_0,m_(0,0),m_(0,1)},           {0,0,m_(1,0),m_(1,1)},          {0,0,0,d2_0},           {0,0,0,0}}

o12 = | 0 -x_2x_3+x_1x_4 x_1x_5+x_3x_6 x_1x_7+x_3x_8  |
      | 0 0              x_2x_5+x_4x_6 x_2x_7+x_4x_8  |
      | 0 0              0             -x_6x_7+x_5x_8 |
      | 0 0              0             0              |

              4       4
o12 : Matrix R  <--- R
i13 : M=M-(transpose M);

              4       4
o13 : Matrix R  <--- R
i14 : N= coker(res coker transpose M).dd_2

o14 = cokernel {0} | -x_2x_5-x_4x_6 -x_2x_7-x_4x_8 x_6x_7-x_5x_8  0              |
               {2} | x_2x_3-x_1x_4  0              x_1x_7+x_3x_8  x_2x_7+x_4x_8  |
               {2} | -x_1x_5-x_3x_6 -x_1x_7-x_3x_8 0              -x_6x_7+x_5x_8 |
               {2} | 0              x_2x_3-x_1x_4  -x_1x_5-x_3x_6 -x_2x_5-x_4x_6 |

                             4
o14 : R-module, quotient of R
i15 : versalEmbedding(N)

o15 = {-1} | x_1 -x_6 -x_2 -x_8 |
      {-1} | x_3 x_5  -x_4 x_7  |

o15 : Matrix

Here is an example from the paper "What is the Rees Algebra of a Module" by David Eisenbud, Craig Huneke and Bernd Ulrich, Proc. Am. Math. Soc. 131, 701-708, 2002. The example shows that one cannot, in general, define the Rees algebra of a module by using *any* embedding of that module, even when the module is isomorphic to an ideal; this is the reason for using the map provided by the routine versalEmbedding. Note that the same paper shows that such problems do not arise when the ring is torsion-free as a ZZ-module, or when one takes the natural embedding of the ideal into the ring.

i16 : p = 3;
i17 : S = ZZ/p[x,y,z];
i18 : R = S/((ideal(x^p,y^p))+(ideal(x,y,z))^(p+1))

o18 = R

o18 : QuotientRing
i19 : I = module ideal(z)

o19 = image | z |

                              1
o19 : R-module, submodule of R

As a module (or ideal), Hom(I,R1) is minimally generated by 3 elements, and thus a versal embedding of I into a free module is into R3.

i20 : betti Hom(I,R^1)

             0  1
o20 = total: 3 14
          0: 3  3
          1: .  2
          2: .  9

o20 : BettiTally
i21 : ui = versalEmbedding I

o21 = | z |
      | y |
      | x |

o21 : Matrix

it is injective:

i22 : kernel ui

o22 = image 0

                              1
o22 : R-module, submodule of R

It is easy to make two other embeddings of I into free modules. One is the natural inclusion of I into R as an ideal:

i23 : inci = map(R^1,I,matrix{{z}})

o23 = | z |

o23 : Matrix
i24 : kernel inci

o24 = image 0

                              1
o24 : R-module, submodule of R

Another is the map defined by multiplication by x and y.

i25 : gi = map(R^2, I, matrix{{x},{y}})

o25 = | x |
      | y |

o25 : Matrix
i26 : kernel gi

o26 = image 0

                              1
o26 : R-module, submodule of R

We can compose ui, inci and gi with a surjection R→i to get maps u:R1 →R3, inc: R1 →R1 and g:R1 →R2 having image i.

i27 : u= map(R^3,R^{-1},ui)

o27 = | z |
      | y |
      | x |

              3       1
o27 : Matrix R  <--- R
i28 : inc=map(R^1, R^{-1}, matrix{{z}})

o28 = | z |

              1       1
o28 : Matrix R  <--- R
i29 : g=map(R^2, R^{-1}, matrix{{x},{y}})

o29 = | x |
      | y |

              2       1
o29 : Matrix R  <--- R

We now form the symmetric kernels of these maps and compare them. Note that since symmetricKernel defines a new ring, we must bring them to the same ring to make the comparison. First the map u, which would be used by reesIdeal:

i30 : A=symmetricKernel u

              3       2       2     2                 2         2     2     
o30 = ideal (z w , y*z w , x*z w , y z*w , x*y*z*w , x z*w , x*y w , x y*w ,
                0       0       0       0         0       0       0       0 
      -----------------------------------------------------------------------
       2 2       2       2   2 2       2   2 2     3     3     3   4
      z w , y*z*w , x*z*w , y w , x*y*w , x w , z*w , y*w , x*w , w )
         0       0       0     0       0     0     0     0     0   0

o30 : Ideal of R[w ]
                  0

Next the inclusion:

i31 : B1=symmetricKernel inc

              3       2       2     2                 2         2     2     
o31 = ideal (z w , y*z w , x*z w , y z*w , x*y*z*w , x z*w , x*y w , x y*w ,
                0       0       0       0         0       0       0       0 
      -----------------------------------------------------------------------
       2 2       2       2   2 2       2   2 2     3     3     3   4
      z w , y*z*w , x*z*w , y w , x*y*w , x w , z*w , y*w , x*w , w )
         0       0       0     0       0     0     0     0     0   0

o31 : Ideal of R[w ]
                  0
i32 : B=(map(ring A, ring B1)) B1

              3       2       2     2                 2         2     2     
o32 = ideal (z w , y*z w , x*z w , y z*w , x*y*z*w , x z*w , x*y w , x y*w ,
                0       0       0       0         0       0       0       0 
      -----------------------------------------------------------------------
       2 2       2       2   2 2       2   2 2     3     3     3   4
      z w , y*z*w , x*z*w , y w , x*y*w , x w , z*w , y*w , x*w , w )
         0       0       0     0       0     0     0     0     0   0

o32 : Ideal of R[w ]
                  0

Finallly, the map g1:

i33 : C1 = symmetricKernel g

              3   3       2       2     2                 2         2   
o33 = ideal (w , z w , y*z w , x*z w , y z*w , x*y*z*w , x z*w , x*y w ,
              0     0       0       0       0         0       0       0 
      -----------------------------------------------------------------------
       2       2 2       2       2   2 2       2   2 2
      x y*w , z w , y*z*w , x*z*w , y w , x*y*w , x w )
           0     0       0       0     0       0     0

o33 : Ideal of R[w ]
                  0
i34 : C=(map(ring A, ring C1)) C1

              3   3       2       2     2                 2         2   
o34 = ideal (w , z w , y*z w , x*z w , y z*w , x*y*z*w , x z*w , x*y w ,
              0     0       0       0       0         0       0       0 
      -----------------------------------------------------------------------
       2       2 2       2       2   2 2       2   2 2
      x y*w , z w , y*z*w , x*z*w , y w , x*y*w , x w )
           0     0       0       0     0       0     0

o34 : Ideal of R[w ]
                  0

The following test yields “true”, as implied by the theorem of Eisenbud, Huneke and Ulrich.

i35 : A==B

o35 = true

But the following yields “false”, showing that one must take care in general, which inclusion one uses.

i36 : A==C

o36 = false

See also

Ways to use versalEmbedding :