Singular Manual: mod2id

| #### D.2.8.15 mod2id Procedure from library `polylib.lib` (see polylib_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 "polylib.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.3.2, 2023, generated by texi2html.