next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Macaulay2Doc :: compose(Module,Module,Module)

compose(Module,Module,Module) -- composition as a pairing on Hom-modules

Synopsis

Description

The modules should be defined over the same ring.

In the following example we check that the map does implement composition.

i1 : R = QQ[x,y]

o1 = R

o1 : PolynomialRing
i2 : M = image vars R ++ R^2

o2 = image | x y 0 0 |
           | 0 0 1 0 |
           | 0 0 0 1 |

                             3
o2 : R-module, submodule of R
i3 : f = compose(M,M,M);

o3 : Matrix
i4 : H = Hom(M,M);
i5 : g = H_{0}

o5 = {0} | 1 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {1} | 0 |
     {1} | 0 |
     {1} | 0 |
     {1} | 0 |

o5 : Matrix
i6 : h = homomorphism g

o6 = {1} | 1 0 0 0 |
     {1} | 0 1 0 0 |
     {0} | 0 0 0 0 |
     {0} | 0 0 0 0 |

o6 : Matrix
i7 : f * (g ** g)

o7 = {0} | 1 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {0} | 0 |
     {1} | 0 |
     {1} | 0 |
     {1} | 0 |
     {1} | 0 |

o7 : Matrix
i8 : h' = homomorphism oo

o8 = {1} | 1 0 0 0 |
     {1} | 0 1 0 0 |
     {0} | 0 0 0 0 |
     {0} | 0 0 0 0 |

o8 : Matrix
i9 : h' === h * h

o9 = true
i10 : assert oo

See also