Macaulay2 » Documentation
Packages » Complexes :: Complex
next | previous | forward | backward | up | index | toc

# Complex -- the class of all chain complexes

## Description

A complex is a sequence of objects $C_i$, connected by maps $dd^C_i : C_i \rightarrow C_{i-1}$ such that the composition of any two consecutive maps is zero.

TODO: more needs to be added here explaining how to used complexes. and links to "landing pages".

## Functions and methods returning a complex:

- basis(List,Complex) (missing documentation)
- basis(ZZ,Complex) (missing documentation)
- `canonicalTruncation(Complex,InfiniteNumber,InfiniteNumber)` -- see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- `canonicalTruncation(Complex,InfiniteNumber,ZZ)` -- see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- `canonicalTruncation(Complex,Nothing,ZZ)` -- see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- `canonicalTruncation(Complex,Sequence)` -- see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- `canonicalTruncation(Complex,ZZ,InfiniteNumber)` -- see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- `canonicalTruncation(Complex,ZZ,Nothing)` -- see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
- coimage(ComplexMap) -- make the coimage of a map of complexes
- cokernel(ComplexMap) -- make the cokernel of a map of complexes
- Complex ** Complex -- tensor product of complexes
- `Complex ** Module` -- see Complex ** Complex -- tensor product of complexes
- `Module ** Complex` -- see Complex ** Complex -- tensor product of complexes
- `tensor(Complex,Complex)` -- see Complex ** Complex -- tensor product of complexes
- complex(Complex) -- make a complex by reindexing the terms of the complex
- complex(ComplexMap) -- make a complex by specifying the differential
- complex(HashTable) -- make a chain complex
- complex(List) -- make a chain complex
- `complex(Matrix)` -- see complex(List) -- make a chain complex
- `complex(Ideal)` -- see complex(Module) -- make a chain complex of length zero
- complex(Module) -- make a chain complex of length zero
- `complex(Ring)` -- see complex(Module) -- make a chain complex of length zero
- cone(ComplexMap) -- make the mapping cone of a morphism of chain complexes
- `cylinder(ComplexMap)` -- see cylinder -- make the mapping cylinder of a morphism of chain complexes
- `Complex ++ Complex` -- see directSum(Complex) -- direct sum of complexes
- dual(Complex) -- make the dual of a complex
- `freeResolution(Ideal)` -- see freeResolution -- compute a free resolution of a module or ideal
- `freeResolution(Module)` -- see freeResolution -- compute a free resolution of a module or ideal
- `freeResolution(MonomialIdeal)` -- see freeResolution -- compute a free resolution of a module or ideal
- gradedModule(Complex) -- a new complex in which the differential is zero
- HH Complex -- homology of a complex
- Hom(Complex,Complex) -- the complex of homomorphisms between two complexes
- `Hom(Complex,Module)` -- see Hom(Complex,Complex) -- the complex of homomorphisms between two complexes
- `Hom(Complex,Ring)` -- see Hom(Complex,Complex) -- the complex of homomorphisms between two complexes
- `Hom(Module,Complex)` -- see Hom(Complex,Complex) -- the complex of homomorphisms between two complexes
- `Hom(Ring,Complex)` -- see Hom(Complex,Complex) -- the complex of homomorphisms between two complexes
- image(ComplexMap) -- make the image of a map of complexes
- kernel(ComplexMap) -- make the kernel of a map of complexes
- `koszulComplex(List)` -- see koszulComplex(Matrix) -- makes the Koszul complex
- koszulComplex(Matrix) -- makes the Koszul complex
- longExactSequence(ComplexMap,ComplexMap) -- make the long exact sequence in homology
- minimalPresentation(Complex) -- minimal presentation of all terms in a complex
- `prune(Complex)` -- see minimalPresentation(Complex) -- minimal presentation of all terms in a complex
- `naiveTruncation(Complex,InfiniteNumber,InfiniteNumber)` -- see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- `naiveTruncation(Complex,InfiniteNumber,ZZ)` -- see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- `naiveTruncation(Complex,Nothing,ZZ)` -- see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- `naiveTruncation(Complex,Sequence)` -- see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- `naiveTruncation(Complex,ZZ,InfiniteNumber)` -- see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- `naiveTruncation(Complex,ZZ,Nothing)` -- see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
- part(List,Complex) -- extract a graded component of a complex
- `part(ZZ,Complex)` -- see part(List,Complex) -- extract a graded component of a complex
- `ring(ComplexMap)` -- see ring(Complex) -- access the ring of a complex or a complex map
- `Complex ** Ring` -- see RingMap ** Complex -- tensor a complex along a ring map
- `Complex ** RingMap` -- see RingMap ** Complex -- tensor a complex along a ring map
- `Ring ** Complex` -- see RingMap ** Complex -- tensor a complex along a ring map
- RingMap ** Complex -- tensor a complex along a ring map
- `tensor(Complex,RingMap)` -- see RingMap ** Complex -- tensor a complex along a ring map
- `tensor(RingMap,Complex)` -- see RingMap ** Complex -- tensor a complex along a ring map
- RingMap Complex -- apply a ring map
- source(ComplexMap) -- get the source of a map of chain complexes
- target(ComplexMap) -- get the target of a map of chain complexes
- truncate(List,Complex) -- truncation of a complex at a specified degree or set of degrees
- `truncate(ZZ,Complex)` -- see truncate(List,Complex) -- truncation of a complex at a specified degree or set of degrees
- yonedaExtension(Matrix) -- creates a chain complex representing an extension of modules

## Methods that use a complex:

- `augmentationMap(Complex)` -- see augmentationMap -- map from a free resolution to a module regarded as a complex
- betti(Complex) -- display of degrees in a complex
- `canonicalMap(Complex,Complex)` -- see canonicalMap -- gets the natural map arising from various constructions
- complete(Complex) (missing documentation)
- Complex ** Matrix -- create the tensor product of a complex and a map of modules
- `Matrix ** Complex` -- see Complex ** Matrix -- create the tensor product of a complex and a map of modules
- Complex == Complex -- whether two complexes are equal
- `Complex == ZZ` -- see Complex == Complex -- whether two complexes are equal
- `ZZ == Complex` -- see Complex == Complex -- whether two complexes are equal
- `Complex ^ Array` -- see Complex _ Array -- the canonical inclusion or projection map of a direct sum
- Complex _ Array -- the canonical inclusion or projection map of a direct sum
- `Complex ^ ZZ` -- see Complex _ ZZ -- access individual object in a complex
- Complex _ ZZ -- access individual object in a complex
- Complex Array -- shift a complex or complex map
- `Complex ** ComplexMap` -- see ComplexMap ** ComplexMap -- the map of complexes between tensor complexes
- `ComplexMap ** Complex` -- see ComplexMap ** ComplexMap -- the map of complexes between tensor complexes
- components(Complex) -- list the components of a direct sum
- `concentration(Complex)` -- see concentration -- indices on which a complex may be non-zero
- `max(Complex)` -- see concentration -- indices on which a complex may be non-zero
- `min(Complex)` -- see concentration -- indices on which a complex may be non-zero
- constantStrand(Complex,List) (missing documentation)
- constantStrand(Complex,ZZ) (missing documentation)
- `Symbol ^ Complex` -- see differential of a chain complex -- get the maps between the terms in a complex
- directSum(Complex) -- direct sum of complexes
- epicResolutionMap(Complex) (missing documentation)
- `extend(Complex,Complex,Matrix)` -- see extend(Complex,Complex,Matrix,Sequence) -- extend a map of modules to a map of chain complexes
- extend(Complex,Complex,Matrix,Sequence) -- extend a map of modules to a map of chain complexes
- formation(Complex) (missing documentation)
- freeResolution(Complex) -- minimal free resolution of a complex
- `HH^ZZ Complex` -- see HH_ZZ Complex -- homology or cohomology module of a complex
- HH_ZZ Complex -- homology or cohomology module of a complex
- `Hom(Complex,ComplexMap)` -- see Hom(ComplexMap,ComplexMap) -- the map of complexes between Hom complexes
- `Hom(Complex,Matrix)` -- see Hom(ComplexMap,ComplexMap) -- the map of complexes between Hom complexes
- `Hom(ComplexMap,Complex)` -- see Hom(ComplexMap,ComplexMap) -- the map of complexes between Hom complexes
- `Hom(Matrix,Complex)` -- see Hom(ComplexMap,ComplexMap) -- the map of complexes between Hom complexes
- homomorphism(ZZ,Matrix,Complex) -- get the homomorphism from an element of Hom
- horseshoeResolution(Complex) -- make the horseshoe resolution
- inducedMap(Complex,Complex) -- make the map of complexes induced at each term by the identity map
- `isExact(Complex)` -- see isExact(Complex,Number,Number) -- whether a complex is exact
- `isExact(Complex,InfiniteNumber,InfiniteNumber)` -- see isExact(Complex,Number,Number) -- whether a complex is exact
- `isExact(Complex,InfiniteNumber,Number)` -- see isExact(Complex,Number,Number) -- whether a complex is exact
- `isExact(Complex,Number,InfiniteNumber)` -- see isExact(Complex,Number,Number) -- whether a complex is exact
- isExact(Complex,Number,Number) -- whether a complex is exact
- isFree(Complex) -- whether a complex consists of free modules
- isHomogeneous(Complex) -- whether a complex is homogeneous
- isShortExactSequence(Complex) -- whether a chain complex is a short exact sequence
- isWellDefined(Complex) -- whether a complex is well-defined
- length(Complex) -- length of a complex
- map(Complex,Complex,ComplexMap) -- make a new map of chain complexes from an existing one
- map(Complex,Complex,Function) -- make a map of chain complexes
- map(Complex,Complex,HashTable) -- make a map of chain complexes
- map(Complex,Complex,List) -- make a map of chain complexes
- map(Complex,Complex,ZZ) -- make the zero map or identity between chain complexes
- mathML(Complex) (missing documentation)
- minimize(Complex) -- a quasi-isomorphic complex whose terms have minimal rank
- poincare(Complex) -- assemble degrees of a chain complex into a polynomial
- poincareN(Complex) -- assemble degrees of a chain complex into a polynomial
- randomComplexMap(Complex,Complex) -- a random map of chain complexes
- rank(Complex) (missing documentation)
- regularity(Complex) -- compute the Castelnuovo-Mumford regularity
- `resolutionMap(Complex)` -- see resolutionMap -- map from a free resolution to the given complex
- ring(Complex) -- access the ring of a complex or a complex map
- status(Complex) (missing documentation)
- sum(Complex) -- make the direct sum of all terms
- tensorAssociativity(Complex,Complex,Complex) -- make the canonical isomorphism arising from associativity
- tensorCommutativity(Complex,Complex) -- make the canonical isomorphism arising from commutativity
- yonedaExtension'(Complex) -- identifies the element of Ext corresponding to an extension

## For the programmer

The object Complex is a type, with ancestor classes MutableHashTable < HashTable < Thing.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Complexes/ChainComplexDoc.m2:245:0.