#### D.2.8.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

User manual for Singular version 4-0-3, 2016, generated by texi2html.