|
7.10.4.6 isOrderingShiftInvariant
Procedure from library freegb.lib (see freegb_lib).
- Usage:
- isOrderingShiftInvariant(b); b an integer interpreted as a boolean
- Return:
- int
- Note:
- Tests whether the ordering of the current ring is shift invariant, which is the case, when LM(p) > LM(p') for all p and p' where p' is p shifted by any number of places.
If withHoles != 0 even Letterplace polynomials with holes (eg. x(1)*y(4)) are considered.
- Assume:
- - basering is a Letterplace ring.
Example:
| LIB "freegb.lib";
ring r = 0,(x,y,z),dp;
def R = freeAlgebra(r, 5);
setring R;
isOrderingShiftInvariant(0);// should be 1
==> 1
ring r2 = 0,(x,y,z),dp;
def R2 = freeAlgebra(r2, 5);
list RL = ringlist(R2);
RL[3][1][1] = "wp";
intvec weights = 1,1,1,1,1,1,1,2,3,1,1,1,1,1,1;
RL[3][1][2] = weights;
attrib(RL,"isLetterplaceRing",3);
attrib(RL,"maxExp",1);
def Rw = setLetterplaceAttributes(ring(RL),5,3);
setring Rw;
/* printlevel = voice + 1; */
isOrderingShiftInvariant(0);
==> 0
isOrderingShiftInvariant(1);
==> 0
|
|