shh.homolalg
Interface ExactCategoryMorphism

All Superinterfaces:
Morphism
All Known Implementing Classes:
QvspMorphism

public interface ExactCategoryMorphism
extends Morphism

An exact category is a category where every morphism f has a kernel morphism and a cokernel morphism, and furthermore has the following canonical factorization.


             coker f                  f                ker f
   C <<--------------------- T <------------ S <-------------------' K
     `-------------------->  ^ |           ^ |  ------------------>>
         coker-section f     | |           | |   ker-retraction f
                             | |           | |
                             | |           | |
                             | |           | |
                       im f  | |           | | coim f
                             | v           | v
                             u v           u v
                              I <----~----- I'

   with injections `----> [or u at the bottom of a vertical arrow]
   surjections ---->> [or two v's at the bottom of a vertical arrow]
   and one isomorphism --~-->

An image morphism is a kernel morphism of a cokernel morphism. Dually, a coimage is a cokernel of a kernel. The main point of the diagram is that the bottom arrow is an isomorphism. The other four arrows-- ker-retraction, coker-section, and the two unlabelled vertical arrows--are appropriate one-sided inverses for the arrows they're next to. As an example, the category of finite-dimensional vector spaces over a field is an exact category.

These ideas lie at the core of Sheafhom. For instance, see the implementation of cohomology (CochainCx.H(int)). A reference is Section I.1 of Birger Iversen, Cohomology of Sheaves (Universitext), Springer-Verlag, Berlin, 1986.

Methods like getKernel() and getImage() are required to return the same objects K, C, I, or I' (up to equals) every time.

Author:
Mark McConnell

Method Summary
 ExactCategoryMorphism getCoimage()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getCoimSection()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getCoimToIm()
          The bottom arrow (the isomorphism) in the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getCokernel()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getCokerSection()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getImage()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getImRetraction()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getKernel()
          See the comment on ExactCategoryMorphism.
 ExactCategoryMorphism getKerRetraction()
          See the comment on ExactCategoryMorphism.
 boolean isCompositionZero(ExactCategoryMorphism f)
          Whether the composition of this and f (see the diagram for Morphism.compose(shh.homolalg.Morphism)) is a zero morphism.
 boolean isZero()
          Whether this is a zero morphism.
 
Methods inherited from interface Morphism
compose, getInverse, getSource, getTarget, isEpic, isIsomorphism, isMonic
 

Method Detail

isZero

public boolean isZero()
Whether this is a zero morphism.


isCompositionZero

public boolean isCompositionZero(ExactCategoryMorphism f)
Whether the composition of this and f (see the diagram for Morphism.compose(shh.homolalg.Morphism)) is a zero morphism. Is expected to be more efficient than just computing the composition and calling isZero() on it.


getKernel

public ExactCategoryMorphism getKernel()
See the comment on ExactCategoryMorphism.


getKerRetraction

public ExactCategoryMorphism getKerRetraction()
See the comment on ExactCategoryMorphism.


getCoimage

public ExactCategoryMorphism getCoimage()
See the comment on ExactCategoryMorphism.


getCoimSection

public ExactCategoryMorphism getCoimSection()
See the comment on ExactCategoryMorphism.


getCokernel

public ExactCategoryMorphism getCokernel()
See the comment on ExactCategoryMorphism.


getCokerSection

public ExactCategoryMorphism getCokerSection()
See the comment on ExactCategoryMorphism.


getImage

public ExactCategoryMorphism getImage()
See the comment on ExactCategoryMorphism.


getImRetraction

public ExactCategoryMorphism getImRetraction()
See the comment on ExactCategoryMorphism.


getCoimToIm

public ExactCategoryMorphism getCoimToIm()
The bottom arrow (the isomorphism) in the comment on ExactCategoryMorphism.