##### 7.7.8.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

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