  
  [1X13 Bicomplexes[0X
  
  Each  bicomplex  in  [5Xhomalg[0m  has  an  underlying  complex  of complexes. The
  bicomplex  structure  is  simply  the addition of the known sign trick which
  induces  the obvious equivalence between the category of bicomplexes and the
  category of complexes with complexes as objects and chain maps as morphisms.
  The majority of filtered complexes in algebra and geometry (unlike topology)
  arise as the total complex of a bicomplex. Hence, most spectral sequences in
  algebra are spectral sequences of bicomplexes. Indeed, bicomplexes in [5Xhomalg[0m
  are mainly used as an input for the spectral sequence machinery.
  
  
  [1X13.1 Bicomplexes: Category and Representations[0X
  
  [1X13.1-1 IsHomalgBicomplex[0m
  
  [2X> IsHomalgBicomplex( [0X[3XBC[0X[2X ) __________________________________________[0XCategory
  [6XReturns:[0X  [10Xtrue[0m or [10Xfalse[0m
  
  The [5XGAP[0m category of [5Xhomalg[0m bi(co)complexes.
  
  (It is a subcategory of the [5XGAP[0m category [10XIsHomalgObject[0m.)
  
  [1X13.1-2 IsBicomplexOfFinitelyPresentedObjectsRep[0m
  
  [2X> IsBicomplexOfFinitelyPresentedObjectsRep( [0X[3XBC[0X[2X ) _____________[0XRepresentation
  [6XReturns:[0X  [10Xtrue[0m or [10Xfalse[0m
  
  The  [5XGAP[0m representation of bicomplexes (homological bicomplexes) of finitley
  generated [5Xhomalg[0m objects.
  
  (It  is  a  representation  of  the [5XGAP[0m category [2XIsHomalgBicomplex[0m ([14X13.1-1[0m),
  which     is    a    subrepresentation    of    the    [5XGAP[0m    representation
  [10XIsFinitelyPresentedObjectRep[0m.)
  
  [1X13.1-3 IsBicocomplexOfFinitelyPresentedObjectsRep[0m
  
  [2X> IsBicocomplexOfFinitelyPresentedObjectsRep( [0X[3XBC[0X[2X ) ___________[0XRepresentation
  [6XReturns:[0X  [10Xtrue[0m or [10Xfalse[0m
  
  The  [5XGAP[0m  representation  of  bicocomplexes  (cohomological  bicomplexes) of
  finitley generated [5Xhomalg[0m objects.
  
  (It  is  a  representation  of  the [5XGAP[0m category [2XIsHomalgBicomplex[0m ([14X13.1-1[0m),
  which     is    a    subrepresentation    of    the    [5XGAP[0m    representation
  [10XIsFinitelyPresentedObjectRep[0m.)
  
  
  [1X13.2 Bicomplexes: Constructors[0X
  
  [1X13.2-1 HomalgBicomplex[0m
  
  [2X> HomalgBicomplex( [0X[3XC[0X[2X ) _____________________________________________[0Xfunction
  [6XReturns:[0X  a [5Xhomalg[0m bicomplex
  
  This  constructor creates a bicomplex (homological bicomplex) given a [5Xhomalg[0m
  complex  of  (co)complexes  [3XC[0m  (--> [2XHomalgComplex[0m ([14X11.2-1[0m)), resp. creates a
  bicocomplex   (cohomological   bicomplex)   given   a  [5Xhomalg[0m  cocomplex  of
  (co)complexes [3XC[0m (--> [2XHomalgCocomplex[0m ([14X11.2-2[0m)). Using the usual sign-trick a
  complex of complexes gives rise to a bicomplex and vice versa.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> ZZ := HomalgRingOfIntegers( );;[0X
    [4Xgap> M := HomalgMatrix( "[ 2, 3, 4,   5, 6, 7 ]", 2, 3, ZZ );[0X
    [4X<A homalg internal 2 by 3 matrix>[0X
    [4Xgap> M := LeftPresentation( M );[0X
    [4X<A non-torsion left module presented by 2 relations for 3 generators>[0X
    [4Xgap> d := Resolution( M );[0X
    [4X<A non-zero right acyclic complex containing a single morphism of left modules\[0X
    [4X at degrees [ 0 .. 1 ]>[0X
    [4Xgap> dd := Hom( d );[0X
    [4X<An acyclic cocomplex containing a single morphism of right modules at degrees\[0X
    [4X [ 0 .. 1 ]>[0X
    [4X<A non-zero acyclic cocomplex containing a single morphism of right modules at\[0X
    [4X degrees [ 0 .. 1 ]>[0X
    [4Xgap> C := Resolution( dd );[0X
    [4X<An acyclic cocomplex containing a single morphism of right complexes at degre\[0X
    [4Xes [ 0 .. 1 ]>[0X
    [4Xgap> CC := Hom( C );[0X
    [4X<An acyclic complex containing a single morphism of left cocomplexes at degree\[0X
    [4Xs [ 0 .. 1 ]>[0X
    [4Xgap> BC := HomalgBicomplex( CC );[0X
    [4X<A bicomplex containing left modules at bidegrees [ 0 .. 1 ]x[ -1 .. 0 ]>[0X
    [4Xgap> Display( BC );[0X
    [4X * *[0X
    [4X * *[0X
    [4Xgap> UU := UnderlyingComplex( BC );[0X
    [4X<An acyclic complex containing a single morphism of left cocomplexes at degree\[0X
    [4Xs [ 0 .. 1 ]>[0X
    [4Xgap> IsIdenticalObj( UU, CC );[0X
    [4Xtrue[0X
    [4Xgap> tBC := TransposedBicomplex( BC );[0X
    [4X<A bicomplex containing left modules at bidegrees [ -1 .. 0 ]x[ 0 .. 1 ]>[0X
    [4Xgap> Display( tBC );[0X
    [4X * *[0X
    [4X * *[0X
  [4X------------------------------------------------------------------[0X
  
  
  [1X13.3 Bicomplexes: Properties[0X
  
  [1X13.3-1 IsBisequence[0m
  
  [2X> IsBisequence( [0X[3XBC[0X[2X ) _______________________________________________[0Xproperty
  [6XReturns:[0X  [10Xtrue[0m or [10Xfalse[0m
  
  Check if all maps in [3XBC[0m are well-defined.
  
  [1X13.3-2 IsBicomplex[0m
  
  [2X> IsBicomplex( [0X[3XBC[0X[2X ) ________________________________________________[0Xproperty
  [6XReturns:[0X  [10Xtrue[0m or [10Xfalse[0m
  
  Check if [3XBC[0m is bicomplex.
  
  [1X13.3-3 IsTransposedWRTTheAssociatedComplex[0m
  
  [2X> IsTransposedWRTTheAssociatedComplex( [0X[3XBC[0X[2X ) ________________________[0Xproperty
  [6XReturns:[0X  [10Xtrue[0m or [10Xfalse[0m
  
  Check  if  [3XBC[0m  is  transposed  with  respect  to  the  associated complex of
  complexes.
  (no method installed).
  
  
  [1X13.4 Bicomplexes: Attributes[0X
  
  [1X13.4-1 TotalComplex[0m
  
  [2X> TotalComplex( [0X[3XBC[0X[2X ) ______________________________________________[0Xattribute
  [6XReturns:[0X  a [5Xhomalg[0m (co)complex
  
  The associated total complex.
  
  [1X13.4-2 SpectralSequence[0m
  
  [2X> SpectralSequence( [0X[3XBC[0X[2X ) __________________________________________[0Xattribute
  [6XReturns:[0X  a [5Xhomalg[0m (co)homological spectral sequence
  
  The associated spectral sequence.
  
  
  [1X13.5 Bicomplexes: Operations and Functions[0X
  
  [1X13.5-1 UnderlyingComplex[0m
  
  [2X> UnderlyingComplex( [0X[3XBC[0X[2X ) __________________________________________[0Xfunction
  [6XReturns:[0X  a [5Xhomalg[0m complex
  
  The  (co)complex  of  (co)complexes underlying the (co)homological bicomplex
  [3XBC[0m.
  
  [1X13.5-2 ByASmallerPresentation[0m
  
  [2X> ByASmallerPresentation( [0X[3XB[0X[2X ) ________________________________________[0Xmethod
  [6XReturns:[0X  a [5Xhomalg[0m bicomplex
  
  See [2XByASmallerPresentation[0m ([14X11.5-2[0m) on complexes.
  
  [4X-----------------------------  Code  -----------------------------[0X
    [4XInstallMethod( ByASmallerPresentation,[0X
    [4X        "for homalg bicomplexes",[0X
    [4X        [ IsHomalgBicomplex ],[0X
    [4X        [0X
    [4X  function( B )[0X
    [4X    [0X
    [4X    ByASmallerPresentation( UnderlyingComplex( B ) );[0X
    [4X    [0X
    [4X    IsZero( B );[0X
    [4X    [0X
    [4X    return B;[0X
    [4X    [0X
    [4Xend );[0X
  [4X------------------------------------------------------------------[0X
  
  This method performs side effects on its argument [3XB[0m and returns it.
  
