Home Online Manual
Top
Back: Local orderings
Forward: Matrix orderings
FastBack: Representation of mathematical objects
FastForward: Mathematical background
Up: Monomial orderings
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

B.2.5 Module orderings

SINGULAR offers also orderings on the set of "monomials" $\{ x^a e_i \mid a \in N^n, 1 \leq i \leq r \}$ in Loc $K[x]^r$ = Loc $K[x]e_1
+ \ldots +$Loc $K[x]e_r$, where $e_1, \ldots, e_r$ denote the canonical generators of Loc $K[x]^r$, the r-fold direct sum of Loc $K[x]$. (The function gen(i) yields $e_i$).

We have two possibilities: either to give priority to the component of a vector in Loc $K[x]^r$or (which is the default in SINGULAR) to give priority to the coefficients. The orderings (<,c) and (<,C) give priority to the coefficients; whereas (c,<) and (C,<) give priority to the components.
Let < be any of the monomial orderings of Loc $K[x]$as above.

(<,C):
$<_m = (<,C)$ denotes the module ordering (giving priority to the coefficients):
         $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow x^\alpha <
x^\beta$ or ( $x^\alpha = x^\beta $ and $i<j$).

Example:

 
  ring r = 0, (x,y,z), ds;
  // the same as ring r = 0, (x,y,z), (ds, C);
  [x+y2,z3+xy];
==> x*gen(1)+xy*gen(2)+y2*gen(1)+z3*gen(2)
  [x,x,x];
==> x*gen(3)+x*gen(2)+x*gen(1)

(C,<):
$<_m = (C, <)$ denotes the module ordering (giving priority to the component):
         $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow i < j$ or ($
i = j $ and $x^\alpha < x^\beta$).

Example:

 
  ring r = 0, (x,y,z), (C,lp);
  [x+y2,z3+xy];
==> xy*gen(2)+z3*gen(2)+x*gen(1)+y2*gen(1)
  [x,x,x];
==> x*gen(3)+x*gen(2)+x*gen(1)

(<,c):
$<_m = (<,c)$ denotes the module ordering (giving priority to the coefficients):
         $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow x^\alpha <
x^\beta$ or ( $x^\alpha = x^\beta $ and $ i > j$).

Example:

 
  ring r = 0, (x,y,z), (lp,c);
  [x+y2,z3+xy];
==> xy*gen(2)+x*gen(1)+y2*gen(1)+z3*gen(2)
  [x,x,x];
==> x*gen(1)+x*gen(2)+x*gen(3)

(c,<):
$<_m = (c, <)$ denotes the module ordering (giving priority to the component):
         $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow i > j$ or ($
i = j $ and $x^\alpha < x^\beta$).

Example:

 
  ring r = 0, (x,y,z), (c,lp);
  [x+y2,z3+xy];
==> [x+y2,xy+z3]
  [x,x,x];
==> [x,x,x]

The output of a vector $v$ in $K[x]^r$ with components $v_1,
\ldots, v_r$ has the format $v_1 * gen(1) + \ldots + v_r * gen(r)$(up to permutation) unless the ordering starts with c. In this case a vector is written as $[v_1, \ldots, v_r]$.In all cases SINGULAR can read input in both formats.