Chain complexes

ChainComplex
ChainComplex(T)

Inputs a pure cubical complex, or cubical complex, or simplicial complex T and returns the (often very large) cellular chain complex of T.
ChainComplexOfPair
ChainComplexOfPair(T,S)

Inputs a pure cubical complex or cubical complex T and contractible subcomplex S. It returns the quotient C(T)/C(S) of cellular chain complexes.
ChevalleyEilenbergComplex
ChevalleyEilenbergComplex(X,n)

Inputs either a Lie algebra X=A (over the ring of integers Z or over a field K) or a homomorphism of Lie algebras X=(f:A \longrightarrow B), together with a positive integer n. It returns either the first n terms of the Chevalley-Eilenberg chain complex C(A), or the induced map of Chevalley-Eilenberg complexes C(f):C(A) \longrightarrow C(B).

(The homology of the Chevalley-Eilenberg complex C(A) is by definition the homology of the Lie algebra A with trivial coefficients in Z or K).

This function was written by Pablo Fernandez Ascariz
LeibnizComplex
LeibnizComplex(X,n)

Inputs either a Lie or Leibniz algebra X=A (over the ring of integers Z or over a field K) or a homomorphism of Lie or Leibniz algebras X=(f:A \longrightarrow B), together with a positive integer n. It returns either the first n terms of the Leibniz chain complex C(A), or the induced map of Leibniz complexes C(f):C(A) \longrightarrow C(B).

(The Leibniz complex C(A) was defined by J.-L.Loday. Its homology is by definition the Leibniz homology of the algebra A).

This function was written by Pablo Fernandez Ascariz
SuspendedChainComplex
SuspendedChainComplex(C)

Inputs a chain complex C and returns the chain complex S defined by applying the degree shift S_n = C_{n-1} to chain groups and boundary homomorphisms.
ReducedSuspendedChainComplex
ReducedSuspendedChainComplex(C)

Inputs a chain complex C and returns the chain complex S defined by applying the degree shift S_n = C_{n-1} to chain groups and boundary homomorphisms for all n > 0. The chain complex S has trivial homology in degree 0 and S_0=\mathbb Z.
CoreducedChainComplex
CoreducedChainComplex(C)
CoreducedChainComplex(C,2)

Inputs a chain complex C and returns a quasi-isomorphic chain complex D. In many cases the complex D should be smaller than C. If an optional second input argument is set equal to 2 then an alternative method is used for reducing the size of the chain complex.
TensorProductOfChainComplexes
TensorProductOfChainComplexes(C,D)

Inputs two chain complexes C and D of the same characteristic and returns their tensor product as a chain complex.

This function was written by Le Van Luyen.
LefschetzNumber
LefschetzNumber(F)

Inputs a chain map F\colon C\rightarrow C with common source and target. It returns the Lefschetz number of the map (that is, the alternating sum of the traces of the homology maps in each degree).