##### 7.5.2.0. linReduceIdeal

Procedure from library `bfun.lib` (see bfun_lib).

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.

Example:

    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

User manual for Singular version 4.4.1, 2025, generated by texi2html.