# Singular

##### 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 ```