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