|
D.2.6.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
|
|