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

isWellDefined(SimplicialModule) -- whether a simplicial module is well-defined

Description

This routine checks that the face/degeneracy maps of C satisfy the simplicial identities (see isSimplicialModule for a list of these identities). If there are no degeneracy maps stored, it instead checks that the naive normalization of C is a well-defined complex. Additionally, it checks that the underlying data in C is a properly formed SimplicialModule object in Macaulay2. If the variable debugLevel is set to a value greater than zero, then information about the nature of any failure is displayed.

As a first example, we construct the Dold-Kan image of a free resolution and verify that it is well-defined.

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 : isWellDefined 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 well-defined, 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 : isWellDefined 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:626:0.