next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Complexes :: concentration

concentration -- indices on which a complex may be non-zero

Synopsis

Description

In this package, each complex has a concentration (lo, hi) such that lo <= hi. When lo <= i <= hi, the module Ci might be zero.

This function is mainly used in programming, to loop over all non-zero modules or maps in the complex. This should not be confused with the support of a complex.

i1 : S = ZZ/101[a..c]

o1 = S

o1 : PolynomialRing
i2 : C = freeResolution coker vars S

      1      3      3      1
o2 = S  <-- S  <-- S  <-- S
                           
     0      1      2      3

o2 : Complex
i3 : concentration C

o3 = (0, 3)

o3 : Sequence
i4 : D = C ++ C[5]

      1      3      3      1             1      3      3      1
o4 = S  <-- S  <-- S  <-- S  <-- 0  <-- S  <-- S  <-- S  <-- S
                                                              
     -5     -4     -3     -2     -1     0      1      2      3

o4 : Complex
i5 : concentration D

o5 = (-5, 3)

o5 : Sequence

Indices that are outside of the concentration automatically return the zero object.

i6 : C_-1

o6 = 0

o6 : S-module
i7 : D_4

o7 = 0

o7 : S-module

The function concentration does no computation. To eliminate extraneous zeros, use prune(Complex).

i8 : f1 = a*id_C

          1             1
o8 = 0 : S  <--------- S  : 0
               | a |

          3                     3
     1 : S  <----------------- S  : 1
               {1} | a 0 0 |
               {1} | 0 a 0 |
               {1} | 0 0 a |

          3                     3
     2 : S  <----------------- S  : 2
               {2} | a 0 0 |
               {2} | 0 a 0 |
               {2} | 0 0 a |

          1                 1
     3 : S  <------------- S  : 3
               {3} | a |

o8 : ComplexMap
i9 : E = ker f1

o9 = image 0 <-- image 0 <-- image 0 <-- image 0
                                          
     0           1           2           3

o9 : Complex
i10 : concentration E

o10 = (0, 3)

o10 : Sequence
i11 : concentration prune E

o11 = (0, 0)

o11 : Sequence

The concentration of a zero complex can be arbitrary, however, after pruning, its concentration will be (0,0).

i12 : C0 = (complex S^0)[4]

o12 = 0
       
      -4

o12 : Complex
i13 : concentration C0

o13 = (-4, -4)

o13 : Sequence
i14 : prune C0

o14 = 0
       
      0

o14 : Complex
i15 : concentration oo

o15 = (0, 0)

o15 : Sequence

See also

Ways to use concentration :