next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
map > map(Module,Module,RingMap,Matrix)

map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings

Synopsis

Description

i1 : R = QQ[x,y]

o1 = R

o1 : PolynomialRing
i2 : p = map(R,QQ)

o2 = map(R,QQ,{})

o2 : RingMap R <--- QQ
i3 : f = matrix {{x-y, x+2*y, 3*x-y}};

             1       3
o3 : Matrix R  <--- R
i4 : kernel f

o4 = image {1} | -7 -x-2y |
           {1} | -2 x-y   |
           {1} | 3  0     |

                             3
o4 : R-module, submodule of R
i5 : g = map(R^1,QQ^3,p,f)

o5 = | x-y x+2y 3x-y |

             1        3
o5 : Matrix R  <--- QQ
i6 : g === map(R^1,QQ^3,p,{{x-y, x+2*y, 3*x-y}})

o6 = true
i7 : isHomogeneous g

o7 = false
i8 : kernel g

o8 = image | -7 |
           | -2 |
           | 3  |

                               3
o8 : QQ-module, submodule of QQ
i9 : coimage g

o9 = cokernel | -7 |
              | -2 |
              | 3  |

                              3
o9 : QQ-module, quotient of QQ
i10 : rank oo

o10 = 2

If the module N is replaced by null, which is entered automatically between consecutive commas, then a free module will be used for N, whose degrees are obtained by lifting the degrees of the cover of the source of g, minus the degree of g, along the degree map of p

i11 : g2 = map(R^1,,p,f,Degree => {1})

o11 = | x-y x+2y 3x-y |

              1        3
o11 : Matrix R  <--- QQ
i12 : g === g2

o12 = true

If N and f are both omitted, along with their commas, then for f the matrix of generators of M is used.

i13 : M' = image f

o13 = image | x-y x+2y 3x-y |

                              1
o13 : R-module, submodule of R
i14 : g3 = map(M',p,Degree => {1})

o14 = {1} | 1 0 7/3 |
      {1} | 0 1 2/3 |
      {1} | 0 0 0   |

o14 : Matrix
i15 : isHomogeneous g3

o15 = true
i16 : kernel g3

o16 = image | -7 |
            | -2 |
            | 3  |

                                3
o16 : QQ-module, submodule of QQ
i17 : oo == kernel g

o17 = true

The degree of the homomorphism enters into the determination of its homogeneity.

i18 : R = QQ[x, Degrees => {{2:1}}];
i19 : M = R^1

       1
o19 = R

o19 : R-module, free
i20 : S = QQ[z];
i21 : N = S^1

       1
o21 = S

o21 : S-module, free
i22 : p = map(R,S,{x},DegreeMap => x -> join(x,x))

o22 = map(R,S,{x})

o22 : RingMap R <--- S
i23 : isHomogeneous p

o23 = true
i24 : f = matrix {{x^3}}

o24 = | x3 |

              1       1
o24 : Matrix R  <--- R
i25 : g = map(M,N,p,f,Degree => {3,3})

o25 = | x3 |

              1       1
o25 : Matrix R  <--- S
i26 : isHomogeneous g

o26 = true
i27 : kernel g

o27 = image 0

                              1
o27 : S-module, submodule of S
i28 : coimage g

       1
o28 = S

o28 : S-module, free

See also