next | previous | forward | backward | up | index | toc

# orderedQQn -- Construct an ordered module $\QQ^n$

## Synopsis

• Usage:
M = orderedQQn R
M = orderedQQn(n, monomialOrders)
• Inputs:
• R, , polynomial ring for the construction
• n, an integer, rank of the module
• monomialOrder, a list, monomial order for comparison
• Outputs:

## Description

For an overview see Ordered modules. Let $R$ be with $n$ variables $x_1 \dots x_n$. Then the corresponding ordered $\QQ^n$ module has the following ordering. Suppose that $v, w \in \QQ^n$. Let $d \in \ZZ$ be a positive integer and $c \in \ZZ^n_{\ge 0}$ be a vector such that $dv + c$ and $dw + c$ have non-negative entries. Then $v < w$ if and only if $x^{dv + c} > x^{dw + c}$ in $R$. Note that this property does not depend on the choices of $c$ and $d$, so we obtain a well-defined order on $\QQ^n$.

 i1 : R = QQ[x_1 .. x_3, MonomialOrder => Lex] o1 = R o1 : PolynomialRing i2 : M = orderedQQn R 3 o2 = QQ o2 : Ordered QQ^3 module i3 : v = 1/2 * M_0 - 1/3 * M_1 o3 = | 1/2 | | -1/3 | | 0 | o3 : Ordered QQ^3 module i4 : w = 1/2 * M_0 + 1/4 * M_2 o4 = | 1/2 | | 0 | | 1/4 | o4 : Ordered QQ^3 module i5 : v < w o5 = true

Instead of supplying , we may supply the rank $n$ of the module along with a monomial order. The constructor creates the ring $R$ with $n$ variables and the given monomial order to construct the OrderedQQn module

 i6 : N = orderedQQn(3, {Lex}) 3 o6 = QQ o6 : Ordered QQ^3 module i7 : R = N.cache.Ring o7 = R o7 : PolynomialRing i8 : N' = orderedQQn R 3 o8 = QQ o8 : Ordered QQ^3 module i9 : N == N' o9 = true

$N$ and $N'$ are the same module because they are built from the same ring. See OrderedQQn == OrderedQQn.