<?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>invNoetherNormalization -- Noether normalization</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="___Involutive.html">next</a> | <a href="_factor__Module__Basis.html">previous</a> | <a href="___Involutive.html">forward</a> | <a href="_factor__Module__Basis.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>invNoetherNormalization -- Noether normalization</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>N = invNoetherNormalization I</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>I</tt>, <span>an object of class <a href="___Involutive__Basis.html" title="the class of all involutive bases">InvolutiveBasis</a></span></span></li> <li><span><tt>I</tt>, <span>a <a href="../../Macaulay2Doc/html/___Groebner__Basis.html">Groebner basis</a></span></span></li> <li><span><tt>I</tt>, <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>N</tt>, <span>a <a href="../../Macaulay2Doc/html/___List.html">list</a></span>, the first entry of which is a list defining an invertible coordinate transformation in terms of the images of the variables of the polynomial ring; the second entry is a list of variables whose residue classes modulo the ideal in the new coordinates are (maximally) algebraically independent</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><tt>PermuteVariables => ...</tt> (missing documentation<!-- tag: invNoetherNormalization(..., PermuteVariables => ...) -->), </span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p>invNoetherNormalization constructs an automorphism of the polynomial ring in which I defines an ideal, such that the image of I under this automorphism is in Noether normal position.</p> <p>The automorphism is defined by the first list returned: the i-th variable of the polynomial ring is mapped to the i-th entry of that list.</p> <p>In the new coordinates, the residue class ring is an integral ring extension of the polynomial ring in the variables given in the second list returned.</p> <p>If the option <a href="___Permute__Variables.html" title="ensure that the last dim(I) var's are algebraically independent modulo I">PermuteVariables</a> is set to true, the second list consists of the last d variables, where d is the Krull dimension of the residue class ring.</p> <p>Reference: D. Robertz, Noether normalization guided by monomial cone decompositions, Journal of Symbolic Computation 44, 2009, pp. 1359-1373.</p> <table class="examples"><tr><td><pre>i1 : R = QQ[x,y,z];</pre> </td></tr> <tr><td><pre>i2 : I = ideal(x*y*z); o2 : Ideal of R</pre> </td></tr> <tr><td><pre>i3 : J = janetBasis I;</pre> </td></tr> <tr><td><pre>i4 : N = invNoetherNormalization J o4 = {{x, - x + y, - x + z}, {z, y}} o4 : List</pre> </td></tr> </table> <table class="examples"><tr><td><pre>i5 : R = QQ[w,x,y,z];</pre> </td></tr> <tr><td><pre>i6 : I = ideal(y^2*z-w*x*y^2, x*y*z-w*z^2, y^2*z-w*x^2*y*z); o6 : Ideal of R</pre> </td></tr> <tr><td><pre>i7 : J = janetBasis I;</pre> </td></tr> <tr><td><pre>i8 : N = invNoetherNormalization J o8 = {{w, x, - x + y, - w - x + z}, {z, y}} o8 : List</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_janet__Basis.html" title="compute Janet basis for an ideal or a submodule of a free module">janetBasis</a> -- compute Janet basis for an ideal or a submodule of a free module</span></li> <li><span><a href="_factor__Module__Basis.html" title="enumerate standard monomials">factorModuleBasis</a> -- enumerate standard monomials</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>invNoetherNormalization</tt> :</h2> <ul><li>invNoetherNormalization(GroebnerBasis)</li> <li>invNoetherNormalization(Ideal)</li> <li>invNoetherNormalization(InvolutiveBasis)</li> <li>invNoetherNormalization(Matrix)</li> <li>invNoetherNormalization(Module)</li> </ul> </div> </div> </body> </html>