next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Complexes :: Complexes

Complexes -- development package for beta testing new version of chain complexes

Description

This package develops new data types and routines for homological algebra. Eventually, it will replace the current facilities for homological algebra. We are making this available in order to get feedback from users before making this change. Please email the authors with any and all comments or suggestions.

The major change is replacing the ChainComplex data type with Complex. The internal structure of this new data type is somewhat different, but more importantly, it has a richer set of constructors. Use the functions complex(ChainComplex), complex(ChainComplexMap), chainComplex(Complex), chainComplex(ComplexMap), to translate between these representations.

The overarching goal is to make all of the homological algebra routines functorial. For instance, we have canonical maps associated to kernels, cokernels, images, coimages, cones, and cylinders.

See also

Authors

Version

This documentation describes version 0.9 of Complexes.

Source code

The source code from which this documentation is derived is in the file Complexes.m2.

Exports

  • Types
    • Complex -- the class of all chain complexes
    • ComplexMap -- the class of all maps between chain complexes
  • Functions and commands
    • augmentationMap (missing documentation)
    • canonicalMap -- gets the natural map arising from various constructions
    • canonicalTruncation, see canonicalTruncation(Complex,ZZ,ZZ) -- reducing the number of non-zero terms of a complex
    • complex -- make a chain complex
    • concentration -- indices on which a complex may be non-zero
    • connectingMap (missing documentation)
    • cylinder -- make the mapping cylinder of a morphism of chain complexes
    • freeResolution -- compute a free resolution of a module or ideal
    • horseshoeResolution (missing documentation)
    • isComplexMorphism, see isComplexMorphism(ComplexMap) -- whether a complex map is a morphism of complexes
    • isExact -- whether a complex is exact
    • isFree, see isFree(Complex) -- whether a complex consists of free modules
    • isNullHomotopic (missing documentation)
    • isNullHomotopyOf (missing documentation)
    • isQuasiIsomorphism (missing documentation)
    • isShortExactSequence (missing documentation)
    • liftMapAlongQuasiIsomorphism (missing documentation)
    • minimize, see minimize(Complex) -- a quasi-isomorphic complex whose terms have minimal rank
    • naiveTruncation, see naiveTruncation(Complex,ZZ,ZZ) -- drops all terms of a complex outside a given interval
    • nullHomotopy (missing documentation)
    • randomComplexMap (missing documentation)
    • resolutionMap -- map from a free resolution to the given complex
    • yonedaExtension (missing documentation)
    • yonedaExtension' (missing documentation)
    • yonedaMap (missing documentation)
    • yonedaMap' (missing documentation)
    • yonedaProduct (missing documentation)
  • Methods
    • - ComplexMap (missing documentation)
    • augmentationMap(Complex) (missing documentation)
    • betti(Complex) -- display of degrees in a complex
    • canonicalMap(Complex,Complex), see canonicalMap -- gets the natural map arising from various constructions
    • canonicalTruncation(Complex,InfiniteNumber,InfiniteNumber) (missing documentation)
    • 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
    • canonicalTruncation(ComplexMap,Sequence) (missing documentation)
    • chainComplex(Complex) -- translate between data types for chain complexes
    • chainComplex(ComplexMap) -- translate between data types for chain complexes
    • 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 ** ComplexMap (missing documentation)
    • Complex ** Ring (missing documentation)
    • 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
    • ComplexMap Array, see Complex Array -- shift a complex or complex map
    • complex(Complex) -- make a complex by reindexing the terms of the complex
    • complex(ComplexMap) (missing documentation)
    • ComplexMap * ComplexMap -- composition of homomorphisms of complexes
    • Number * ComplexMap, see ComplexMap * ComplexMap -- composition of homomorphisms of complexes
    • RingElement * ComplexMap, see ComplexMap * ComplexMap -- composition of homomorphisms of complexes
    • ComplexMap ** Complex (missing documentation)
    • ComplexMap ** ComplexMap (missing documentation)
    • ComplexMap ** Module (missing documentation)
    • ComplexMap ** Ring (missing documentation)
    • ComplexMap + ComplexMap (missing documentation)
    • ComplexMap + Number (missing documentation)
    • ComplexMap + RingElement (missing documentation)
    • ComplexMap ++ ComplexMap (missing documentation)
    • ComplexMap - ComplexMap (missing documentation)
    • ComplexMap - Number (missing documentation)
    • ComplexMap - RingElement (missing documentation)
    • ComplexMap == ComplexMap -- whether two complex maps are equal
    • ComplexMap == ZZ, see ComplexMap == ComplexMap -- whether two complex maps are equal
    • ZZ == ComplexMap, see ComplexMap == ComplexMap -- whether two complex maps are equal
    • ComplexMap ^ Array (missing documentation)
    • ComplexMap ^ ZZ (missing documentation)
    • ComplexMap _ Array (missing documentation)
    • ComplexMap _ ZZ (missing documentation)
    • ComplexMap | ComplexMap (missing documentation)
    • ComplexMap || ComplexMap (missing documentation)
    • components(Complex) -- list the components of a direct sum
    • components(ComplexMap) (missing documentation)
    • concentration(Complex), see concentration -- indices on which a complex may be non-zero
    • concentration(ComplexMap) (missing documentation)
    • cone(ComplexMap) -- make the mapping cone of a morphism of chain complexes
    • connectingMap(ComplexMap,ComplexMap) (missing documentation)
    • cylinder(ComplexMap), see cylinder -- make the mapping cylinder of a morphism of chain complexes
    • degree(ComplexMap) (missing documentation)
    • Symbol ^ Complex, see differential of a chain complex -- get the maps between the terms in a complex
    • Complex ++ Complex, see directSum(Complex) -- direct sum of complexes
    • directSum(Complex) -- direct sum of complexes
    • directSum(ComplexMap) (missing documentation)
    • dual(Complex) -- make the dual of a complex
    • dual(ComplexMap) (missing documentation)
    • extend(Complex,Complex,Matrix) (missing documentation)
    • extend(Complex,Complex,Matrix,ZZ) (missing documentation)
    • gradedModule(Complex) -- a new complex in which the differential is zero
    • HH Complex -- homology of a complex
    • HH ComplexMap (missing documentation)
    • HH^ZZ ComplexMap (missing documentation)
    • HH^ZZ Complex, see HH_ZZ Complex -- homology or cohomology module of a complex
    • HH_ZZ Complex -- homology or cohomology module of a complex
    • HH_ZZ ComplexMap (missing documentation)
    • 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(Module,Complex), see Hom(Complex,Complex) -- the complex of homomorphisms between two complexes
    • Hom(Complex,ComplexMap) (missing documentation)
    • Hom(Complex,Matrix) (missing documentation)
    • Hom(Complex,Ring) (missing documentation)
    • Hom(ComplexMap,Complex) (missing documentation)
    • Hom(ComplexMap,ComplexMap) (missing documentation)
    • Hom(ComplexMap,Matrix) (missing documentation)
    • Hom(ComplexMap,Module) (missing documentation)
    • Hom(ComplexMap,Ring) (missing documentation)
    • Hom(Matrix,Complex) (missing documentation)
    • Hom(Matrix,ComplexMap) (missing documentation)
    • Hom(Module,ComplexMap) (missing documentation)
    • Hom(Ring,Complex) (missing documentation)
    • Hom(Ring,ComplexMap) (missing documentation)
    • homomorphism'(ComplexMap) (missing documentation)
    • homomorphism(ComplexMap) (missing documentation)
    • homomorphism(ZZ,Matrix,Complex) (missing documentation)
    • horseshoeResolution(Complex) (missing documentation)
    • id _ Complex -- the identity map of a chain complex
    • image(ComplexMap) -- make the image of a map of complexes
    • inducedMap(Complex,Complex) (missing documentation)
    • isCommutative(ComplexMap) -- whether a complex map commutes with the differentials
    • isComplexMorphism(ComplexMap) -- whether a complex map is a morphism of complexes
    • isDirectSum(Complex) (missing documentation)
    • isExact(Complex), see isExact -- whether a complex is exact
    • isExact(Complex,InfiniteNumber,InfiniteNumber), see isExact -- whether a complex is exact
    • isExact(Complex,InfiniteNumber,Number), see isExact -- whether a complex is exact
    • isExact(Complex,Number,InfiniteNumber), see isExact -- whether a complex is exact
    • isExact(Complex,Number,Number), see isExact -- whether a complex is exact
    • isFree(Complex) -- whether a complex consists of free modules
    • isHomogeneous(Complex) -- whether a complex is homogeneous
    • isHomogeneous(ComplexMap) (missing documentation)
    • isNullHomotopic(ComplexMap) (missing documentation)
    • isNullHomotopyOf(ComplexMap,ComplexMap) (missing documentation)
    • isQuasiIsomorphism(ComplexMap) (missing documentation)
    • isShortExactSequence(ComplexMap,ComplexMap) (missing documentation)
    • isWellDefined(Complex) -- whether a complex is well-defined
    • isWellDefined(ComplexMap) -- whether a map of chain complexes is well-defined
    • kernel(ComplexMap) -- make the kernel of a map of complexes
    • length(Complex) -- length of a complex
    • liftMapAlongQuasiIsomorphism(ComplexMap,ComplexMap) (missing documentation)
    • 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) (missing documentation)
    • map(Complex,Complex,ZZ) -- make the zero map or identity between chain complexes
    • max(Complex) (missing documentation)
    • min(Complex) (missing documentation)
    • minimalPresentation(Complex) -- minimal presentation of all terms in a complex
    • prune(Complex), see minimalPresentation(Complex) -- minimal presentation of all terms in a complex
    • minimalPresentation(ComplexMap) (missing documentation)
    • minimize(Complex) -- a quasi-isomorphic complex whose terms have minimal rank
    • Module ** ComplexMap (missing documentation)
    • 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
    • naiveTruncation(ComplexMap,Sequence) (missing documentation)
    • naiveTruncation(ComplexMap,Sequence,Sequence) (missing documentation)
    • nullHomotopy(ComplexMap) (missing documentation)
    • nullHomotopy(ComplexMap,Thing) (missing documentation)
    • Number + ComplexMap (missing documentation)
    • Number - ComplexMap (missing documentation)
    • part(List,Complex) -- extract a graded component of a complex
    • part(ZZ,Complex), see part(List,Complex) -- extract a graded component of a complex
    • part(List,ComplexMap) (missing documentation)
    • part(ZZ,ComplexMap) (missing documentation)
    • poincare(Complex) (missing documentation)
    • poincareN(Complex) (missing documentation)
    • prune(ComplexMap) (missing documentation)
    • randomComplexMap(Complex,Complex) (missing documentation)
    • regularity(Complex) (missing documentation)
    • resolution(Complex) -- minimal free resolution of a complex
    • 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
    • ring(ComplexMap), see ring(Complex) -- access the ring of a complex or a complex map
    • RingElement + ComplexMap (missing documentation)
    • RingElement - ComplexMap (missing documentation)
    • RingMap ** Complex -- tensor a complex along a ring map
    • tensor(RingMap,Complex), see RingMap ** Complex -- tensor a complex along a ring map
    • RingMap ** ComplexMap -- tensor a map of complexes along a ring map
    • tensor(RingMap,ComplexMap), see RingMap ** ComplexMap -- tensor a map of complexes along a ring map
    • RingMap Complex -- apply a ring map
    • RingMap ComplexMap -- apply a ring map to a map of complexes
    • source(ComplexMap) -- get the source of a map of chain complexes
    • sum(Complex) (missing documentation)
    • sum(ComplexMap) (missing documentation)
    • Symbol _ Complex (missing documentation)
    • target(ComplexMap) -- get the target of a map of chain complexes
    • tensor(ComplexMap,ComplexMap) (missing documentation)
    • tensorAssociativity(Complex,Complex,Complex) (missing documentation)
    • yonedaExtension'(Complex) (missing documentation)
    • yonedaMap'(ComplexMap) (missing documentation)
  • Symbols
    • Boundary (missing documentation)
    • Base, see complex -- make a chain complex
    • Concentration (missing documentation)
    • Cycle (missing documentation)
    • homotopic (missing documentation)
    • homotopy (missing documentation)
    • HomWithComponents (missing documentation)
    • InternalDegree (missing documentation)
    • minimizingMap (missing documentation)
    • ResolutionMap (missing documentation)
    • UseTarget (missing documentation)