#### 7.2.2.1 map declarations (plural)

Syntax:
  `map` name `=` preimage_ring_name `,` ideal_expression `;`
  `map` name `=` preimage_ring_name `,` list_of_poly_and_ideal_expressions `;`
  `map` name `=` map_expression `;`

Purpose:
  defines a ring map from `preimage_ring` to basering.
  Maps the variables of the `preimage ring` to 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)` and `imap (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 a map and not a morphism
      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 algebra 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).

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