# components(Complex) -- list the components of a direct sum

## Synopsis

• Function: components
• Usage:
components C
• Inputs:
• C, ,
• Outputs:
• a list, the component complexes of a direct sum (of complexes)

## Description

A complex which has been constructed as a direct sum stores its component complexes.

 i1 : S = ZZ/101[a,b,c]; i2 : C1 = freeResolution coker vars S 1 3 3 1 o2 = S <-- S <-- S <-- S 0 1 2 3 o2 : Complex i3 : C2 = complex (ideal(a,b,c)) o3 = image | a b c | 0 o3 : Complex i4 : D = C1 ++ C2 3 3 1 o4 = image | 1 0 0 0 | <-- S <-- S <-- S | 0 a b c | 1 2 3 0 o4 : Complex i5 : L = components D 1 3 3 1 o5 = {S <-- S <-- S <-- S , image | a b c |} 0 1 2 3 0 o5 : List i6 : L_0 === C1 o6 = true i7 : L_1 === C2 o7 = true i8 : E = (mike => C1) ++ (greg => C2) 3 3 1 o8 = image | 1 0 0 0 | <-- S <-- S <-- S | 0 a b c | 1 2 3 0 o8 : Complex i9 : components E 1 3 3 1 o9 = {S <-- S <-- S <-- S , image | a b c |} 0 1 2 3 0 o9 : List

The names of the component complexes are called indices, and are used to access the relevant inclusion and projection maps.

 i10 : indices D o10 = {0, 1} o10 : List i11 : D^[0] 1 o11 = 0 : S <--------------- image | 1 0 0 0 | : 0 | 1 0 0 0 | | 0 a b c | 3 3 1 : S <----------------- S : 1 {1} | 1 0 0 | {1} | 0 1 0 | {1} | 0 0 1 | 3 3 2 : S <----------------- S : 2 {2} | 1 0 0 | {2} | 0 1 0 | {2} | 0 0 1 | 1 1 3 : S <------------- S : 3 {3} | 1 | o11 : ComplexMap i12 : indices E o12 = {mike, greg} o12 : List i13 : E_[greg] o13 = 0 : image | 1 0 0 0 | <----------------- image | a b c | : 0 | 0 a b c | {0} | 0 0 0 | {1} | 1 0 0 | {1} | 0 1 0 | {1} | 0 0 1 | o13 : ComplexMap