<?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>lexIdeal -- produce a lexicographic ideal</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="___L__P__P.html">next</a> | <a href="_is__Pure__Power.html">previous</a> | <a href="___L__P__P.html">forward</a> | <a href="_is__Pure__Power.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>lexIdeal -- produce a lexicographic ideal</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>L=lexIdeal(R,hilb) or L=lexIdeal(Q,hilb) or L=lexIdeal(I)</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>R</tt>, <span>a <a href="../../Macaulay2Doc/html/___Polynomial__Ring.html">polynomial ring</a></span></span></li> <li><span><tt>Q</tt>, <span>a <a href="../../Macaulay2Doc/html/___Quotient__Ring.html">quotient ring</a></span>, a polynomial ring modulo a homogeneous ideal</span></li> <li><span><tt>hilb</tt>, <span>a <a href="../../Macaulay2Doc/html/___List.html">list</a></span>, a finite length list of positive integers</span></li> <li><span><tt>I</tt>, <span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span>, a homogeneous ideal</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><tt>L</tt>, <span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span>, the Artinian lexicographic ideal <tt>L</tt> in <tt>R</tt> (resp. <tt>Q</tt>) such that <tt>R/L</tt> (resp. <tt>Q/L</tt>) has Hilbert function <tt>hilb</tt> OR the lexicographic ideal (possibly not Artinian) <tt>L</tt> in <tt>R</tt> or <tt>Q</tt> with the same Hilbert function as <tt>I</tt></span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p>When <tt>R</tt> is a polynomial ring, if <tt>hilb</tt> is an O-sequence (that is, it satisfies Macaulay’s Theorem), such an <tt>L</tt> always exists. When <tt>Q</tt> is a quotient of a polynomial ring, there may be no lexicographic ideal with a particular Hilbert function even if it is an O-sequence. <tt>lexIdeal</tt> returns <tt>null</tt> if no lexicographic ideal <tt>L</tt> corresponding to the Hilbert function <tt>hilb</tt> exists in <tt>R</tt> or <tt>Q</tt>.</p> <p>When <tt>lexIdeal</tt> has an ideal as its input, it returns the lexicographic ideal with the same Hilbert function as its output. If no such ideal exists, which may happen since Macaulay’s Theorem fails in some quotient rings, then <tt>lexIdeal</tt> returns <tt>null</tt>.</p> <div>The function now works for quotients by arbitrary homogeneous ideals, not just monomial ideals. We thank David Eisenbud and Jeff Mermin for contributing their ideas.</div> <table class="examples"><tr><td><pre>i1 : R=ZZ/32003[a..c];</pre> </td></tr> <tr><td><pre>i2 : lexIdeal(R,{1,3,4,3,1}) 2 2 3 3 2 2 5 o2 = ideal (a*b, a , a*c , b , b*c , b c , c ) o2 : Ideal of R</pre> </td></tr> <tr><td><pre>i3 : lexIdeal ideal(a*b,b*c) 2 o3 = ideal (a*b, a ) o3 : Ideal of R</pre> </td></tr> <tr><td><pre>i4 : lexIdeal(R,{1,3,7}) --not an O-sequence, so no lex ideal exists</pre> </td></tr> <tr><td><pre>i5 : Q=R/ideal(a^3,b^3,a*c^2);</pre> </td></tr> <tr><td><pre>i6 : lexIdeal(Q,{1,3,6,4,2}) 2 2 2 2 2 5 4 o6 = ideal (a c, a*b , a b, b c , c , b*c ) o6 : Ideal of Q</pre> </td></tr> <tr><td><pre>i7 : lexIdeal(Q,{1,3,6,4,4}) --value of 4 in degree 4 is too high in this ring</pre> </td></tr> </table> </div> </div> <div class="single"><h2>Caveat</h2> <div><div>Note that we use the Gotzmann Persistence Theorem as a stopping criterion, so one should make sure this holds in the ring in which one is computing.</div> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_macaulay__Rep.html" title="the Macaulay representation of an integer">macaulayRep</a> -- the Macaulay representation of an integer</span></li> <li><span><a href="_macaulay__Bound.html" title="the bound on the growth of a Hilbert function from Macaulay's Theorem">macaulayBound</a> -- the bound on the growth of a Hilbert function from Macaulay's Theorem</span></li> <li><span><a href="_is__H__F.html" title="is a finite list a Hilbert function of a polynomial ring mod a homogeneous ideal">isHF</a> -- is a finite list a Hilbert function of a polynomial ring mod a homogeneous ideal</span></li> <li><span><a href="_is__Lex__Ideal.html" title="determine whether an ideal is a lexicographic ideal">isLexIdeal</a> -- determine whether an ideal is a lexicographic ideal</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>lexIdeal</tt> :</h2> <ul><li>lexIdeal(Ideal)</li> <li>lexIdeal(PolynomialRing,List)</li> <li>lexIdeal(QuotientRing,List)</li> </ul> </div> </div> </body> </html>