# MonomialOrder -- monomial ordering

## Description

MonomialOrder -- an optional argument used with polynomial rings and monoids to indicate a monomial ordering other than the default (graded reverse lexicographic).

In Macaulay2, each polynomial ring (and also each monoid) is equipped with a monomial order, which is used for display of polynomials (terms are listed in descending monomial order), and also for Gröbner basis computations.

In the most general setting, a monomial ordering is given by a list of ordering tests, of various types listed and described below, each of which provides a partial ordering on the monomials. The ordering tests are applied sequentially, starting with the first one, until one monomial is judged greater than the other. At the end, if necessary, the graded reverse lexicographic order is used to compare the monomials. For examples, see below, or see monomial orderings.

Permissible elements:

Some examples of monomial orders. Note that if only one item is in the list, we can dispense with the list.

• MonomialOrder => {GRevLex=>2, GRevLex=>3} -- a product order
• MonomialOrder => {2, 3} -- same
• MonomialOrder => {Weights=>{1,13,6,2}} -- a weight order
• MonomialOrder => Weights=>{1,13,6,2} -- same
If any monomials will be less than 1 in the ordering, then the option Global => false should be used.
 ```i1 : QQ[x,y, Weights => {-1,1}, Global => false] o1 = QQ[x, y] o1 : PolynomialRing``` ```i2 : x<1 o2 = true``` ```i3 : y<1 o3 = false```

## For the programmer

The object MonomialOrder is .