#### 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 considered as a field
    ==> // 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 considered as a field
    ==> // 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 considered as a field
    ==> // 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

User manual for Singular version 4.4.1, 2025, generated by texi2html.