Singular Manual: linReduce

| ##### 7.5.2.0. linReduce Procedure from library `bfun.lib` (see bfun_lib). Usage: linReduce(f, I [,s,t,u]); f a poly, I an ideal, s,t,u optional ints Return: poly or list, linear reductum (over field) of f by elements from I Purpose: reduce a polynomial only by linear reductions (no monomial multiplications) Note: If s<>0, a list consisting of the reduced polynomial and the coefficient vector of the used reductions is returned, otherwise (and by default) only reduced polynomial is returned. If t<>0 (and by default) all monomials are reduced (if possible), otherwise, only leading monomials are reduced. If u<>0 (and by default), the ideal is linearly pre-reduced, i.e. instead of the given ideal, the output of `linReduceIdeal` is used. If u is set to 0 and the given ideal does not equal the output of `linReduceIdeal`, the result might not be as expected. Display: If `printlevel`=1, progress debug messages will be printed, if printlevel>=2, all the debug messages will be printed. Example:
    LIB "bfun.lib";
    ring r = 0,(x,y),dp;
    ideal I = 1,y,xy;
    poly f = 5xy+7y+3;
    poly g = 7x+5y+3;
    linReduce(g,I);     // reduces tails
    ==> 7x
    linReduce(g,I,0,0); // no reductions of tails
    ==> 7x+5y+3
    linReduce(f,I,1);   // reduces tails and shows reductions used
    ==> [1]:
    ==>    0
    ==> [2]:
    ==>    -5*gen(3)-7*gen(2)-3*gen(1)
    f = x3+y2+x2+y+x;
    I = x3-y3, y3-x2,x3-y2,x2-y,y2-x;
    list l = linReduce(f,I,1);
    l;
    ==> [1]:
    ==>    5y
    ==> [2]:
    ==>    gen(5)-4*gen(4)+2*gen(3)-3*gen(2)-3*gen(1)
    module M = I;
    f - (l[1]-(M*l[2])[1,1]);
    ==> 0

User manual for Singular version 4.3.2p10, 2023, generated by texi2html.