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 2 2 2 2 2 2 2 2 2 3
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 , z w , y*z*w , x*z*w , y w , x*y*w , x w , z*w ,
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
---------------------------------------------------------------------------------------------------------------------------
3 3 4
y*w , x*w , w )
0 0 0
o30 : Ideal of R[w ]
0
|
Next the inclusion:
i31 : B1=symmetricKernel inc
3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3
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 , z w , y*z*w , x*z*w , y w , x*y*w , x w , z*w ,
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
---------------------------------------------------------------------------------------------------------------------------
3 3 4
y*w , x*w , w )
0 0 0
o31 : Ideal of R[w ]
0
|
i32 : B=(map(ring A, ring B1)) B1
3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3
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 , z w , y*z*w , x*z*w , y w , x*y*w , x w , z*w ,
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
---------------------------------------------------------------------------------------------------------------------------
3 3 4
y*w , x*w , w )
0 0 0
o32 : Ideal of R[w ]
0
|
Finallly, the map g1:
i33 : C1 = symmetricKernel g
3 3 2 2 2 2 2 2 2 2 2 2 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 , 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 0 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 2 2 2 2 2 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 , 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 0 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.