Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 4331

Macaulay2-1.3.1-8.fc15.i686.rpm

<?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>examples of specifying alternate monomial orders</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_monomial_sporders_spfor_spfree_spmodules.html">next</a> | <a href="_monomial_sporderings.html">previous</a> | <a href="_monomial_sporders_spfor_spfree_spmodules.html">forward</a> | backward | <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="_examples_spof_spspecifying_spalternate_spmonomial_sporders.html" title="">examples of specifying alternate monomial orders</a></div>
<hr/>
<div><h1>examples of specifying alternate monomial orders</h1>
<div>For definitions of these monomial orders, see <a href="___G__Rev__Lex.html" title="graded reverse lexicographical monomial order.">GRevLex</a>, <a href="___Lex.html" title="lexicographical monomial order.">Lex</a>, <a href="___Weights.html" title="assigning weights to the variables">Weights</a>, <a href="___Eliminate.html" title="elimination order">Eliminate</a>, <a href="___Group__Lex.html" title="defines a ring where some variables are inverted">GroupLex</a>, <a href="___Group__Rev__Lex.html" title="">GroupRevLex</a>, <a href="___Rev__Lex.html" title="reverse lexicographic ordering">RevLex</a>, and <a href="___N__C__Lex.html" title="Non-commutative lexicographical order.">NCLex</a>.<h2>Graded reverse lexicographic order</h2>
<table class="examples"><tr><td><pre>i1 : R = ZZ[a..d];</pre>
</td></tr>
<tr><td><pre>i2 : a+b^100+c*d

      100
o2 = b    + c*d + a

o2 : R</pre>
</td></tr>
</table>
<h2>Lexicographic order</h2>
<table class="examples"><tr><td><pre>i3 : R = ZZ[a..d, MonomialOrder=>Lex];</pre>
</td></tr>
<tr><td><pre>i4 : a+b^100+c*d

          100
o4 = a + b    + c*d

o4 : R</pre>
</td></tr>
</table>
<h2>Weight order</h2>
<table class="examples"><tr><td><pre>i5 : R = ZZ[a..d, MonomialOrder => Weights => {201,2}];</pre>
</td></tr>
<tr><td><pre>i6 : a+b^100+c*d

          100
o6 = a + b    + c*d

o6 : R</pre>
</td></tr>
</table>
<h2>Graded lexicographic order</h2>
<table class="examples"><tr><td><pre>i7 : R = ZZ[a..d, MonomialOrder=>{Weights=>4:1,Lex}];</pre>
</td></tr>
<tr><td><pre>i8 : a+b^100+c*d

      100
o8 = b    + c*d + a

o8 : R</pre>
</td></tr>
</table>
<h2>Elimination order</h2>
To use an elimination order, which eliminates the first 2 variables, use<table class="examples"><tr><td><pre>i9 : R = ZZ[a..f, MonomialOrder=>Eliminate 2];</pre>
</td></tr>
<tr><td><pre>i10 : a+b^100+c*d

       100
o10 = b    + a + c*d

o10 : R</pre>
</td></tr>
</table>
Alternatively, use a weight vector<table class="examples"><tr><td><pre>i11 : R = ZZ[a..f, MonomialOrder=>Weights=>2:1];</pre>
</td></tr>
<tr><td><pre>i12 : a+b^100+c*d

       100
o12 = b    + a + c*d

o12 : R</pre>
</td></tr>
</table>
<h2>Product (block) order</h2>
To make a product order where each block has the GRevLex order:<table class="examples"><tr><td><pre>i13 : R = ZZ[a..f, MonomialOrder=>{2,4}];</pre>
</td></tr>
<tr><td><pre>i14 : a^2*(c+d) + b*(c^100+d^100)*(c + e + f)

       2     2       101        100      100       100       100       100
o14 = a c + a d + b*c    + b*c*d    + b*c   e + b*d   e + b*c   f + b*d   f

o14 : R</pre>
</td></tr>
</table>
The orders in each block can be other orders as well.<table class="examples"><tr><td><pre>i15 : R = ZZ[a..f, MonomialOrder=>{Weights=>2:1,Lex}]

o15 = R

o15 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i16 : a^2*(c+d) + b*(c^100+d^100)*(c + e + f)

       2     2       101      100       100         100      100       100
o16 = a c + a d + b*c    + b*c   e + b*c   f + b*c*d    + b*d   e + b*d   f

o16 : R</pre>
</td></tr>
</table>
<h2>GroupLex</h2>
This order is useful for making degree rings, and allows some variables to appear with negative exponent.<table class="examples"><tr><td><pre>i17 : R = ZZ[a..f, MonomialOrder => GroupLex => 3];</pre>
</td></tr>
<tr><td><pre>i18 : a^-2*(c+d) + b*(c^100+d^100)*(c + e + f)

         101      100       100         100      100       100     -2     -2
o18 = b*c    + b*c   e + b*c   f + b*c*d    + b*d   e + b*d   f + a  c + a  d

o18 : R</pre>
</td></tr>
</table>
<h2>GroupRevLex</h2>
This order is useful for making degree rings, and allows some variables to appear with negative exponent.  Not implemented yet.<h2>RevLex</h2>
Warning: this is a local ordering, not a global ordering.<table class="examples"><tr><td><pre>i19 : R = ZZ[a..f, MonomialOrder=>RevLex, Global=>false];</pre>
</td></tr>
<tr><td><pre>i20 : a^2*(c+d) + b*(c^100+d^100)*(c + e + f)

         100       100         100      100       100       101    2     2
o20 = b*d   f + b*d   e + b*c*d    + b*c   f + b*c   e + b*c    + a d + a c

o20 : R</pre>
</td></tr>
</table>
<h2>NCLex</h2>
For non-commutative Gröbner bases.  Not implemented yet.</div>
<div class="single"><h2>See also</h2>
<ul><li><span><a href="___Singular_sp__Book_sp1.2.13.html" title="monomial orderings">Singular Book 1.2.13</a> -- monomial orderings</span></li>
</ul>
</div>
</div>
</body>
</html>