#### D.2.8.15 mod2id

Procedure from library `poly.lib` (see poly_lib).

Usage:
  mod2id(M,vpos); M matrix, vpos intvec

Assume:
  vpos is an integer vector such that gen(i) corresponds to var(vpos[i]).
  The basering contains variables var(vpos[i]) which do not occur in M.

Return:
  ideal I in which each gen(i) from the module is replaced by var(vpos[i]) and all monomials var(vpos[i])*var(vpos[j]) have been added to the generating set of I.

Note:
  This procedure should be used in the following situation: one wants to pass to a ring with new variables, say e(1),..,e(s), which correspond to the components gen(1),..,gen(s) of the module M such that e(i)*e(j)=0 for all i,j.
  The new ring should already exist and be the current ring

Example:

    LIB "poly.lib";
    ring r=0,(e(1),e(2),x,y,z),(dp(2),ds(3));
    module mo=x*gen(1)+y*gen(2);
    intvec iv=2,1;
    mod2id(mo,iv);
    ==> _[1]=e(2)^2
    ==> _[2]=e(1)*e(2)
    ==> _[3]=e(1)^2
    ==> _[4]=e(1)*y+e(2)*x

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