# complex(Complex) -- make a complex by reindexing the terms of the complex

## Synopsis

• Function: complex
• Usage:
D = complex(C, Base => i)
• Inputs:
• C, ,
• Optional inputs:
• Base => an integer, default value 0, the target of the lowest differential
• Outputs:
• D, , where if $d$ is the smallest index of the target of the differentials of C, then for all integers $j$ we have $D_{i+j} = C_{d+j}$

## Description

This returns an alteration of the input complex, reindexing the terms of the complex.

 i1 : S = ZZ/101[a..d] o1 = S o1 : PolynomialRing i2 : C = freeResolution coker vars S 1 4 6 4 1 o2 = S <-- S <-- S <-- S <-- S 0 1 2 3 4 o2 : Complex i3 : D = complex(C, Base => 1) 1 4 6 4 1 o3 = S <-- S <-- S <-- S <-- S 1 2 3 4 5 o3 : Complex i4 : E = complex(D, Base => -11) 1 4 6 4 1 o4 = S <-- S <-- S <-- S <-- S -11 -10 -9 -8 -7 o4 : Complex i5 : dd^D_2 == dd^C_1 o5 = true i6 : dd^E_-9 == dd^C_2 o6 = true

Rather than specifying the homological degree of the lowest target, one can also shift the homological degree, which may simultaneously negate the maps.

 i7 : F = C[-1] 1 4 6 4 1 o7 = S <-- S <-- S <-- S <-- S 1 2 3 4 5 o7 : Complex i8 : for i from min F to max F list dd^F_i == - dd^D_i o8 = {true, true, true, true, true} o8 : List