Home Online Manual
Top
Back: makeLetterplaceRing
Forward: lpNF
FastBack:
FastForward:
Up: freegb_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.9.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