next | previous | forward | backward | up | top | index | toc | home

homomorphism -- get the homomorphism from element of Hom

Synopsis

Description

When H := Hom(M,N) is computed, enough information is stored in H.cache.Hom to compute this correspondence.
i1 : R = QQ[x,y,z]/(y^2-x^3)

o1 = R

o1 : QuotientRing
i2 : H = Hom(ideal(x,y), R^1)

o2 = image {-1} | x y  |
           {-1} | y x2 |

                             2
o2 : R-module, submodule of R
i3 : g = homomorphism H_{1}

o3 = | y x2 |

o3 : Matrix
The homomorphism g takes x to y and y to x2. The source and target are what they should be.
i4 : source g

o4 = image | x y |

                             1
o4 : R-module, submodule of R
i5 : target g

      1
o5 = R

o5 : R-module, free

After pruning a Hom module, one cannot use homomorphism directly. Instead, first apply the pruning map:

i6 : 
               H1 = prune H

o6 = cokernel {0} | -y x2 |
              {1} | x  -y |

                            2
o6 : R-module, quotient of R

Sometime, one wants a random homomorphism of a given degree. Here is one method:

i7 :           homomorphism(H1.cache.pruningMap * H1_{1})

o7 = | y x2 |

o7 : Matrix

See also

Ways to use homomorphism :