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 {\tt 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):


\quad  \quad  $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):


\quad \quad   $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):


\quad \quad $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):


\quad \quad   $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.

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
