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

versalEmbedding -- Compute a versal embedding

Synopsis

Description

For any module M over a Noetherian ring R there is a map $u: M \to 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 \to H := R^s$.

(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 \to G$, and let $u1$ be the map $u1: G\to H$ induced by composing $u$ with the surjection $p: G \to M$. By definition, the Rees algebra of $M$ is the image of the induced map $Sym(u1): Sym(G)\to 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 maximal 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 |

             1
o4 : Matrix S  <-- M

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  |

              2
o15 : Matrix R  <-- N

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,R^1)$ is minimally generated by 3 elements, and thus a versal embedding of $I$ into a free module is into $R^3$.

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 |

              3
o21 : Matrix R  <-- I

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 |

              1
o23 : Matrix R  <-- I
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 |

              2
o25 : Matrix R  <-- I
i26 : kernel gi

o26 = image 0

                              1
o26 : R-module, submodule of R

We can compose $ui, inci$ and $gi$ with a surjection $R\to i$ to get maps $u:R^1 \to R^3, inc: R^1 \to R^1$ and $g:R^1 \to R^2$ 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

Finally, 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 :

For the programmer

The object versalEmbedding is a method function.