making ring maps

map(R,S,m) -- sets up a ring homomorphism from S to R which sends the i-th variable of S to the i-th element of the list m. Alternatively, m may be a 1 by n matrix over R, where n is the number of variables in the polynomial ring S; or it may be a square matrix over the common coefficient ring of the two rings, in which case it is used as the matrix of a linear change of coordinates.

i1 : R = ZZ/101[a,b];
i2 : m = symmetricPower(3, vars R)

o2 = {0} | a3 a2b ab2 b3 |

             1       4
o2 : Matrix R  <--- R
i3 : rank source m

o3 = 4
i4 : S = ZZ/101[s_1 .. s_oo]

o4 = S

o4 : PolynomialRing
i5 : f = map(R,S,m)

               3   2      2   3
o5 = map(R,S,{a , a b, a*b , b })

o5 : RingMap R <--- S
i6 : f s_2

      2
o6 = a b

o6 : R
i7 : f vars S

o7 = {0} | a3 a2b ab2 b3 |

             1       4
o7 : Matrix R  <--- R
i8 : kernel f

             2                       2
o8 = ideal (s  - s s , s s  - s s , s  - s s )
             3    2 4   2 3    1 4   2    1 3

o8 : Ideal of S
i9 : generators oo

o9 = {0} | s_3^2-s_2s_4 s_2s_3-s_1s_4 s_2^2-s_1s_3 |

             1       3
o9 : Matrix S  <--- S
i10 : f oo

o10 = 0

              1       3
o10 : Matrix R  <--- R
i11 : U = ZZ/101[t,u,v]

o11 = U

o11 : PolynomialRing
i12 : g = map(S,U,{s_1+s_2, s_2 + s_3, s_3+s_4})

o12 = map(S,U,{s  + s , s  + s , s  + s })
                1    2   2    3   3    4

o12 : RingMap S <--- U
i13 : f * g

                3    2    2       2     2    3
o13 = map(R,U,{a  + a b, a b + a*b , a*b  + b })

o13 : RingMap R <--- U
i14 : kernel oo

             2
o14 = ideal(u  - t*v)

o14 : Ideal of U
i15 : f g generators oo

o15 = 0

              1       1
o15 : Matrix R  <--- R

The class of all ring maps is RingMap.


topindexpreviousupnext