|  |  7.2.2.1 map declarations (plural) 
 
Syntax:
mapname=preimage_ring_name,ideal_expression;
 mapname=preimage_ring_name,list_of_poly_and_ideal_expressions;
 mapname=map_expression;
Purpose:
defines a ring map from preimage_ringto basering.Maps the variables of the
 preimage ringto the generators of the ideal.If the ideal contains less elements than the number of variables in the
 preimage_ring, the remaining variables are mapped to 0.If the ideal contains more elements, extra elements are ignored.
 The image ring is always the current basering.
For the mapping of coefficients from different fields see  map (plural).
 
Default:
none
Note:
There are standard mappings for maps which are close to the identity
map: fetch (plural)andimap (plural).
The name of a map serves as the function which maps objects from the
preimage_ring into the basering.  These objects must be defined
by names (no evaluation in the preimage ring is possible).
 
Example:
|  | // an easy example
ring r1 = 0,(a,b),dp; // a commutative ring
poly P = a^2+ab+b^3;
ring r2 = 0,(x,y),dp;
def W=nc_algebra(1,-1); // a Weyl algebra
setring W;
map M = r1, x^2, -y^3;
// note: M is just a map and not a morphism of K-algebras
M(P);
==> -y9-x2y3+x4
// now, a more involved example
LIB "ncalg.lib";
def Usl2 = makeUsl2();
// this algebra is U(sl_2), generated by  e,f,h
setring Usl2;
poly  P  = 4*e*f+h^2-2*h; // the central el-t of Usl2
poly  Q  = e^3*f-h^4;     // some polynomial
ring W1  = 0,(D,X),dp;
def W2=nc_algebra(1,-1);
setring W2; // this is the opposite Weyl algebra
map F = Usl2, -X, D*D*X, 2*D*X;
F(P); // 0, because P is in the kernel of F
==> 0
F(Q);
==> -16D4X4+96D3X3-D2X4-112D2X2+6DX3+16DX-6X2
 | 
 
See
 fetch (plural);
 ideal expressions (plural);
 imap (plural);
 map (plural);
 ring (plural).
 |