Singular Manual: freeGBasis

| ##### 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-1-0, 2016, generated by texi2html.