Macaulay2 » Documentation
Packages » SimplicialModules :: truncate(List,SimplicialModuleMap)
next | previous | forward | backward | up | index | toc

truncate(List,SimplicialModuleMap) -- truncation of a simplicial module map at a specified degree or set of degrees

Description

Truncation of homogeneous (graded) maps induces a natural operation on maps of simplicial modules.

In the singly graded case, the truncation of a homogeneous module $M$ at degree $d$ is generated by all homogeneous elements of degree at least $d$ in $M$. The truncation of a map between homogeneous modules is the induced map between the truncation of the source and the truncation of the target. This method applies this operation to each term in a map of simplicial modules.

i1 : R = QQ[a,b,c];
i2 : C = simplicialModule(freeResolution ideal(a*b, a*c, b*c), 3, Degeneracy => true)

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

o2 : SimplicialModule
i3 : D = simplicialModule((freeResolution ideal(a*b, a*c, b*c, a^2-b^2))[-1], 3, Degeneracy => true)

            1      6      19
o3 = 0 <-- R  <-- R  <-- R  <-- ...
                          
     0     1      2      3

o3 : SimplicialModule
i4 : f = randomSimplicialMap(D,C, Cycle => true)

                   1
o4 = 0 : 0 <----- R  : 0
              0

          1                                                                                                                     4
     1 : R  <----------------------------------------------------------------------------------------------------------------- R  : 1
               | 0 9/2a2+4ab+7/9b2+3/4ac+7/10bc 3/7a2+6/7ab+5/6b2+45/7ac+5bc+10/9c2 7/8a2+7/10ab+7/3b2+5/4ac+65/9bc+3/10c2 |

          6                                                                                                                                                                                                                                                                          9
     2 : R  <---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- R  : 2
               {0} | 0 9/2a2+4ab+7/9b2+3/4ac+7/10bc 3/7a2+6/7ab+5/6b2+45/7ac+5bc+10/9c2 7/8a2+7/10ab+7/3b2+5/4ac+65/9bc+3/10c2 0                            0                                   0                                      0                     0                  |
               {0} | 0 0                            0                                   0                                      9/2a2+4ab+7/9b2+3/4ac+7/10bc 3/7a2+6/7ab+5/6b2+45/7ac+5bc+10/9c2 7/8a2+7/10ab+7/3b2+5/4ac+65/9bc+3/10c2 0                     0                  |
               {2} | 0 0                            0                                   0                                      0                            0                                   0                                      5/6b-3/2c             -7/8a-5/6b-5c      |
               {2} | 0 0                            0                                   0                                      0                            0                                   0                                      -53/42a-6/7b-16c      59/105a-395/168b-c |
               {2} | 0 0                            0                                   0                                      0                            0                                   0                                      6a+49/4b+3/4c         15/4a-2/9b-3/10c   |
               {2} | 0 0                            0                                   0                                      0                            0                                   0                                      37/28a-103/18b-37/90c 3/7a+10/9c         |

          19                                                                                                                                                                                                                                                                                                                                                                                                                                                                    16
     3 : R   <---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- R   : 3
                {0} | 0 9/2a2+4ab+7/9b2+3/4ac+7/10bc 3/7a2+6/7ab+5/6b2+45/7ac+5bc+10/9c2 7/8a2+7/10ab+7/3b2+5/4ac+65/9bc+3/10c2 0                            0                                   0                                      0                            0                                   0                                      0                     0                  0                     0                  0                     0                  |
                {0} | 0 0                            0                                   0                                      9/2a2+4ab+7/9b2+3/4ac+7/10bc 3/7a2+6/7ab+5/6b2+45/7ac+5bc+10/9c2 7/8a2+7/10ab+7/3b2+5/4ac+65/9bc+3/10c2 0                            0                                   0                                      0                     0                  0                     0                  0                     0                  |
                {0} | 0 0                            0                                   0                                      0                            0                                   0                                      9/2a2+4ab+7/9b2+3/4ac+7/10bc 3/7a2+6/7ab+5/6b2+45/7ac+5bc+10/9c2 7/8a2+7/10ab+7/3b2+5/4ac+65/9bc+3/10c2 0                     0                  0                     0                  0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      5/6b-3/2c             -7/8a-5/6b-5c      0                     0                  0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      -53/42a-6/7b-16c      59/105a-395/168b-c 0                     0                  0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      6a+49/4b+3/4c         15/4a-2/9b-3/10c   0                     0                  0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      37/28a-103/18b-37/90c 3/7a+10/9c         0                     0                  0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  5/6b-3/2c             -7/8a-5/6b-5c      0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  -53/42a-6/7b-16c      59/105a-395/168b-c 0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  6a+49/4b+3/4c         15/4a-2/9b-3/10c   0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  37/28a-103/18b-37/90c 3/7a+10/9c         0                     0                  |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  0                     0                  5/6b-3/2c             -7/8a-5/6b-5c      |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  0                     0                  -53/42a-6/7b-16c      59/105a-395/168b-c |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  0                     0                  6a+49/4b+3/4c         15/4a-2/9b-3/10c   |
                {2} | 0 0                            0                                   0                                      0                            0                                   0                                      0                            0                                   0                                      0                     0                  0                     0                  37/28a-103/18b-37/90c 3/7a+10/9c         |
                {3} | 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                                      0                     0                  0                     0                  0                     0                  |
                {3} | 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                     0                  0                     0                  |

o4 : SimplicialModuleMap
i5 : g = truncate(3,f);
i6 : assert isWellDefined g
i7 : assert (source g == truncate(3, source f))
i8 : assert (target g == truncate(3, target f))

Truncating at a degree less than the minimal generators is the identity operation.

i9 : assert(f == truncate(0, f))

In the multi-graded case, the truncation of a homogeneous module at a list of degrees is generated by all homogeneous elements of degree that are component-wise greater than or equal to at least one of the degrees. As in the singly graded case, this induces a map between the truncations of the source and target.

i10 : A = ZZ/101[x_0, x_1, y_0, y_1, y_2, Degrees => {2:{1,0}, 3:{0,1}}];
i11 : I = intersect(ideal(x_0, x_1), ideal(y_0, y_1, y_2))

o11 = ideal (x y , x y , x y , x y , x y , x y )
              1 2   0 2   1 1   0 1   1 0   0 0

o11 : Ideal of A
i12 : C = simplicialModule(freeResolution I, 4, Degeneracy => true)

       1      7      22      51      100
o12 = A  <-- A  <-- A   <-- A   <-- A   <-- ...
                                     
      0      1      2       3       4

o12 : SimplicialModule
i13 : J = intersect(ideal(x_0^2, x_1^2), ideal(y_0^2, y_1^2, y_2^2))

              2 2   2 2   2 2   2 2   2 2   2 2
o13 = ideal (x y , x y , x y , x y , x y , x y )
              1 2   0 2   1 1   0 1   1 0   0 0

o13 : Ideal of A
i14 : D = simplicialModule(freeResolution J, 4, Degeneracy => true)

       1      7      22      51      100
o14 = A  <-- A  <-- A   <-- A   <-- A   <-- ...
                                     
      0      1      2       3       4

o14 : SimplicialModule
i15 : f = simplicialModule(extend(C.complex, D.complex, id_(A^1)), 2)

           1             1
o15 = 0 : A  <--------- A  : 0
                | 1 |

           7                                                              7
      1 : A  <---------------------------------------------------------- A  : 1
                {0, 0} | 1 0      0      0      0      0      0      |
                {1, 1} | 0 x_0y_0 0      0      0      0      0      |
                {1, 1} | 0 0      x_1y_0 0      0      0      0      |
                {1, 1} | 0 0      0      x_0y_1 0      0      0      |
                {1, 1} | 0 0      0      0      x_1y_1 0      0      |
                {1, 1} | 0 0      0      0      0      x_0y_2 0      |
                {1, 1} | 0 0      0      0      0      0      x_1y_2 |

           22                                                                                                                                                                                                  22
      2 : A   <---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- A   : 2
                 {0, 0} | 1 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 x_0y_0 0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      x_1y_0 0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      x_0y_1 0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      x_1y_1 0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      x_0y_2 0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      x_1y_2 0      0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      0      x_0y_0 0      0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      0      0      x_1y_0 0      0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      0      0      0      x_0y_1 0      0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      0      0      0      0      x_1y_1 0      0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      0      0      0      0      0      x_0y_2 0      0         0         0         0         0         0         0         0         0         |
                 {1, 1} | 0 0      0      0      0      0      0      0      0      0      0      0      x_1y_2 0         0         0         0         0         0         0         0         0         |
                 {2, 1} | 0 0      0      0      0      0      0      0      0      0      0      0      0      x_0x_1y_0 0         0         0         0         0         0         0         0         |
                 {2, 1} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         x_0x_1y_1 0         0         0         0         0         0         0         |
                 {1, 2} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         x_0y_0y_1 0         0         0         0         0         0         |
                 {1, 2} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         x_1y_0y_1 0         0         0         0         0         |
                 {2, 1} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         x_0x_1y_2 0         0         0         0         |
                 {1, 2} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         x_0y_0y_2 0         0         0         |
                 {1, 2} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         x_1y_0y_2 0         0         |
                 {1, 2} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         x_0y_1y_2 0         |
                 {1, 2} | 0 0      0      0      0      0      0      0      0      0      0      0      0      0         0         0         0         0         0         0         0         x_1y_1y_2 |

o15 : SimplicialModuleMap
i16 : g1 = prune truncate({{1,1}}, f);
i17 : g1_0

o17 = {1, 1} | 1 0 0 0 0 0 |
      {1, 1} | 0 1 0 0 0 0 |
      {1, 1} | 0 0 1 0 0 0 |
      {1, 1} | 0 0 0 1 0 0 |
      {1, 1} | 0 0 0 0 1 0 |
      {1, 1} | 0 0 0 0 0 1 |

o17 : Matrix
i18 : g1_1

o18 = {1, 1} | 1 0 0 0 0 0 0      0      0      0      0      0      |
      {1, 1} | 0 1 0 0 0 0 0      0      0      0      0      0      |
      {1, 1} | 0 0 1 0 0 0 0      0      0      0      0      0      |
      {1, 1} | 0 0 0 1 0 0 0      0      0      0      0      0      |
      {1, 1} | 0 0 0 0 1 0 0      0      0      0      0      0      |
      {1, 1} | 0 0 0 0 0 1 0      0      0      0      0      0      |
      {1, 1} | 0 0 0 0 0 0 x_0y_0 0      0      0      0      0      |
      {1, 1} | 0 0 0 0 0 0 0      x_1y_0 0      0      0      0      |
      {1, 1} | 0 0 0 0 0 0 0      0      x_0y_1 0      0      0      |
      {1, 1} | 0 0 0 0 0 0 0      0      0      x_1y_1 0      0      |
      {1, 1} | 0 0 0 0 0 0 0      0      0      0      x_0y_2 0      |
      {1, 1} | 0 0 0 0 0 0 0      0      0      0      0      x_1y_2 |

o18 : Matrix
i19 : g2 = truncate({{1,0}}, f);
i20 : g2_1

o20 = {1, 0} | 1 0 0      0      0      0      0      0      |
      {1, 0} | 0 1 0      0      0      0      0      0      |
      {1, 1} | 0 0 x_0y_0 0      0      0      0      0      |
      {1, 1} | 0 0 0      x_1y_0 0      0      0      0      |
      {1, 1} | 0 0 0      0      x_0y_1 0      0      0      |
      {1, 1} | 0 0 0      0      0      x_1y_1 0      0      |
      {1, 1} | 0 0 0      0      0      0      x_0y_2 0      |
      {1, 1} | 0 0 0      0      0      0      0      x_1y_2 |

o20 : Matrix
i21 : g3 = truncate({{0,1}}, f);
i22 : g4 = truncate({{1,0},{0,1}}, f);
i23 : g4_1

o23 = {0, 1} | 1 0 0 0 0 0      0      0      0      0      0      |
      {0, 1} | 0 1 0 0 0 0      0      0      0      0      0      |
      {0, 1} | 0 0 1 0 0 0      0      0      0      0      0      |
      {1, 0} | 0 0 0 1 0 0      0      0      0      0      0      |
      {1, 0} | 0 0 0 0 1 0      0      0      0      0      0      |
      {1, 1} | 0 0 0 0 0 x_0y_0 0      0      0      0      0      |
      {1, 1} | 0 0 0 0 0 0      x_1y_0 0      0      0      0      |
      {1, 1} | 0 0 0 0 0 0      0      x_0y_1 0      0      0      |
      {1, 1} | 0 0 0 0 0 0      0      0      x_1y_1 0      0      |
      {1, 1} | 0 0 0 0 0 0      0      0      0      x_0y_2 0      |
      {1, 1} | 0 0 0 0 0 0      0      0      0      0      x_1y_2 |

o23 : Matrix
i24 : g5 = truncate({{2,2}}, f);
i25 : assert all({g1,g2,g3,g4,g5}, isWellDefined)

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:2363:0.