<?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>GRevLex -- graded reverse lexicographical monomial order.</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="___Lex.html">next</a> | <a href="_packing_spmonomials_spfor_spefficiency.html">previous</a> | <a href="___Lex.html">forward</a> | <a href="_packing_spmonomials_spfor_spefficiency.html">backward</a> | <a href="_monomial_sporderings.html">up</a> | <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> <div><a href="index.html" title="">Macaulay2Doc</a> > <a href="_rings.html" title="">rings</a> > <a href="_monomial_sporderings.html" title="">monomial orderings</a> > <a href="___G__Rev__Lex.html" title="graded reverse lexicographical monomial order.">GRevLex</a></div> <hr/> <div><h1>GRevLex -- graded reverse lexicographical monomial order.</h1> <div class="single"><h2>Description</h2> <div> The graded reverse lexicographic order is defined by: <i>x<sup>A</sup> > x<sup>B</sup></i> if either <i>degree(x<sup>A</sup>) > degree(x<sup>B</sup>)</i> or <i>degree(x<sup>A</sup>) = degree(x<sup>B</sup>)</i> and the LAST non-zero entry of the vector of integers <i>A-B</i> is NEGATIVE. <p/> This is the default order in Macaulay2, in large part because it is often the most efficient order for use with Gröbner bases. By giving GRevLex a list of integers, one may change the definition of the order: <i>degree(x<sup>A</sup>)</i> is the dot product of <i>A</i> with the argument of GRevLex.<table class="examples"><tr><td><pre>i1 : R = QQ[a..d];</pre> </td></tr> <tr><td><pre>i2 : a^3 + b^2 + b*c 3 2 o2 = a + b + b*c o2 : R</pre> </td></tr> <tr><td><pre>i3 : S = QQ[a..d, MonomialOrder => GRevLex => {1,2,3,4}];</pre> </td></tr> <tr><td><pre>i4 : a^3 + b^2 + b*c 2 3 o4 = b*c + b + a o4 : S</pre> </td></tr> </table> The largest possible exponent of variables in the <tt>GRevLex</tt> order is 2^31-1. For efficiency reasons, it is sometimes useful to limit the size of monomials (this often makes computations more efficient).Use <tt>MonomialSize => 16</tt>, which allows maximal exponent 2^15-1, or <tt>MonomialSize => 8</tt>, which allows maximal exponent 2^7-1.<table class="examples"><tr><td><pre>i5 : B1 = QQ[a..d,MonomialSize=>16,MonomialOrder=>GRevLex];</pre> </td></tr> <tr><td><pre>i6 : B = QQ[a..d,MonomialSize=>16];</pre> </td></tr> <tr><td><pre>i7 : a^(2^15-1) 32767 o7 = a o7 : B</pre> </td></tr> <tr><td><pre>i8 : C = QQ[a..d,MonomialSize=>8,MonomialOrder=>GRevLex];</pre> </td></tr> <tr><td><pre>i9 : try a^(2^15-1) else "failed" o9 = failed</pre> </td></tr> <tr><td><pre>i10 : a^(2^7-1) 127 o10 = a o10 : C</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_packing_spmonomials_spfor_spefficiency.html" title="">packing monomials for efficiency</a></span></li> </ul> </div> <div class="waystouse"><h2>For the programmer</h2> <p>The object <a href="___G__Rev__Lex.html" title="graded reverse lexicographical monomial order.">GRevLex</a> is <span>a <a href="___Symbol.html">symbol</a></span>.</p> </div> </div> </body> </html>