|
B.2.5 Module orderings
SINGULAR offers also orderings on the set of “monomials”
{xaei∣a ∈ Nn,1 ≤ i ≤ r} in Loc K[x]r = Loc K[x]e1 + …+Loc K[x]er, where e1,…,er denote the canonical
generators of Loc K[x]r, the r-fold direct sum of Loc K[x]. (The function gen(i) yields ei).
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αei < mxβej ⇔ xα < xβ or
(xα = xβ 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αei < mxβej ⇔ i < j or (i = j and xα < xβ).
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αei < mxβej ⇔ xα < xβ or (xα = xβ 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αei < mxβej ⇔ i > j or (i = j and xα < xβ).
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 v1,…,vr has the format v1 ∗ gen(1) + … + vr ∗ gen(r)
(up to permutation) unless the ordering starts with c .
In this case a vector is written as [v1,…,vr].
In all cases SINGULAR can read input in both formats.
|