Macaulay2 » Documentation
Packages » SimplicialModules :: isSimplicialModule(SimplicialModule)
next | previous | forward | backward | up | index | toc

isSimplicialModule(SimplicialModule) -- check if the simplicial identities hold for a simplicial object with degeneracy map keys

Description

This function checks if the simplicial identities hold for a given simplicial object `S` with face maps `dd` and degeneracy maps `ss`. The simplicial identities are a set of equations that need to be satisfied by the face and degeneracy maps of the simplicial object.

Specifically, the function verifies the following identities: 1. For face maps: \[ d_j d_i = d_i d_{j-1} \text{ for } 0 \leq i < j \leq n \] 2. For face and degeneracy maps: \[ d_i s_j = s_{j-1} d_i \text{ for } i < j \] \[ d_j s_j = \text{id} \] \[ d_{j+1} s_j = \text{id} \] \[ d_k s_j = s_j d_{k-1} \text{ for } k > j+1 \] 3. For degeneracy maps: \[ s_j s_i = s_i s_{j+1} \text{ for } i \leq j \]

If any of these identities fail, the function returns `false`. If all identities are satisfied, the function returns `true`.

i1 : R = QQ[a..d];
i2 : f0 = matrix {{-b^2+a*c, b*c-a*d, -c^2+b*d}}

o2 = | -b2+ac bc-ad -c2+bd |

             1      3
o2 : Matrix R  <-- R
i3 : f1 = map(source f0,, {{d, c}, {c, b}, {b, a}})

o3 = {2} | d c |
     {2} | c b |
     {2} | b a |

             3      2
o3 : Matrix R  <-- R
i4 : C = simplicialModule(complex {f0, f1}, 3, Degeneracy => true)

      1      4      9      16
o4 = R  <-- R  <-- R  <-- R  <-- ...
                           
     0      1      2      3

o4 : SimplicialModule
i5 : isSimplicialModule C

o5 = true
i6 : dd^C

               1                                 4
o6 = (0, 0) : R  <----------------------------- R  : (1, 0)
                    | 1 -b2+ac bc-ad -c2+bd |

               1                   4
     (0, 1) : R  <--------------- R  : (1, 1)
                    | 1 0 0 0 |

               4                                               9
     (1, 0) : R  <------------------------------------------- R  : (2, 0)
                    {0} | 1 -b2+ac bc-ad -c2+bd 0 0 0 0 0 |
                    {2} | 0 0      0     0      1 0 0 d c |
                    {2} | 0 0      0     0      0 1 0 c b |
                    {2} | 0 0      0     0      0 0 1 b a |

               4                                 9
     (1, 1) : R  <----------------------------- R  : (2, 1)
                    {0} | 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 1 0 0 0 0 |
                    {2} | 0 0 1 0 0 1 0 0 0 |
                    {2} | 0 0 0 1 0 0 1 0 0 |

               4                                 9
     (1, 2) : R  <----------------------------- R  : (2, 2)
                    {0} | 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 0 0 0 |

               9                                                             16
     (2, 0) : R  <--------------------------------------------------------- R   : (3, 0)
                    {0} | 1 -b2+ac bc-ad -c2+bd 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0      0     0      1 0 0 0 0 0 d c 0 0 0 0 |
                    {2} | 0 0      0     0      0 1 0 0 0 0 c b 0 0 0 0 |
                    {2} | 0 0      0     0      0 0 1 0 0 0 b a 0 0 0 0 |
                    {2} | 0 0      0     0      0 0 0 1 0 0 0 0 d c 0 0 |
                    {2} | 0 0      0     0      0 0 0 0 1 0 0 0 c b 0 0 |
                    {2} | 0 0      0     0      0 0 0 0 0 1 0 0 b a 0 0 |
                    {3} | 0 0      0     0      0 0 0 0 0 0 0 0 0 0 1 0 |
                    {3} | 0 0      0     0      0 0 0 0 0 0 0 0 0 0 0 1 |

               9                                               16
     (2, 1) : R  <------------------------------------------- R   : (3, 1)
                    {0} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 |
                    {3} | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 |
                    {3} | 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 |

               9                                               16
     (2, 2) : R  <------------------------------------------- R   : (3, 2)
                    {0} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 |
                    {3} | 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 |
                    {3} | 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 |

               9                                               16
     (2, 3) : R  <------------------------------------------- R   : (3, 3)
                    {0} | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 |
                    {2} | 0 0 0 0 0 0 1 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 |
                    {3} | 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 |

o6 : SimplicialModuleMap
i7 : ss^C

               4                 1
o7 = (1, 0) : R  <------------- R  : (0, 0)
                    {0} | 1 |
                    {2} | 0 |
                    {2} | 0 |
                    {2} | 0 |

               9                       4
     (2, 0) : R  <------------------- R  : (1, 0)
                    {0} | 1 0 0 0 |
                    {2} | 0 0 0 0 |
                    {2} | 0 0 0 0 |
                    {2} | 0 0 0 0 |
                    {2} | 0 1 0 0 |
                    {2} | 0 0 1 0 |
                    {2} | 0 0 0 1 |
                    {3} | 0 0 0 0 |
                    {3} | 0 0 0 0 |

               9                       4
     (2, 1) : R  <------------------- R  : (1, 1)
                    {0} | 1 0 0 0 |
                    {2} | 0 1 0 0 |
                    {2} | 0 0 1 0 |
                    {2} | 0 0 0 1 |
                    {2} | 0 0 0 0 |
                    {2} | 0 0 0 0 |
                    {2} | 0 0 0 0 |
                    {3} | 0 0 0 0 |
                    {3} | 0 0 0 0 |

               16                                 9
     (3, 0) : R   <----------------------------- R  : (2, 0)
                     {0} | 1 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 1 0 0 0 0 0 0 0 |
                     {2} | 0 0 1 0 0 0 0 0 0 |
                     {2} | 0 0 0 1 0 0 0 0 0 |
                     {2} | 0 0 0 0 1 0 0 0 0 |
                     {2} | 0 0 0 0 0 1 0 0 0 |
                     {2} | 0 0 0 0 0 0 1 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 1 0 |
                     {3} | 0 0 0 0 0 0 0 0 1 |

               16                                 9
     (3, 1) : R   <----------------------------- R  : (2, 1)
                     {0} | 1 0 0 0 0 0 0 0 0 |
                     {2} | 0 1 0 0 0 0 0 0 0 |
                     {2} | 0 0 1 0 0 0 0 0 0 |
                     {2} | 0 0 0 1 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 1 0 0 0 0 |
                     {2} | 0 0 0 0 0 1 0 0 0 |
                     {2} | 0 0 0 0 0 0 1 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 1 0 |
                     {3} | 0 0 0 0 0 0 0 0 1 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |

               16                                 9
     (3, 2) : R   <----------------------------- R  : (2, 2)
                     {0} | 1 0 0 0 0 0 0 0 0 |
                     {2} | 0 1 0 0 0 0 0 0 0 |
                     {2} | 0 0 1 0 0 0 0 0 0 |
                     {2} | 0 0 0 1 0 0 0 0 0 |
                     {2} | 0 0 0 0 1 0 0 0 0 |
                     {2} | 0 0 0 0 0 1 0 0 0 |
                     {2} | 0 0 0 0 0 0 1 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {2} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 1 0 |
                     {3} | 0 0 0 0 0 0 0 0 1 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |
                     {3} | 0 0 0 0 0 0 0 0 0 |

o7 : SimplicialModuleMap
i8 : dd^C*ss^C  --if C is simplicial, this should be all identity maps

               1             1
o8 = (0, 0) : R  <--------- R  : (0, 0)
                    | 1 |

               4                       4
     (1, 0) : R  <------------------- R  : (1, 0)
                    {0} | 1 0 0 0 |
                    {2} | 0 1 0 0 |
                    {2} | 0 0 1 0 |
                    {2} | 0 0 0 1 |

               4                       4
     (1, 1) : R  <------------------- R  : (1, 1)
                    {0} | 1 0 0 0 |
                    {2} | 0 1 0 0 |
                    {2} | 0 0 1 0 |
                    {2} | 0 0 0 1 |

               9                                 9
     (2, 0) : R  <----------------------------- R  : (2, 0)
                    {0} | 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 0 0 0 |
                    {2} | 0 0 0 0 1 0 0 0 0 |
                    {2} | 0 0 0 0 0 1 0 0 0 |
                    {2} | 0 0 0 0 0 0 1 0 0 |
                    {3} | 0 0 0 0 0 0 0 1 0 |
                    {3} | 0 0 0 0 0 0 0 0 1 |

               9                                 9
     (2, 1) : R  <----------------------------- R  : (2, 1)
                    {0} | 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 0 0 0 |
                    {2} | 0 0 0 0 1 0 0 0 0 |
                    {2} | 0 0 0 0 0 1 0 0 0 |
                    {2} | 0 0 0 0 0 0 1 0 0 |
                    {3} | 0 0 0 0 0 0 0 1 0 |
                    {3} | 0 0 0 0 0 0 0 0 1 |

               9                                 9
     (2, 2) : R  <----------------------------- R  : (2, 2)
                    {0} | 1 0 0 0 0 0 0 0 0 |
                    {2} | 0 1 0 0 0 0 0 0 0 |
                    {2} | 0 0 1 0 0 0 0 0 0 |
                    {2} | 0 0 0 1 0 0 0 0 0 |
                    {2} | 0 0 0 0 1 0 0 0 0 |
                    {2} | 0 0 0 0 0 1 0 0 0 |
                    {2} | 0 0 0 0 0 0 1 0 0 |
                    {3} | 0 0 0 0 0 0 0 1 0 |
                    {3} | 0 0 0 0 0 0 0 0 1 |

o8 : SimplicialModuleMap

The zero simplicial module is well-defined.

i9 : C = simplicialModule(R^0, 6, Degeneracy => true)

o9 = 0 <-- 0 <-- 0 <-- 0 <-- 0 <-- 0 <-- 0<-- ...
                                          
     0     1     2     3     4     5     6

o9 : SimplicialModule
i10 : isSimplicialModule C

o10 = true

See also

Ways to use this method:


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