|
7.10.4.8 makeLetterplaceRing
Procedure from library freegb.lib (see freegb_lib).
- Usage:
- makeLetterplaceRing(d [,h]); d an integer, h an optional integer (deprecated, use freeAlgebra instead)
- Return:
- ring
- Purpose:
- creates a ring with the ordering, used in letterplace computations
- Note:
- h = -1 (default) : the ordering of the current ring will be used
h = 0 : 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;
def A = makeLetterplaceRing(2); // same as makeLetterplaceRing(2,0)
setring A; A;
==> // coefficients: QQ
==> // number of vars : 6
==> // block 1 : ordering Dp
==> // : names x y z x y z
==> // block 2 : ordering C
==> // letterplace ring (block size 3, ncgen count 0)
lpVarBlockSize(A);
==> 3
lpDegBound(A); // degree bound
==> 2
setring r; def B = makeLetterplaceRing(2,1); // to compare:
setring B; B;
==> // coefficients: QQ
==> // number of vars : 6
==> // block 1 : ordering Dp
==> // : names x y z
==> // block 2 : ordering Dp
==> // : names x y z
==> // block 3 : ordering C
==> // letterplace ring (block size 3, ncgen count 0)
lpVarBlockSize(B);
==> 3
lpDegBound(B); // degree bound
==> 2
setring r; def C = makeLetterplaceRing(2,2); // to compare:
setring C; C;
==> // coefficients: QQ
==> // number of vars : 6
==> // block 1 : ordering a
==> // : names x y z x y z
==> // : weights 1 1 1 1 1 1
==> // block 2 : ordering Dp
==> // : names x y z
==> // block 3 : ordering Dp
==> // : names x y z
==> // block 4 : ordering C
==> // letterplace ring (block size 3, ncgen count 0)
lpDegBound(C);
==> 2
lpDegBound(C); // degree bound
==> 2
|
|