up previous next
interreduced    --    interreduce a list of polynomials

interreduced(L: LIST of RINGELEM): LIST of RINGELEM

This function returns an interreduced list L0 of polynomials, i.e. each polynomial in L0 is fully reduced with respect to the others, such that L and L0 generate the same ideal.

This is generally computed in several interreducing loops. In each loop each polynomial in the list is fully reduced with respect to the others, and this process terminates when a loop finds no possible reduction. Verbosity shows how many loops are performed.

/**/ use QQ[x,y,z];
/**/ L := [x^3-x*y^2+y*z,  x*y,  z];
/**/ interreduced(L);
[z,  x*y,  x^3]
/**/ L; -- unmodified
[x^3 -x*y^2 +y*z,  x*y,  z]

/**/ SetVerbosityLevel(90);
/**/ L := [x^3*y^3 -y,  x^3*y^2 +x,  x^3*y +y^2];
/**/ interreduced(L);
interreduced: loop n.1
interreduced: loop n.2
interreduced: loop n.3
interreduced: loop n.4
interreduced: loop n.5
[-2*y,  x]