<?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>symmetricKernel -- Compute the Rees ring of the image of a matrix</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_symmetric__Kernel_lp..._cm_sp__Variable_sp_eq_gt_sp..._rp.html">next</a> | <a href="_special__Fiber__Ideal.html">previous</a> | <a href="_symmetric__Kernel_lp..._cm_sp__Variable_sp_eq_gt_sp..._rp.html">forward</a> | <a href="_special__Fiber__Ideal.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>symmetricKernel -- Compute the Rees ring of the image of a matrix</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>I = symmetricKernel f</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>f</tt>, <span>a <a href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span></span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span>, defining the Rees ring of <tt>f</tt></span></li> </ul> </div> </li> <li><div class="single"><a href="../../Macaulay2Doc/html/_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><a href="_symmetric__Kernel_lp..._cm_sp__Variable_sp_eq_gt_sp..._rp.html">Variable => ...</a>, -- Choose name for variables in the created ring</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p>Given a map between free modules <i>f: F →G</i> this function computes the kernel of the induced map of symmetric algebras, <i>Sym(f): Sym(F) →Sym(G)</i> as an ideal in <i>Sym(F)</i>. When <i>f</i> defines the universal embedding of <i>Im f</i>, or when <i>G</i> is the ground ring, then (by results in the paper of Huneke-Eisenbud-Ulrich) this is equal to the defining ideal of the Rees algebra of the module Im f.</p> <div>This function is the workhorse of all/most of the Rees algebra functions in the package. Most users will prefer to use one of the front end commands <a href="_rees__Algebra.html" title="compute the defining ideal of the Rees Algebra">reesAlgebra</a>, <a href="_rees__Ideal.html" title="compute the defining ideal of the Rees Algebra">reesIdeal</a> and others.</div> <table class="examples"><tr><td><pre>i1 : R = QQ[a..e] o1 = R o1 : PolynomialRing</pre> </td></tr> <tr><td><pre>i2 : J = monomialCurveIdeal(R, {1,2,3}) 2 2 o2 = ideal (c - b*d, b*c - a*d, b - a*c) o2 : Ideal of R</pre> </td></tr> <tr><td><pre>i3 : symmetricKernel (gens J) o3 = ideal (b*w - c*w + d*w , a*w - b*w + c*w ) 0 1 2 0 1 2 o3 : Ideal of R[w , w , w ] 0 1 2</pre> </td></tr> </table> <div>Let <tt>I</tt> be the ideal returned and let <tt>S</tt> be the ring it lives in (also printed), then <tt>S/I</tt> is isomorphic to the Rees algebra <tt>R[Jt]</tt>. We can get the same information above using <tt>reesIdeal(J)</tt>, see <a href="_rees__Ideal.html" title="compute the defining ideal of the Rees Algebra">reesIdeal</a>. <b>The following is no longer correct!</b>. Also note that <tt>S</tt> is multigraded allowing Macaulay2 to correctly see that the variables of <tt>R</tt> now live in degree 0 and the new variables needed to describe <tt>R[Jt]</tt> as a <tt>k</tt>-algebra are in degree 1.</div> <table class="examples"><tr><td><pre>i4 : S = ring oo;</pre> </td></tr> <tr><td><pre>i5 : (monoid S).Options.Degrees o5 = {{1, 2}, {1, 2}, {1, 2}} o5 : List</pre> </td></tr> </table> <div><tt>symmetricKernel</tt> can also be computed over a quotient ring.</div> <table class="examples"><tr><td><pre>i6 : R = QQ[x,y,z]/ideal(x*y^2-z^9) o6 = R o6 : QuotientRing</pre> </td></tr> <tr><td><pre>i7 : J = ideal(x,y,z) o7 = ideal (x, y, z) o7 : Ideal of R</pre> </td></tr> <tr><td><pre>i8 : symmetricKernel(gens J) 8 2 o8 = ideal (z*w - y*w , z*w - x*w , y*w - x*w , x*y*w - z w , x*w - 1 2 0 2 0 1 1 2 1 ------------------------------------------------------------------------ 7 2 2 6 3 z w , w w - z w ) 2 0 1 2 o8 : Ideal of R[w , w , w ] 0 1 2</pre> </td></tr> </table> <div>The many ways of working with this function allows the system to compute both the classic Rees algebra of an ideal over a ring (polynomial or quotient) and to compute the the Rees algebra of a module or ideal using a universal embedding as described in the paper of Eisenbud, Huneke and Ulrich. It also allows different ways of setting up the quotient ring.</div> </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="_universal__Embedding.html" title="Compute the universal embedding">universalEmbedding</a> -- Compute the universal embedding</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>symmetricKernel</tt> :</h2> <ul><li>symmetricKernel(Matrix)</li> </ul> </div> </div> </body> </html>