Macaulay2 » Documentation
Packages » SimplicialModules :: RingMap ** SimplicialModule
next | previous | forward | backward | up | index | toc

RingMap ** SimplicialModule -- tensor a simplicial module along a ring map

Description

These methods implement the base change of rings. As input, one can either give a ring map $\phi$, or the ring $S$ (when there is a canonical map from $R$ to $S$).

We illustrate the tensor product of a simplicial module along a ring map.

i1 : R = QQ[x,y,z];
i2 : S = QQ[s,t];
i3 : phi = map(S, R, {s, s+t, t})

o3 = map (S, R, {s, s + t, t})

o3 : RingMap S <-- R
i4 : I = ideal(x^3, x^2*y, x*y^4, y*z^5)

             3   2      4     5
o4 = ideal (x , x y, x*y , y*z )

o4 : Ideal of R
i5 : C = simplicialModule(freeResolution I, 3, Degeneracy => true)

      1      5      13      26
o5 = R  <-- R  <-- R   <-- R  <-- ...
                            
     0      1      2       3

o5 : SimplicialModule
i6 : D = phi ** C

      1      5      13      26
o6 = S  <-- S  <-- S   <-- S  <-- ...
                            
     0      1      2       3

o6 : SimplicialModule
i7 : assert isWellDefined D
i8 : dd^D

               1                                                      5
o8 = (0, 0) : S  <-------------------------------------------------- S  : (1, 0)
                    | 1 s3 s3+s2t s5+4s4t+6s3t2+4s2t3+st4 st5+t6 |

               1                     5
     (0, 1) : S  <----------------- S  : (1, 1)
                    | 1 0 0 0 0 |

               5                                                                                                              13
     (1, 0) : S  <---------------------------------------------------------------------------------------------------------- S   : (2, 0)
                    {0} | 1 s3 s3+s2t s5+4s4t+6s3t2+4s2t3+st4 st5+t6 0 0 0 0 0    0                0   0                 |
                    {3} | 0 0  0      0                       0      1 0 0 0 -s-t 0                0   0                 |
                    {3} | 0 0  0      0                       0      0 1 0 0 s    -s3-3s2t-3st2-t3 -t5 0                 |
                    {5} | 0 0  0      0                       0      0 0 1 0 0    s                0   -t5               |
                    {6} | 0 0  0      0                       0      0 0 0 1 0    0                s2  s4+3s3t+3s2t2+st3 |

               5                                         13
     (1, 1) : S  <------------------------------------- S   : (2, 1)
                    {0} | 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {3} | 0 1 0 0 0 1 0 0 0 0 0 0 0 |
                    {3} | 0 0 1 0 0 0 1 0 0 0 0 0 0 |
                    {5} | 0 0 0 1 0 0 0 1 0 0 0 0 0 |
                    {6} | 0 0 0 0 1 0 0 0 1 0 0 0 0 |

               5                                         13
     (1, 2) : S  <------------------------------------- S   : (2, 2)
                    {0} | 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {3} | 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                    {3} | 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                    {5} | 0 0 0 1 0 0 0 0 0 0 0 0 0 |
                    {6} | 0 0 0 0 1 0 0 0 0 0 0 0 0 |

               13                                                                                                                                                                                            26
     (2, 0) : S   <---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- S   : (3, 0)
                     {0}  | 1 s3 s3+s2t s5+4s4t+6s3t2+4s2t3+st4 st5+t6 0 0 0 0 0 0 0 0 0    0                0   0                 0    0                0   0                 0 0 0 0 0                |
                     {3}  | 0 0  0      0                       0      1 0 0 0 0 0 0 0 -s-t 0                0   0                 0    0                0   0                 0 0 0 0 0                |
                     {3}  | 0 0  0      0                       0      0 1 0 0 0 0 0 0 s    -s3-3s2t-3st2-t3 -t5 0                 0    0                0   0                 0 0 0 0 0                |
                     {5}  | 0 0  0      0                       0      0 0 1 0 0 0 0 0 0    s                0   -t5               0    0                0   0                 0 0 0 0 0                |
                     {6}  | 0 0  0      0                       0      0 0 0 1 0 0 0 0 0    0                s2  s4+3s3t+3s2t2+st3 0    0                0   0                 0 0 0 0 0                |
                     {3}  | 0 0  0      0                       0      0 0 0 0 1 0 0 0 0    0                0   0                 -s-t 0                0   0                 0 0 0 0 0                |
                     {3}  | 0 0  0      0                       0      0 0 0 0 0 1 0 0 0    0                0   0                 s    -s3-3s2t-3st2-t3 -t5 0                 0 0 0 0 0                |
                     {5}  | 0 0  0      0                       0      0 0 0 0 0 0 1 0 0    0                0   0                 0    s                0   -t5               0 0 0 0 0                |
                     {6}  | 0 0  0      0                       0      0 0 0 0 0 0 0 1 0    0                0   0                 0    0                s2  s4+3s3t+3s2t2+st3 0 0 0 0 0                |
                     {4}  | 0 0  0      0                       0      0 0 0 0 0 0 0 0 0    0                0   0                 0    0                0   0                 1 0 0 0 0                |
                     {6}  | 0 0  0      0                       0      0 0 0 0 0 0 0 0 0    0                0   0                 0    0                0   0                 0 1 0 0 t5               |
                     {8}  | 0 0  0      0                       0      0 0 0 0 0 0 0 0 0    0                0   0                 0    0                0   0                 0 0 1 0 -s3-3s2t-3st2-t3 |
                     {10} | 0 0  0      0                       0      0 0 0 0 0 0 0 0 0    0                0   0                 0    0                0   0                 0 0 0 1 s                |

               13                                                                    26
     (2, 1) : S   <---------------------------------------------------------------- S   : (3, 1)
                     {0}  | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 |

               13                                                                    26
     (2, 2) : S   <---------------------------------------------------------------- S   : (3, 2)
                     {0}  | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 |

               13                                                                    26
     (2, 3) : S   <---------------------------------------------------------------- S   : (3, 3)
                     {0}  | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 |

o8 : SimplicialModuleMap
i9 : ss^D

               5                 1
o9 = (1, 0) : S  <------------- S  : (0, 0)
                    {0} | 1 |
                    {3} | 0 |
                    {3} | 0 |
                    {5} | 0 |
                    {6} | 0 |

               13                          5
     (2, 0) : S   <---------------------- S  : (1, 0)
                     {0}  | 1 0 0 0 0 |
                     {3}  | 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 |
                     {3}  | 0 0 1 0 0 |
                     {5}  | 0 0 0 1 0 |
                     {6}  | 0 0 0 0 1 |
                     {4}  | 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 |

               13                          5
     (2, 1) : S   <---------------------- S  : (1, 1)
                     {0}  | 1 0 0 0 0 |
                     {3}  | 0 1 0 0 0 |
                     {3}  | 0 0 1 0 0 |
                     {5}  | 0 0 0 1 0 |
                     {6}  | 0 0 0 0 1 |
                     {3}  | 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 |

               26                                          13
     (3, 0) : S   <-------------------------------------- S   : (2, 0)
                     {0}  | 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 1 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 1 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 1 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 1 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 1 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 1 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 1 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 1 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 1 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 1 |
                     {11} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |

               26                                          13
     (3, 1) : S   <-------------------------------------- S   : (2, 1)
                     {0}  | 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 1 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 1 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 1 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 1 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 1 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 1 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 1 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 1 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 1 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 1 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {11} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |

               26                                          13
     (3, 2) : S   <-------------------------------------- S   : (2, 2)
                     {0}  | 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 1 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 1 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 1 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 1 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 1 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 1 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {3}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {5}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 1 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 1 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 1 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 1 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {4}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {6}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {8}  | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {10} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                     {11} | 0 0 0 0 0 0 0 0 0 0 0 0 0 |

o9 : SimplicialModuleMap

If a ring is used rather than a ring map, then the implicit map from the underlying ring of the complex to the given ring is used.

i10 : A = R/(x^2+y^2+z^2);
i11 : C ** A

       1      5      13      26
o11 = A  <-- A  <-- A   <-- A  <-- ...
                             
      0      1      2       3

o11 : SimplicialModule
i12 : assert(map(A,R) ** C == C ** A)

The commutativity of tensor product is witnessed as follows.

i13 : assert(D == C ** phi)
i14 : assert(C ** A == A ** C)

When the modules in the complex are not free modules, this is different than the image of a complex under a ring map.

i15 : use R

o15 = R

o15 : PolynomialRing
i16 : I = ideal(x*y, x*z, y*z);

o16 : Ideal of R
i17 : J = I + ideal(x^2, y^2);

o17 : Ideal of R
i18 : g = inducedMap(module J, module I)

o18 = {2} | 1 0 0 |
      {2} | 0 1 0 |
      {2} | 0 0 1 |
      {2} | 0 0 0 |
      {2} | 0 0 0 |

o18 : Matrix
i19 : assert isWellDefined g
i20 : C = simplicialModule(complex {g}, 3, Degeneracy => true)

o20 = image | xy xz yz x2 y2 | <-- image | xy xz yz x2 y2 0  0  0  | <-- image | xy xz yz x2 y2 0  0  0  0  0  0  | <-- image | xy xz yz x2 y2 0  0  0  0  0  0  0  0  0  |<-- ...
                                         | 0  0  0  0  0  xy xz yz |           | 0  0  0  0  0  xy xz yz 0  0  0  |           | 0  0  0  0  0  xy xz yz 0  0  0  0  0  0  |
      0                                                                        | 0  0  0  0  0  0  0  0  xy xz yz |           | 0  0  0  0  0  0  0  0  xy xz yz 0  0  0  |
                                   1                                                                                          | 0  0  0  0  0  0  0  0  0  0  0  xy xz yz |
                                                                         2                                               
                                                                                                                        3

o20 : SimplicialModule
i21 : D1 = phi C

o21 = cokernel {2} | -t  -t 0  s    0   -s-t | <-- cokernel {2} | -t  -t 0  s    0   -s-t 0   0  | <-- cokernel {2} | -t  -t 0  s    0   -s-t 0   0  0   0  | <-- cokernel {2} | -t  -t 0  s    0   -s-t 0   0  0   0  0   0  |<-- ...
               {2} | s+t 0  s  0    0   0    |              {2} | s+t 0  s  0    0   0    0   0  |              {2} | s+t 0  s  0    0   0    0   0  0   0  |              {2} | s+t 0  s  0    0   0    0   0  0   0  0   0  |
               {2} | 0   s  0  0    s+t 0    |              {2} | 0   s  0  0    s+t 0    0   0  |              {2} | 0   s  0  0    s+t 0    0   0  0   0  |              {2} | 0   s  0  0    s+t 0    0   0  0   0  0   0  |
               {2} | 0   0  -t -s-t 0   0    |              {2} | 0   0  -t -s-t 0   0    0   0  |              {2} | 0   0  -t -s-t 0   0    0   0  0   0  |              {2} | 0   0  -t -s-t 0   0    0   0  0   0  0   0  |
               {2} | 0   0  0  0    -t  s    |              {2} | 0   0  0  0    -t  s    0   0  |              {2} | 0   0  0  0    -t  s    0   0  0   0  |              {2} | 0   0  0  0    -t  s    0   0  0   0  0   0  |
                                                            {2} | 0   0  0  0    0   0    -t  -t |              {2} | 0   0  0  0    0   0    -t  -t 0   0  |              {2} | 0   0  0  0    0   0    -t  -t 0   0  0   0  |
      0                                                     {2} | 0   0  0  0    0   0    s+t 0  |              {2} | 0   0  0  0    0   0    s+t 0  0   0  |              {2} | 0   0  0  0    0   0    s+t 0  0   0  0   0  |
                                                            {2} | 0   0  0  0    0   0    0   s  |              {2} | 0   0  0  0    0   0    0   s  0   0  |              {2} | 0   0  0  0    0   0    0   s  0   0  0   0  |
                                                                                                                {2} | 0   0  0  0    0   0    0   0  -t  -t |              {2} | 0   0  0  0    0   0    0   0  -t  -t 0   0  |
                                                   1                                                            {2} | 0   0  0  0    0   0    0   0  s+t 0  |              {2} | 0   0  0  0    0   0    0   0  s+t 0  0   0  |
                                                                                                                {2} | 0   0  0  0    0   0    0   0  0   s  |              {2} | 0   0  0  0    0   0    0   0  0   s  0   0  |
                                                                                                                                                                           {2} | 0   0  0  0    0   0    0   0  0   0  -t  -t |
                                                                                                       2                                                                   {2} | 0   0  0  0    0   0    0   0  0   0  s+t 0  |
                                                                                                                                                                           {2} | 0   0  0  0    0   0    0   0  0   0  0   s  |
                                                                                                                                                                   
                                                                                                                                                                  3

o21 : SimplicialModule
i22 : assert isWellDefined D1
i23 : D2 = phi ** C

o23 = cokernel {2} | -t  -t 0  s    0   -s-t | <-- cokernel {2} | -t  -t 0  s    0   -s-t 0   0  | <-- cokernel {2} | -t  -t 0  s    0   -s-t 0   0  0   0  | <-- cokernel {2} | -t  -t 0  s    0   -s-t 0   0  0   0  0   0  |<-- ...
               {2} | s+t 0  s  0    0   0    |              {2} | s+t 0  s  0    0   0    0   0  |              {2} | s+t 0  s  0    0   0    0   0  0   0  |              {2} | s+t 0  s  0    0   0    0   0  0   0  0   0  |
               {2} | 0   s  0  0    s+t 0    |              {2} | 0   s  0  0    s+t 0    0   0  |              {2} | 0   s  0  0    s+t 0    0   0  0   0  |              {2} | 0   s  0  0    s+t 0    0   0  0   0  0   0  |
               {2} | 0   0  -t -s-t 0   0    |              {2} | 0   0  -t -s-t 0   0    0   0  |              {2} | 0   0  -t -s-t 0   0    0   0  0   0  |              {2} | 0   0  -t -s-t 0   0    0   0  0   0  0   0  |
               {2} | 0   0  0  0    -t  s    |              {2} | 0   0  0  0    -t  s    0   0  |              {2} | 0   0  0  0    -t  s    0   0  0   0  |              {2} | 0   0  0  0    -t  s    0   0  0   0  0   0  |
                                                            {2} | 0   0  0  0    0   0    -t  -t |              {2} | 0   0  0  0    0   0    -t  -t 0   0  |              {2} | 0   0  0  0    0   0    -t  -t 0   0  0   0  |
      0                                                     {2} | 0   0  0  0    0   0    s+t 0  |              {2} | 0   0  0  0    0   0    s+t 0  0   0  |              {2} | 0   0  0  0    0   0    s+t 0  0   0  0   0  |
                                                            {2} | 0   0  0  0    0   0    0   s  |              {2} | 0   0  0  0    0   0    0   s  0   0  |              {2} | 0   0  0  0    0   0    0   s  0   0  0   0  |
                                                                                                                {2} | 0   0  0  0    0   0    0   0  -t  -t |              {2} | 0   0  0  0    0   0    0   0  -t  -t 0   0  |
                                                   1                                                            {2} | 0   0  0  0    0   0    0   0  s+t 0  |              {2} | 0   0  0  0    0   0    0   0  s+t 0  0   0  |
                                                                                                                {2} | 0   0  0  0    0   0    0   0  0   s  |              {2} | 0   0  0  0    0   0    0   0  0   s  0   0  |
                                                                                                                                                                           {2} | 0   0  0  0    0   0    0   0  0   0  -t  -t |
                                                                                                       2                                                                   {2} | 0   0  0  0    0   0    0   0  0   0  s+t 0  |
                                                                                                                                                                           {2} | 0   0  0  0    0   0    0   0  0   0  0   s  |
                                                                                                                                                                   
                                                                                                                                                                  3

o23 : SimplicialModule
i24 : assert isWellDefined D2
i25 : prune D1

o25 = cokernel {2} | -t  -t -t -s+t -t -s-t | <-- cokernel {2} | -t  -t -t -s+t -t -s-t 0   0  | <-- cokernel {2} | -t  -t -t -s+t -t -s-t 0   0  0   0  | <-- cokernel {2} | -t  -t -t -s+t -t -s-t 0   0  0   0  0   0  |<-- ...
               {2} | s+t 0  t  -t   0  0    |              {2} | s+t 0  t  -t   0  0    0   0  |              {2} | s+t 0  t  -t   0  0    0   0  0   0  |              {2} | s+t 0  t  -t   0  0    0   0  0   0  0   0  |
               {2} | 0   s  0  0    -t 0    |              {2} | 0   s  0  0    -t 0    0   0  |              {2} | 0   s  0  0    -t 0    0   0  0   0  |              {2} | 0   s  0  0    -t 0    0   0  0   0  0   0  |
               {2} | 0   0  t  s    0  0    |              {2} | 0   0  t  s    0  0    0   0  |              {2} | 0   0  t  s    0  0    0   0  0   0  |              {2} | 0   0  t  s    0  0    0   0  0   0  0   0  |
               {2} | 0   0  0  0    t  s    |              {2} | 0   0  0  0    t  s    0   0  |              {2} | 0   0  0  0    t  s    0   0  0   0  |              {2} | 0   0  0  0    t  s    0   0  0   0  0   0  |
                                                           {2} | 0   0  0  0    0  0    -t  -t |              {2} | 0   0  0  0    0  0    -t  -t 0   0  |              {2} | 0   0  0  0    0  0    -t  -t 0   0  0   0  |
      0                                                    {2} | 0   0  0  0    0  0    s+t 0  |              {2} | 0   0  0  0    0  0    s+t 0  0   0  |              {2} | 0   0  0  0    0  0    s+t 0  0   0  0   0  |
                                                           {2} | 0   0  0  0    0  0    0   s  |              {2} | 0   0  0  0    0  0    0   s  0   0  |              {2} | 0   0  0  0    0  0    0   s  0   0  0   0  |
                                                                                                              {2} | 0   0  0  0    0  0    0   0  -t  -t |              {2} | 0   0  0  0    0  0    0   0  -t  -t 0   0  |
                                                  1                                                           {2} | 0   0  0  0    0  0    0   0  s+t 0  |              {2} | 0   0  0  0    0  0    0   0  s+t 0  0   0  |
                                                                                                              {2} | 0   0  0  0    0  0    0   0  0   s  |              {2} | 0   0  0  0    0  0    0   0  0   s  0   0  |
                                                                                                                                                                        {2} | 0   0  0  0    0  0    0   0  0   0  -t  -t |
                                                                                                     2                                                                  {2} | 0   0  0  0    0  0    0   0  0   0  s+t 0  |
                                                                                                                                                                        {2} | 0   0  0  0    0  0    0   0  0   0  0   s  |
                                                                                                                                                                
                                                                                                                                                               3

o25 : SimplicialModule
i26 : prune D2

o26 = cokernel {2} | -t  -t -t -s+t -t -s-t | <-- cokernel {2} | -t  -t -t -s+t -t -s-t 0   0  | <-- cokernel {2} | -t  -t -t -s+t -t -s-t 0   0  0   0  | <-- cokernel {2} | -t  -t -t -s+t -t -s-t 0   0  0   0  0   0  |<-- ...
               {2} | s+t 0  t  -t   0  0    |              {2} | s+t 0  t  -t   0  0    0   0  |              {2} | s+t 0  t  -t   0  0    0   0  0   0  |              {2} | s+t 0  t  -t   0  0    0   0  0   0  0   0  |
               {2} | 0   s  0  0    -t 0    |              {2} | 0   s  0  0    -t 0    0   0  |              {2} | 0   s  0  0    -t 0    0   0  0   0  |              {2} | 0   s  0  0    -t 0    0   0  0   0  0   0  |
               {2} | 0   0  t  s    0  0    |              {2} | 0   0  t  s    0  0    0   0  |              {2} | 0   0  t  s    0  0    0   0  0   0  |              {2} | 0   0  t  s    0  0    0   0  0   0  0   0  |
               {2} | 0   0  0  0    t  s    |              {2} | 0   0  0  0    t  s    0   0  |              {2} | 0   0  0  0    t  s    0   0  0   0  |              {2} | 0   0  0  0    t  s    0   0  0   0  0   0  |
                                                           {2} | 0   0  0  0    0  0    -t  -t |              {2} | 0   0  0  0    0  0    -t  -t 0   0  |              {2} | 0   0  0  0    0  0    -t  -t 0   0  0   0  |
      0                                                    {2} | 0   0  0  0    0  0    s+t 0  |              {2} | 0   0  0  0    0  0    s+t 0  0   0  |              {2} | 0   0  0  0    0  0    s+t 0  0   0  0   0  |
                                                           {2} | 0   0  0  0    0  0    0   s  |              {2} | 0   0  0  0    0  0    0   s  0   0  |              {2} | 0   0  0  0    0  0    0   s  0   0  0   0  |
                                                                                                              {2} | 0   0  0  0    0  0    0   0  -t  -t |              {2} | 0   0  0  0    0  0    0   0  -t  -t 0   0  |
                                                  1                                                           {2} | 0   0  0  0    0  0    0   0  s+t 0  |              {2} | 0   0  0  0    0  0    0   0  s+t 0  0   0  |
                                                                                                              {2} | 0   0  0  0    0  0    0   0  0   s  |              {2} | 0   0  0  0    0  0    0   0  0   s  0   0  |
                                                                                                                                                                        {2} | 0   0  0  0    0  0    0   0  0   0  -t  -t |
                                                                                                     2                                                                  {2} | 0   0  0  0    0  0    0   0  0   0  s+t 0  |
                                                                                                                                                                        {2} | 0   0  0  0    0  0    0   0  0   0  0   s  |
                                                                                                                                                                
                                                                                                                                                               3

o26 : SimplicialModule

When the ring map doesn't preserve homogeneity, the DegreeMap option is needed to determine the degrees of the image free modules in the complex.

i27 : R = ZZ/101[a..d];
i28 : S = ZZ/101[s,t];
i29 : f = map(S, R, {s^4, s^3*t, s*t^3, t^4}, DegreeMap => i -> 4*i)

                   4   3      3   4
o29 = map (S, R, {s , s t, s*t , t })

o29 : RingMap S <-- R
i30 : C = simplicialModule(freeResolution coker vars R, 3, Degeneracy => true)

       1      5      15      35
o30 = R  <-- R  <-- R   <-- R  <-- ...
                             
      0      1      2       3

o30 : SimplicialModule
i31 : D = f ** C

       1      5      15      35
o31 = S  <-- S  <-- S   <-- S  <-- ...
                             
      0      1      2       3

o31 : SimplicialModule
i32 : D == f C

o32 = true
i33 : assert isWellDefined D

See also

Ways to use this method:

  • Ring ** SimplicialModule
  • RingMap ** SimplicialModule -- tensor a simplicial module along a ring map
  • SimplicialModule ** Ring
  • SimplicialModule ** RingMap

The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/SimplicialModules/SimplicialModuleDOC.m2:1170:0.