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

## Synopsis

• Usage:
(lo,hi) = concentration C
• Inputs:
• C, ,
• Outputs:
• lo, an integer,
• hi, an integer, a pair of integers lo, hi such that C_i = 0 for i < lo or i > hi.

## Description

In this package, each complex has a concentration (lo, hi) such that lo <= hi. When lo <= i <= hi, the module C_i might be zero. The methods max and min applied to the complex C return lo and hi, respectively.

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]; 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 i6 : min D o6 = -5 i7 : max D o7 = 3 i8 : assert((min D, max D) === concentration D)

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

 i9 : C_-1 o9 = 0 o9 : S-module i10 : D_4 o10 = 0 o10 : S-module

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

 i11 : f1 = a*id_C 1 1 o11 = 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 | o11 : ComplexMap i12 : E = ker f1 o12 = image 0 <-- image 0 <-- image 0 <-- image 0 0 1 2 3 o12 : Complex i13 : concentration E o13 = (0, 3) o13 : Sequence i14 : concentration prune E o14 = (0, 0) o14 : Sequence

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

 i15 : C0 = (complex S^0)[4] o15 = 0 -4 o15 : Complex i16 : concentration C0 o16 = (-4, -4) o16 : Sequence i17 : prune C0 o17 = 0 0 o17 : Complex i18 : concentration oo o18 = (0, 0) o18 : Sequence