Home Online Manual
Top
Back: id2mod
Forward: subrInterred
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.17 substitute

Procedure from library poly.lib (see poly_lib).

Usage:
- case 1: typeof(#[1])==poly:
substitute (I,v,f[,v1,f1,v2,f2,...]); I object of basering which can be mapped, v,v1,v2,.. ring variables, f,f1,f2,... poly
- case 2: typeof(#[1])==ideal: substitute (I,v,f); I object of basering which can be mapped, v ideal of ring variables, f ideal

Return:
object of same type as I,
- case 1: ring variable v,v1,v2,... substituted by polynomials f,f1,f2,..., in this order
- case 2: ring variables in v substituted by polynomials in f: v[i] is substituted by f[i], i=1,...,i=min(size(v),ncols(f))

Note:
this procedure extends the built-in command subst via maps

Example:
 
LIB "poly.lib";
ring r = 0,(b,c,t),dp;
ideal I = -bc+4b2c2t,bc2t-5b2c;
substitute(I,c,b+c,t,0,b,b-1);
==> _[1]=-b2-bc+2b+c-1
==> _[2]=-5b3-5b2c+15b2+10bc-15b-5c+5
ideal v = c,t,b;
ideal f = b+c,0,b-1;
substitute(I,v,f);
==> _[1]=-b2-bc+b+c
==> _[2]=-5b3-5b2c+10b2+10bc-5b-5c