<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>universalEmbedding -- Compute the universal embedding</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_which__Gm.html">next</a> | <a href="___Tries.html">previous</a> | <a href="_which__Gm.html">forward</a> | <a href="___Tries.html">backward</a> | up | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <hr/> <div><h1>universalEmbedding -- Compute the universal embedding</h1> <div class="single"><h2>Synopsis</h2> <ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>u = universalEmbedding M</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>M</tt>, <span>a <a href="../../Macaulay2Doc/html/___Module.html">module</a></span>, or <span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span></span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><tt>u</tt>, <span>a <a href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span>, defining the universal embedding of the <tt>R</tt>-module <tt>M</tt> into a free <tt>R</tt>-module.</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p>Suppose that M has free presentation <i>F→G</i>. universalEmbedding provides the universal map from the input module M into a free module H over the same ring, written as a map <i>u:M →H</i>, such that any map from <i>M</i> to a free <i>R</i>-module, factors uniquely through <i>u</i>. Let <i>u1</i> be the map <i>u1: G→H</i> induced by composing <i>u</i> with the surjection <i>p: G →M</i>. By definition, the Rees algebra of <i>M</i> is the image of the induced map <i>Sym(u1): Sym(G)→Sym(H)</i>, 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 <i>M</i>.</p> <div>We first give a simple example looking at the syzygy matrix of the cube of the maximial ideal of a polynomial ring.</div> <table class="examples"><tr><td><pre>i1 : S = ZZ/101[x,y,z];</pre> </td></tr> <tr><td><pre>i2 : FF=res ((ideal vars S)^3);</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>i4 : universalEmbedding M o4 = | x3 x2y xy2 y3 x2z xyz y2z xz2 yz2 z3 | o4 : Matrix</pre> </td></tr> </table> <div>A more complicated example.</div> <table class="examples"><tr><td><pre>i5 : x = symbol x;</pre> </td></tr> <tr><td><pre>i6 : R=QQ[x_1..x_8];</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>i10 : d1=minors(2,m1); d2=minors(2,m2); o10 : Ideal of R o11 : Ideal of R</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>i13 : M=M-(transpose M); 4 4 o13 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> <tr><td><pre>i15 : universalEmbedding(N) o15 = {-1} | x_1 -x_6 -x_2 -x_8 | {-1} | x_3 x_5 -x_4 x_7 | o15 : Matrix</pre> </td></tr> </table> <p></p> <div>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 universalEmbedding. 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.</div> <table class="examples"><tr><td><pre>i16 : p = 3;</pre> </td></tr> <tr><td><pre>i17 : S = ZZ/p[x,y,z];</pre> </td></tr> <tr><td><pre>i18 : R = S/((ideal(x^p,y^p))+(ideal(x,y,z))^(p+1)) o18 = R o18 : QuotientRing</pre> </td></tr> <tr><td><pre>i19 : I = module ideal(z) o19 = image | z | 1 o19 : R-module, submodule of R</pre> </td></tr> </table> <div>As a module (or ideal), <i>Hom(I,R<sup>1</sup>)</i> is minimally generated by 3 elements, and thus the universal embedding of <i>I</i> into a free module is into <i>R<sup>3</sup></i>.</div> <table class="examples"><tr><td><pre>i20 : betti Hom(I,R^1) 0 1 o20 = total: 3 14 0: 3 3 1: . 2 2: . 9 o20 : BettiTally</pre> </td></tr> <tr><td><pre>i21 : ui = universalEmbedding I o21 = | z | | y | | x | o21 : Matrix</pre> </td></tr> </table> <div>it is injective:</div> <table class="examples"><tr><td><pre>i22 : kernel ui o22 = image 0 1 o22 : R-module, submodule of R</pre> </td></tr> </table> <div>It is easy to make two other embeddings of <i>I</i> into free modules. First, the natural inclusion of <i>I</i> into <i>R</i> as an ideal is</div> <table class="examples"><tr><td><pre>i23 : inci = map(R^1,I,matrix{{z}}) o23 = | z | o23 : Matrix</pre> </td></tr> <tr><td><pre>i24 : kernel inci o24 = image 0 1 o24 : R-module, submodule of R</pre> </td></tr> </table> <div>and second, the map defined by multiplication by x and y.</div> <table class="examples"><tr><td><pre>i25 : gi = map(R^2, I, matrix{{x},{y}}) o25 = | x | | y | o25 : Matrix</pre> </td></tr> <tr><td><pre>i26 : kernel gi o26 = image 0 1 o26 : R-module, submodule of R</pre> </td></tr> </table> <div>We can compose ui, inci and gi with a surjection R--> i to get maps u:R<sup>1</sup> --> R<sup>3</sup>, inc: R<sup>1</sup> --> R<sup>1</sup> and g:R<sup>1</sup> --> R<sup>2</sup> having image i</div> <table class="examples"><tr><td><pre>i27 : u= map(R^3,R^{-1},ui) o27 = | z | | y | | x | 3 1 o27 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i28 : inc=map(R^1, R^{-1}, matrix{{z}}) o28 = | z | 1 1 o28 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i29 : g=map(R^2, R^{-1}, matrix{{x},{y}}) o29 = | x | | y | 2 1 o29 : Matrix R <--- R</pre> </td></tr> </table> <div>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:</div> <table class="examples"><tr><td><pre>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</pre> </td></tr> </table> <div>Next the inclusion:</div> <table class="examples"><tr><td><pre>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</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> </table> <div>Finallly, the map g1:</div> <table class="examples"><tr><td><pre>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</pre> </td></tr> <tr><td><pre>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</pre> </td></tr> </table> <div>The following test yields “true”, as implied by the theorem of Eisenbud, Huneke and Ulrich.</div> <table class="examples"><tr><td><pre>i35 : A==B o35 = true</pre> </td></tr> </table> <div>But the following yields “false”, showing that one must take care in general, which inclusion one uses.</div> <table class="examples"><tr><td><pre>i36 : A==C o36 = false</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_rees__Ideal.html" title="compute the defining ideal of the Rees Algebra">reesIdeal</a> -- compute the defining ideal of the Rees Algebra</span></li> <li><span><a href="_rees__Algebra.html" title="compute the defining ideal of the Rees Algebra">reesAlgebra</a> -- compute the defining ideal of the Rees Algebra</span></li> <li><span><a href="_symmetric__Kernel.html" title="Compute the Rees ring of the image of a matrix">symmetricKernel</a> -- Compute the Rees ring of the image of a matrix</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>universalEmbedding</tt> :</h2> <ul><li>universalEmbedding(Ideal)</li> <li>universalEmbedding(Module)</li> </ul> </div> </div> </body> </html>