##### 7.7.8.0. letplaceGBasis

Procedure from library `freegb.lib` (see freegb_lib).

Usage:
  letplaceGBasis(I); I an ideal

Return:
  ideal

Assume:
  basering is a Letterplace ring, an ideal consists of Letterplace
  polynomials

Purpose:
  compute the two-sided Groebner basis of an ideal I via Letterplace
  algorithm

Note:
  the degree bound for this computation is read off the letterplace
  structure of basering

Example:

    LIB "freegb.lib";
    ring r = 0,(x,y,z),(dp(1),dp(2));
    int degree_bound = 5;
    def R = makeLetterplaceRing(5);
    setring R;
    ideal I = -x(1)*y(2)-7*y(1)*y(2)+3*x(1)*x(2), x(1)*y(2)*x(3)-y(1)*x(2)*y(3);
    ideal J = letplaceGBasis(I);
    J;
    ==> J[1]=3*x(1)*x(2)-x(1)*y(2)-7*y(1)*y(2)
    ==> J[2]=22*x(1)*y(2)*y(3)-3*y(1)*x(2)*y(3)-21*y(1)*y(2)*x(3)+7*y(1)*y(2)*y(3\
       )
    ==> J[3]=3*x(1)*y(2)*x(3)-22*x(1)*y(2)*y(3)+21*y(1)*y(2)*x(3)-7*y(1)*y(2)*y(3\
       )
    ==> J[4]=22803*y(1)*y(2)*y(3)*x(4)+19307*y(1)*y(2)*y(3)*y(4)
    ==> J[5]=1933*y(1)*y(2)*x(3)*y(4)+2751*y(1)*y(2)*y(3)*x(4)+161*y(1)*y(2)*y(3)\
       *y(4)
    ==> J[6]=y(1)*y(2)*y(3)*y(4)*y(5)
    // now transfom letterplace polynomials into strings of words
    lp2lstr(J,r); // export an object called @code{@LN} to the ring r
    setring r;  // change to the ring r
    lst2str(@LN,1);
    ==> [1]:
    ==>    3*x*x-x*y-7*y*y
    ==> [2]:
    ==>    22*x*y*y-3*y*x*y-21*y*y*x+7*y*y*y
    ==> [3]:
    ==>    3*x*y*x-22*x*y*y+21*y*y*x-7*y*y*y
    ==> [4]:
    ==>    22803*y*y*y*x+19307*y*y*y*y
    ==> [5]:
    ==>    1933*y*y*x*y+2751*y*y*y*x+161*y*y*y*y
    ==> [6]:
    ==>    y*y*y*y*y

User manual for Singular version 4-0-3, 2016, generated by texi2html.