|
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
|
|