next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Complexes :: naiveTruncation(Complex,ZZ,ZZ)

naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval

Synopsis

Description

Returns a new complex which drops (sets to zero) all modules outside the given range.

i1 : R = ZZ/101[a,b,c,d,e];
i2 : I = intersect(ideal(a,b),ideal(c,d,e))

o2 = ideal (b*e, a*e, b*d, a*d, b*c, a*c)

o2 : Ideal of R
i3 : C = freeResolution I

      1      6      9      5      1
o3 = R  <-- R  <-- R  <-- R  <-- R
                                  
     0      1      2      3      4

o3 : Complex
i4 : naiveTruncation(C, 1, 2)

      6      9
o4 = R  <-- R
             
     1      2

o4 : Complex
i5 : C16 = naiveTruncation(C, 1, 6)

      6      9      5      1
o5 = R  <-- R  <-- R  <-- R
                           
     1      2      3      4

o5 : Complex
i6 : isWellDefined C16

o6 = true
i7 : naiveTruncation(C, 1, infinity)

      6      9      5      1
o7 = R  <-- R  <-- R  <-- R
                           
     1      2      3      4

o7 : Complex
i8 : naiveTruncation(C, -13, 2)

      1      6      9
o8 = R  <-- R  <-- R
                    
     0      1      2

o8 : Complex
i9 : naiveTruncation(C, -infinity, 2)

      1      6      9
o9 = R  <-- R  <-- R
                    
     0      1      2

o9 : Complex
i10 : naiveTruncation(C, , 2)

       1      6      9
o10 = R  <-- R  <-- R
                     
      0      1      2

o10 : Complex

Truncation gives rise to a natural short exact sequence of complexes.

i11 : C' = naiveTruncation(C,, 1)

       1      6
o11 = R  <-- R
              
      0      1

o11 : Complex
i12 : C'' = naiveTruncation(C, 2, infinity)

       9      5      1
o12 = R  <-- R  <-- R
                     
      2      3      4

o12 : Complex
i13 : f = inducedMap(C, C')

           1             1
o13 = 0 : R  <--------- R  : 0
                | 1 |

           6                           6
      1 : R  <----------------------- R  : 1
                {2} | 1 0 0 0 0 0 |
                {2} | 0 1 0 0 0 0 |
                {2} | 0 0 1 0 0 0 |
                {2} | 0 0 0 1 0 0 |
                {2} | 0 0 0 0 1 0 |
                {2} | 0 0 0 0 0 1 |

o13 : ComplexMap
i14 : g = inducedMap(C'', C)

           9                                 9
o14 = 2 : R  <----------------------------- R  : 2
                {3} | 1 0 0 0 0 0 0 0 0 |
                {3} | 0 1 0 0 0 0 0 0 0 |
                {3} | 0 0 1 0 0 0 0 0 0 |
                {3} | 0 0 0 1 0 0 0 0 0 |
                {3} | 0 0 0 0 1 0 0 0 0 |
                {3} | 0 0 0 0 0 1 0 0 0 |
                {3} | 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 |

           5                         5
      3 : R  <--------------------- R  : 3
                {4} | 1 0 0 0 0 |
                {4} | 0 1 0 0 0 |
                {4} | 0 0 1 0 0 |
                {4} | 0 0 0 1 0 |
                {4} | 0 0 0 0 1 |

           1                 1
      4 : R  <------------- R  : 4
                {5} | 1 |

o14 : ComplexMap
i15 : assert isShortExactSequence(g,f)

There is another type of truncation, canonicalTruncation, which induces an isomorphism on (a range) of homology.

See also