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 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,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 | 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\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 |
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 |
The object versalEmbedding is a method function.