Home Online Manual
Back: content
Forward: id2mod
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.15 mod2id

Procedure from library poly.lib (see poly_lib).

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

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.

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.

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

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;
==> _[1]=e(2)^2
==> _[2]=e(1)*e(2)
==> _[3]=e(1)^2
==> _[4]=e(1)*y+e(2)*x