Home Online Manual
Top
Back: list related functions
Forward: map declarations
FastBack: list
FastForward: matrix
Up: Data types
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

4.10 map

Maps are ring maps from a preimage ring into the basering.

Note:

  • The target of a map is ALWAYS the actual basering
  • The preimage ring has to be stored "by its name", that means, maps can only be used in such contexts, where the name of the preimage ring can be resolved (this has to be considered in subprocedures). See also Identifier resolution, Names in procedures.

Maps between rings with different coefficient fields are possible and listed below.

Canonically realized are

  • $Q \rightarrow Q(a, \ldots)$ ( $Q$: the rational numbers)
  • $Q \rightarrow R$ ( $R$: the real numbers)
  • $Q \rightarrow C$ ( $C$: the complex numbers)
  • $Z/p \rightarrow (Z/p)(a, \ldots)$ ( $Z$: the integers)
  • $Z/p \rightarrow GF(p^n)$ ( $GF$: the Galois field)
  • $Z/p \rightarrow R$

  • $R \rightarrow C$

Possible are furthermore

  • $Z/p \rightarrow Q, \quad [i]_p \mapsto i \in [-p/2, \, p/2] \subseteq Z$ --> $Z/p \rightarrow Q,
\quad
[i]_p \mapsto i \in [-p/2, \, p/2]
\subseteq Z$
  • $Z/p \rightarrow Z/p^\prime,
\quad
[i]_p \mapsto i \in [-p/2, \, p/2] \subseteq Z, \;
i \mapsto [i]_{p^\prime} \in Z/p^\prime$
  • $C \rightarrow R, \quad$ by taking the real part

Finally, in SINGULAR we allow the mapping from rings with coefficient field Q to rings whose ground fields have finite characteristic:

  • $Q \rightarrow Z/p$

  • $Q \rightarrow (Z/p)(a, \ldots)$
In these cases the denominator and the numerator of a number are mapped separately by the usual map from Z to Z/p, and the image of the number is built again afterwards by division. It is thus not allowed to map numbers whose denominator is divisible by the characteristic of the target ground field, or objects containing such numbers. We, therefore, strongly recommend using such maps only to map objects with integer coefficients.

4.10.1 map declarations  
4.10.2 map expressions  
4.10.3 map operations  
4.10.4 map related functions