Home Online Manual
Top
Back: setLetterplaceAttributes
Forward: lpMult
FastBack:
FastForward:
Up: freegb_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.9.0. freeGBasis
Procedure from library freegb.lib (see freegb_lib).

Usage:
freeGBasis(L, d); L a list of modules, d an integer

Return:
ring

Assume:
L has a special form. Namely, it is a list of modules, where

- each generator of every module stands for a monomial times coefficient in
free algebra,

- in such a vector generator, the 1st entry is a nonzero coefficient from the
ground field

- and each next entry hosts a variable from the basering.

Purpose:
compute the two-sided Groebner basis of an ideal, encoded by L
in the free associative algebra, up to degree d

Note:
Apply lst2str to the output in order to obtain a better readable
presentation

Example:
 
LIB "freegb.lib";
ring r = 0,(x,y,z),(dp(1),dp(2)); //  ring r = 0,(x,y,z),(a(3,0,2), dp(2));
module M = [-1,x,y],[-7,y,y],[3,x,x]; // stands for free poly -xy - 7yy - 3xx
module N = [1,x,y,x],[-1,y,x,y]; // stands for free poly xyx - yxy
list L; L[1] = M; L[2] = N; // list of modules stands for an ideal in free algebra
lst2str(L); // list to string conversion of input polynomials
==> [1]:
==>    -xy-7yy+3xx
==> [2]:
==>    xyx-yxy
def U = freeGBasis(L,5); // 5 is the degree bound
lst2str(U);
==> [1]:
==>    yyyyy
==> [2]:
==>    22803yyyx+19307yyyy
==> [3]:
==>    1933yyxy+2751yyyx+161yyyy
==> [4]:
==>    22xyy-3yxy-21yyx+7yyy
==> [5]:
==>    3xyx-22xyy+21yyx-7yyy
==> [6]:
==>    3xx-xy-7yy