#### D.2.8.18 subrInterred

Procedure from library `polylib.lib` (see polylib_lib).

Usage:
  subrInterred(mon,sm,iv);
  sm: ideal in a ring r with n + s variables,
  e.g. x_1,..,x_n and t_1,..,t_s
  mon: ideal with monomial generators (not divisible by any of the t_i) such that sm is contained in the module k[t_1,..,t_s]*mon[1]+..+k[t_1,..,t_s]*mon[size(mon)]
  iv: intvec listing the variables which are supposed to be used as x_i

Return:
  list l:
  l[1]=the monomials from mon in the order used
  l[2]=their coefficients after interreduction
  l[3]=l[1]*l[2]

Purpose:
  Do interred only w.r.t. a subset of variables.
  The procedure returns an interreduced system of generators of sm considered as a k[t_1,..,t_s]-submodule of the free module k[t_1,..,t_s]*mon[1]+..+k[t_1,..,t_s]*mon[size(mon)]).

Example:

    LIB "polylib.lib";
    ring r=0,(x,y,z),dp;
    ideal i=x^2+x*y^2,x*y+x^2*y,z;
    ideal j=x^2+x*y^2,x*y,z;
    ideal mon=x^2,z,x*y;
    intvec iv=1,3;
    subrInterred(mon,i,iv);
    ==> [1]:
    ==>    _[1,1]=z
    ==>    _[1,2]=xy
    ==>    _[1,3]=x2
    ==> [2]:
    ==>    _[1]=gen(1)
    ==>    _[2]=y2*gen(2)-gen(2)
    ==>    _[3]=y*gen(2)+gen(3)
    ==> [3]:
    ==>    _[1,1]=z
    ==>    _[1,2]=xy3-xy
    ==>    _[1,3]=xy2+x2
    subrInterred(mon,j,iv);
    ==> [1]:
    ==>    _[1,1]=z
    ==>    _[1,2]=xy
    ==>    _[1,3]=x2
    ==> [2]:
    ==>    _[1]=gen(1)
    ==>    _[2]=gen(2)
    ==>    _[3]=gen(3)
    ==> [3]:
    ==>    _[1,1]=z
    ==>    _[1,2]=xy
    ==>    _[1,3]=x2

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