Home Online Manual
Top
Back: substitute
Forward: newtonDiag
FastBack: inout_lib
FastForward: random_lib
Up: poly_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.2.6.18 subrInterred

Procedure from library poly.lib (see poly_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 "poly.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