ChainComplex

ChainComplex -- the class of all chain complexes.

If C is a chain complex, then C_i will produce the i-th module in the complex, and C.dd_i will produce the differential whose source is C_i.

A new chain complex can be made with C = new ChainComplex. This will automatically initialize C.dd, in which the differentials are stored. The modules can be installed with statements like C#i=M and the differentials can be installed with statements like C.dd#i=d.

See also ChainComplexMap for a discussion of maps between chain complexes. (The boundary map C.dd is regarded as one.)

Here are some functions for producing or manipulating chain complexes.

  • Module Array -- create a chain complex from a module
  • ChainComplex ++ ChainComplex -- direct sum
  • ChainComplex ** ChainComplex -- tensor product
  • ChainComplex ** GradedModule -- tensor product
  • GradedModule ** ChainComplex -- tensor product
  • dd -- obtain the differentials.
  • ChainComplex Array -- shift a chain complex
  • betti -- display degrees in a free resolution
  • chainComplex -- make a chain complex
  • complete -- complete the internal parts of a chain complex
  • dual -- dual complex
  • Hom(ChainComplex,Module) -- Hom
  • length -- length of a chain complex
  • max ChainComplex -- maximum index in a chain complex
  • min ChainComplex -- minimum index in a chain complex
  • poincare -- assemble degrees into polynomial
  • poincareN
  • new ChainComplex -- make a new chain complex from scratch
  • nullhomotopy -- produce a null homotopy
  • regularity -- compute the regularity
  • resolution -- make a projective resolution
  • status -- display the status of a resolution computation
  • syzygyScheme -- construct the syzygy scheme from some syzygies
  • tensorAssociativity -- associativity isomorphisms for tensor products
  • The default display for a chain complex shows the modules and the stage at which they appear.

    i1 : R = ZZ/101[x,y,z]

    o1 = R

    o1 : PolynomialRing
    i2 : C = resolution cokernel matrix {{x,y,z}}

          1      3      3      1
    o2 = R  <-- R  <-- R  <-- R
                              
         0      1      2      3

    o2 : ChainComplex

    In order to see the matrices of the differentials, examine 'C.dd'.

    i3 : C.dd

                        1
    o3 = -1 : 0 <----- R  : 0
                   0
         
              1                     3
         0 : R  <----------------- R  : 1
                   {0} | x y z |
         
              3                        3
         1 : R  <-------------------- R  : 2
                   {1} | -y -z 0  |
                   {1} | x  0  -z |
                   {1} | 0  x  y  |
         
              3                  1
         2 : R  <-------------- R  : 3
                   {2} | z  |
                   {2} | -y |
                   {2} | x  |

    o3 : ChainComplexMap

    See also Resolution and dd.


    topindexpreviousupnext