|  |  7.5.2.0. linReduceIdeal Procedure from librarybfun.lib(see  bfun_lib).
 
Example:Usage:
linReduceIdeal(I [,s,t,u]); I an ideal, s,t,u optional ints
Return:
ideal or list, linear reductum (over field) of I by its elements
Purpose:
reduces a list of polys only by linear reductions (no monomial
multiplications)
 
Note:
If s<>0, a list consisting of the reduced ideal and the coefficient
vectors of the used reductions given as module is returned.
 Otherwise (and by default), only the reduced ideal 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 first sorted in increasing order.
 If u is set to 0 and the given ideal is not sorted in the way described,
 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.
 
 |  | LIB "bfun.lib";
ring r = 0,(x,y),dp;
ideal I = 3,x+9,y4+5x,2y4+7x+2;
linReduceIdeal(I);     // reduces tails
==> _[1]=0
==> _[2]=3
==> _[3]=x
==> _[4]=y4
linReduceIdeal(I,0,0); // no reductions of tails
==> _[1]=0
==> _[2]=3
==> _[3]=x+9
==> _[4]=y4+5x
list l = linReduceIdeal(I,1); // reduces tails and shows reductions used
l;
==> [1]:
==>    _[1]=0
==>    _[2]=3
==>    _[3]=x
==>    _[4]=y4
==> [2]:
==>    _[1]=gen(4)-2*gen(3)+3*gen(2)-29/3*gen(1)
==>    _[2]=gen(1)
==>    _[3]=gen(2)-3*gen(1)
==>    _[4]=gen(3)-5*gen(2)+15*gen(1)
module M = I;
matrix(l[1]) - matrix(M)*matrix(l[2]);
==> _[1,1]=0
==> _[1,2]=0
==> _[1,3]=0
==> _[1,4]=0
 | 
 
 |