# basic construction, source and target of a ring map

## constructing a ring map

Use the function map to construct a map between two rings. The input, in order, is the target, the source, and the images of the variables of the source ring. The images can be given as a matrix or a list.
 i1 : S = QQ[x,y,z]/ideal(x^3+y^3+z^3); i2 : T = QQ[u,v,w]/ideal(u^3+v^3+w^3); i3 : G = map(T,S,matrix{{u,v,w^2}}) 2 o3 = map (T, S, {u, v, w }) o3 : RingMap T <--- S i4 : G(x^3+y^3+z) 6 2 o4 = - w + w o4 : T
If the third argument is not given there are two possibilities. If a variable in the source ring also appears in the target ring then that variable is mapped to itself and if a variable does not appear in the target ring then it is mapped to zero.
 i5 : R = QQ[x,y,w]; i6 : F = map(S,R) o6 = map (S, R, {x, y, 0}) o6 : RingMap S <--- R i7 : F(x^3) 3 3 o7 = - y - z o7 : S

## source and target

Once a ring map is defined the functions source and target can be used to find out what the source and target of a map are. These functions are particularly useful when working with matrices (see the next example).
 i8 : U = QQ[s,t,u, Degrees => {{1,2},{1,1},{1,3}}]; i9 : H = map(U,R,matrix{{s^2,t^3,u^4}}) 2 3 4 o9 = map (U, R, {s , t , u }) o9 : RingMap U <--- R i10 : use R; H(x^2+y^2+w^2) 8 6 4 o11 = u + t + s o11 : U i12 : source H o12 = R o12 : PolynomialRing i13 : target H o13 = U o13 : PolynomialRing

## obtaining the matrix defining a map

Use F.matrix to obtain the matrix defining the map F.
 i14 : H.matrix o14 = | s2 t3 u4 | 1 3 o14 : Matrix U <--- U i15 : source H.matrix 3 o15 = U o15 : U-module, free i16 : target H.matrix 1 o16 = U o16 : U-module, free
For more on matrices from maps see inputting a matrix.