previous  next
Image
Syntax
Image(R::E:OBJECT,F:TAGGED("RMap")):OBJECT
Image(V:OBJECT,F:TAGGED("RMap")):OBJECT

where R is the identifier for a ring and F has the form
RMap(F_1:POLY,...,F_n:POLY) or the form RMap([F_1:POLY,...,F_n:POLY]).
The number n is the number of indeterminates of the ring R. In the
second form, V is a variable containing a CoCoA object dependent on R
or not dependent on any ring.
Summary
ring homomorphism
Description
This function maps the object E from one ring to another as
determined by F.  Suppose the current ring is S, and E is an object
dependent on a ring R; then

               Image(R::E,F) 

returns the object in S obtained by substituting F_i for the i-th
indeterminate of R in E.  Effectively, we get the image of E under
the ring homomorphism,

               F: R   --->  S
                  x_i |--> F_i,

where x_i denotes the i-th indeterminate of R.

Notes:
1. The coefficient rings for the domain and codomain must be the same.
2. If R = S, one may use 'Image(E,F)' but in this case it may be
   easier to use 'Eval' or 'Subst'.
3. The exact domain is never specified by the mapping F.  It is only
   necessary that the domain have the same number of indeterminates as F
   has components. Thus, we are abusing terminology somewhat in
   calling F a map.
4. The second form of the function does not require the prefix 'R::'
   since the prefix is associated automatically.
5. If the object E in R is a polynomial or rational function (or list,
   matrix, or vector of these) which involves only indeterminates that are
   already in S, the object E can be mapped over to S without change
   using the command 'BringIn'.

Example

Use C ::= Q[u,v];   -- domain
Use B ::= Q[x,y];   -- another possible domain
I := Ideal(x^2-y);  -- an ideal in B
Use A ::= Q[a,b,c]; -- codomain
F := RMap(a,c^2-ab);  
Image(B::xy, F);    -- the image of xy under F:B --> A
-a^2b + ac^2
-------------------------------
Image(C::uv,F);     -- the image of uv under F:C --> A
-a^2b + ac^2 
-------------------------------
Image(I,F);         -- the image of the ideal I under F: B --> A
Ideal(a^2 + ab - c^2)
-------------------------------
I;  -- the prefix 'B::' was not needed in the previous example since
    -- I is already labeled by B
B :: Ideal(x^2 - y)
-------------------------------
Image(B::Module([x+y,xy^2],[x,y]),F); -- the image of a module
Module([-ab + c^2 + a, a^3b^2 - 2a^2bc^2 + ac^4], [a, -ab + c^2])
-------------------------------
X := C:: u+v;  -- X is a variable in the current ring (the codomain), A,
X;             -- whose value is an expression in the ring C.
C :: u + v
-------------------------------
Image(X,F);    -- map X to get a value in C
-ab + c^2 + a
-------------------------------
See also: