|
7.7.9.0. makeLetterplaceRing
Procedure from library freegb.lib (see freegb_lib).
- Usage:
- makeLetterplaceRing(d [,h]); d an integer, h an optional integer
- Return:
- ring
- Purpose:
- creates a ring with the ordering, used in letterplace computations
- Note:
- h = 0 (default) : Dp ordering will be used
h = 2 : weights 1 used for all the variables, a tie breaker is a list of block of original ring
h = 1 : the pure homogeneous letterplace block ordering (applicable in the situation of homogeneous input ideals) will be used.
Example:
| LIB "freegb.lib";
ring r = 0,(x,y,z),(dp(1),dp(2));
def A = makeLetterplaceRing(2);
setring A; A;
==> // coefficients: QQ
==> // number of vars : 6
==> // block 1 : ordering a
==> // : names x(1) y(1) z(1) x(2) y(2) z(2)
==> // : weights 1 1 1 1 1 1
==> // block 2 : ordering lp
==> // : names x(1)
==> // block 3 : ordering dp
==> // : names y(1) z(1)
==> // block 4 : ordering lp
==> // : names x(2)
==> // block 5 : ordering dp
==> // : names y(2) z(2)
==> // block 6 : ordering C
attrib(A,"isLetterplaceRing");
==> 1
attrib(A,"uptodeg"); // degree bound
==> 2
attrib(A,"lV"); // number of variables in the main block
==> 3
setring r; def B = makeLetterplaceRing(2,1); // to compare:
setring B; B;
==> // coefficients: QQ
==> // number of vars : 6
==> // block 1 : ordering lp
==> // : names x(1)
==> // block 2 : ordering dp
==> // : names y(1) z(1)
==> // block 3 : ordering lp
==> // : names x(2)
==> // block 4 : ordering dp
==> // : names y(2) z(2)
==> // block 5 : ordering C
|
|