Home Online Manual
Top
Back: isOrderingShiftInvariant
Forward: letplaceGBasis
FastBack:
FastForward:
Up: freegb_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.10.4.7 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)
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)
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)
lpDegBound(C);
==> 2
lpDegBound(C);  // degree bound
==> 2