Goto Chapter: Top 1 2 3 Bib Ind
Top of Book Previous Chapter Next Chapter

3 Examples
3.1 Spectral Filtrations
3.1-1 ExtExt
3.1-2 Purity
3.1-3 A3_Purity
3.1-4 TorExt-Grothendieck
3.1-5 TorExt
3.1-6 CodegreeOfPurity
3.1-7 HomHom
3.2 Betti Diagrams
3.2-1 Schenck-3.2
3.2-2 Schenck-8.3
3.2-3 Schenck-8.3.3
3.3 Commutative Algebra
3.3-1 Saturate

### 3 Examples

#### 3.1 Spectral Filtrations

##### 3.1-1 ExtExt

This is Example B.2 in [Bar].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> wmat := HomalgMatrix( "[ \
    > x*y,  y*z,    z,        0,         0,    \
    > x^3*z,x^2*z^2,0,        x*z^2,     -z^2, \
    > x^4,  x^3*z,  0,        x^2*z,     -x*z, \
    > 0,    0,      x*y,      -y^2,      x^2-1,\
    > 0,    0,      x^2*z,    -x*y*z,    y*z,  \
    > 0,    0,      x^2*y-x^2,-x*y^2+x*y,y^2-y \
    > ]", 6, 5, Qxyz );
    <A homalg external 6 by 5 matrix>
    gap> W := LeftPresentation( wmat );
    <A left module presented by 6 relations for 5 generators>
    gap> Y := Hom( Qxyz, W );
    <A right module on 5 generators satisfying yet unknown relations>
    gap> F := InsertObjectInMultiFunctor( Functor_Hom, 2, Y, "TensorY" );
    <The functor TensorY>
    gap> G := LeftDualizingFunctor( Qxyz );;
    gap> II_E := GrothendieckSpectralSequence( F, G, W );
    <A stable homological spectral sequence with sheets at levels
    [ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 3 ]>
    gap> Display( II_E );
    The associated transposed spectral sequence:

    a homological spectral sequence at bidegrees
    [ [ 0 .. 3 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     . . . .
     . . . .
     . . . .
    ---------
    Level 2:

     s s s s
     . . . .
     . . . .
     . . . .

    Now the spectral sequence of the bicomplex:

    a homological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 3 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     * * * *
     . * * *
     . . . *
    ---------
    Level 2:

     * * s s
     * * * *
     . * * *
     . . . *
    ---------
    Level 3:

     * s s s
     * s s s
     . . s *
     . . . *
    ---------
    Level 4:

     s s s s
     . s s s
     . . s s
     . . . s
    gap> filt := FiltrationBySpectralSequence( II_E, 0 );
    <An ascending filtration with degrees [ -3 .. 0 ] and graded parts:
       0:	<A non-zero left module presented by 33 relations for 23 generators>
      -1:	<A non-zero left module presented by 37 relations for 22 generators>
      -2:	<A non-zero left module presented by 20 relations for 8 generators>
      -3:	<A non-zero left module presented by 29 relations for 4 generators>
    of
    <A non-zero left module presented by 111 relations for 37 generators>>
    gap> ByASmallerPresentation( filt );
    <An ascending filtration with degrees [ -3 .. 0 ] and graded parts:
       0:	<A non-zero left module presented by 25 relations for 16 generators>
      -1:	<A non-zero left module presented by 30 relations for 14 generators>
      -2:	<A non-zero left module presented by 18 relations for 7 generators>
      -3:	<A non-zero left module presented by 12 relations for 4 generators>
    of
    <A non-zero left module presented by 48 relations for 20 generators>>
    gap> m := IsomorphismOfFiltration( filt );
    <An isomorphism of left modules>

##### 3.1-2 Purity

This is Example B.3 in [Bar].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> wmat := HomalgMatrix( "[ \
    > x*y,  y*z,    z,        0,         0,    \
    > x^3*z,x^2*z^2,0,        x*z^2,     -z^2, \
    > x^4,  x^3*z,  0,        x^2*z,     -x*z, \
    > 0,    0,      x*y,      -y^2,      x^2-1,\
    > 0,    0,      x^2*z,    -x*y*z,    y*z,  \
    > 0,    0,      x^2*y-x^2,-x*y^2+x*y,y^2-y \
    > ]", 6, 5, Qxyz );
    <A homalg external 6 by 5 matrix>
    gap> W := LeftPresentation( wmat );
    <A left module presented by 6 relations for 5 generators>
    gap> filt := PurityFiltration( W );
    <The ascending purity filtration with degrees [ -3 .. 0 ] and graded parts:
       0:	<A codegree-[ 1, 1 ]-pure rank 2 left module presented by
    3 relations for 4 generators>
      -1:	<A codegree-1-pure codim 1 left module presented by 4 relations for
    3 generators>
      -2:	<A cyclic reflexively pure codim 2 left module presented by
    2 relations for a cyclic generator>
      -3:	<A cyclic reflexively pure codim 3 left module presented by
    3 relations for a cyclic generator>
    of
    <A non-pure rank 2 left module presented by 6 relations for 5 generators>>
    gap> W;
    <A non-pure rank 2 left module presented by 6 relations for 5 generators>
    gap> II_E := SpectralSequence( filt );
    <A stable homological spectral sequence with sheets at levels
    [ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 3 ]>
    gap> Display( II_E );
    The associated transposed spectral sequence:

    a homological spectral sequence at bidegrees
    [ [ 0 .. 3 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     . . . .
     . . . .
     . . . .
    ---------
    Level 2:

     s . . .
     . . . .
     . . . .
     . . . .

    Now the spectral sequence of the bicomplex:

    a homological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 3 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     * * * *
     . * * *
     . . . *
    ---------
    Level 2:

     s . . .
     * s . .
     . * * .
     . . . *
    ---------
    Level 3:

     s . . .
     * s . .
     . . s .
     . . . *
    ---------
    Level 4:

     s . . .
     . s . .
     . . s .
     . . . s

    gap> m := IsomorphismOfFiltration( filt );
    <An isomorphism of left modules>
    gap> IsIdenticalObj( Range( m ), W );
    true
    gap> Source( m );
    <A left module presented by 12 relations for 9 generators (locked)>
     gap> Display( last );
     0,  0,   x, -y,0,1, 0,    0,  0,
     x*y,-y*z,-z,0, 0,0, 0,    0,  0,
     x^2,-x*z,0, -z,1,0, 0,    0,  0,
     0,  0,   0, 0, y,-z,0,    0,  0,
     0,  0,   0, 0, x,0, -z,   0,  1,
     0,  0,   0, 0, 0,x, -y,   -1, 0,
     0,  0,   0, 0, 0,-y,x^2-1,0,  0,
     0,  0,   0, 0, 0,0, 0,    z,  0,
     0,  0,   0, 0, 0,0, 0,    y-1,0,
     0,  0,   0, 0, 0,0, 0,    0,  z,
     0,  0,   0, 0, 0,0, 0,    0,  y,
     0,  0,   0, 0, 0,0, 0,    0,  x

     Cokernel of the map

     Q[x,y,z]^(1x12) --> Q[x,y,z]^(1x9),

     currently represented by the above matrix
     gap> Display( filt );
     Degree 0:

     0,  0,   x, -y,
     x*y,-y*z,-z,0,
     x^2,-x*z,0, -z

     Cokernel of the map

     Q[x,y,z]^(1x3) --> Q[x,y,z]^(1x4),

     currently represented by the above matrix
     ----------
     Degree -1:

     y,-z,0,
     x,0, -z,
     0,x, -y,
     0,-y,x^2-1

     Cokernel of the map

     Q[x,y,z]^(1x4) --> Q[x,y,z]^(1x3),

     currently represented by the above matrix
     ----------
     Degree -2:

     Q[x,y,z]/< z, y-1 >
     ----------
     Degree -3:

     Q[x,y,z]/< z, y, x >
     gap> Display( m );
     1,   0,    0,  0,   0,
     0,   -1,   0,  0,   0,
     0,   0,    -1, 0,   0,
     0,   0,    0,  -1,  0,
     -x^2,-x*z, 0,  -z,  0,
     0,   0,    x,  -y,  0,
     0,   0,    0,  0,   -1,
     0,   0,    x^2,-x*y,y,
     x^3, x^2*z,0,  x*z, -z

     the map is currently represented by the above 9 x 5 matrix

##### 3.1-3 A3_Purity

This is Example B.4 in [Bar].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> A3 := RingOfDerivations( Qxyz, "Dx,Dy,Dz" );;
    gap> nmat := HomalgMatrix( "[ \
    > 3*Dy*Dz-Dz^2+Dx+3*Dy-Dz,           3*Dy*Dz-Dz^2,     \
    > Dx*Dz+Dz^2+Dz,                     Dx*Dz+Dz^2,       \
    > Dx*Dy,                             0,                \
    > Dz^2-Dx+Dz,                        3*Dx*Dy+Dz^2,     \
    > Dx^2,                              0,                \
    > -Dz^2+Dx-Dz,                       3*Dx^2-Dz^2,      \
    > Dz^3-Dx*Dz+Dz^2,                   Dz^3,             \
    > 2*x*Dz^2-2*x*Dx+2*x*Dz+3*Dx+3*Dz+3,2*x*Dz^2+3*Dx+3*Dz\
    > ]", 8, 2, A3 );
    <A homalg external 8 by 2 matrix>
    gap> N := LeftPresentation( nmat );
    <A left module presented by 8 relations for 2 generators>
    gap> filt := PurityFiltration( N );
    <The ascending purity filtration with degrees [ -3 .. 0 ] and graded parts:
       0:	<A zero left module>
      -1:	<A cyclic reflexively pure codim 1 left module presented by
    1 relation for a cyclic generator>
      -2:	<A cyclic reflexively pure codim 2 left module presented by
    2 relations for a cyclic generator>
      -3:	<A cyclic reflexively pure codim 3 left module presented by
    3 relations for a cyclic generator>
    of
    <A non-pure codim 1 left module presented by 8 relations for 2 generators>>
    gap> II_E := SpectralSequence( filt );
    <A stable homological spectral sequence with sheets at levels
    [ 0 .. 2 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 4 ]>
    gap> Display( II_E );
    The associated transposed spectral sequence:

    a homological spectral sequence at bidegrees
    [ [ 0 .. 4 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * * * *
     . * * * *
     . . * * *
     . . . * *
    ---------
    Level 1:

     * * * * *
     . . . . .
     . . . . .
     . . . . .
    ---------
    Level 2:

     s . . . .
     . . . . .
     . . . . .
     . . . . .

    Now the spectral sequence of the bicomplex:

    a homological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 4 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
     . . . *
    ---------
    Level 1:

     . . * *
     * * * *
     . * * *
     . . * *
     . . . .
    ---------
    Level 2:

     . . . .
     s . . .
     . s . .
     . . s .
     . . . .
    gap> m := IsomorphismOfFiltration( filt );
    <An isomorphism of left modules>
    gap> IsIdenticalObj( Range( m ), N );
    true
    gap> Source( m );
    <A left module presented by 6 relations for 3 generators (locked)>
     gap> Display( last );
     Dx,-1/3,-2/9*x,
     0, Dy,  -1/3,
     0, Dx,  1,
     0, 0,   Dz,
     0, 0,   Dy,
     0, 0,   Dx

     Cokernel of the map

     R^(1x6) --> R^(1x3), ( for R := Q[x,y,z]<Dx,Dy,Dz> )

     currently represented by the above matrix
     gap> Display( filt );
     Degree 0:

     0
     ----------
     Degree -1:

     Q[x,y,z]<Dx,Dy,Dz>/< Dx >
     ----------
     Degree -2:

     Q[x,y,z]<Dx,Dy,Dz>/< Dy, Dx >
     ----------
     Degree -3:

     Q[x,y,z]<Dx,Dy,Dz>/< Dz, Dy, Dx >
     gap> Display( m );
     1,                1,
     -3*Dz-3,          -3*Dz,
     -3*Dz^2+3*Dx-3*Dz,-3*Dz^2

     the map is currently represented by the above 3 x 2 matrix

##### 3.1-4 TorExt-Grothendieck

This is Example B.5 in [Bar].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> wmat := HomalgMatrix( "[ \
    > x*y,  y*z,    z,        0,         0,    \
    > x^3*z,x^2*z^2,0,        x*z^2,     -z^2, \
    > x^4,  x^3*z,  0,        x^2*z,     -x*z, \
    > 0,    0,      x*y,      -y^2,      x^2-1,\
    > 0,    0,      x^2*z,    -x*y*z,    y*z,  \
    > 0,    0,      x^2*y-x^2,-x*y^2+x*y,y^2-y \
    > ]", 6, 5, Qxyz );
    <A homalg external 6 by 5 matrix>
    gap> W := LeftPresentation( wmat );
    <A left module presented by 6 relations for 5 generators>
    gap> F := InsertObjectInMultiFunctor( Functor_TensorProduct, 2, W, "TensorW" );
    <The functor TensorW>
    gap> G := LeftDualizingFunctor( Qxyz );;
    gap> II_E := GrothendieckSpectralSequence( F, G, W );
    <A stable cohomological spectral sequence with sheets at levels
    [ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 3 ]>
    gap> Display( II_E );
    The associated transposed spectral sequence:

    a cohomological spectral sequence at bidegrees
    [ [ 0 .. 3 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     . . . .
     . . . .
     . . . .
    ---------
    Level 2:

     s s s s
     . . . .
     . . . .
     . . . .

    Now the spectral sequence of the bicomplex:

    a cohomological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 3 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     * * * *
     . * * *
     . . . *
    ---------
    Level 2:

     * * s s
     * * * *
     . * * *
     . . . *
    ---------
    Level 3:

     * s s s
     . s s s
     . . s *
     . . . s
    ---------
    Level 4:

     s s s s
     . s s s
     . . s s
     . . . s
    gap> filt := FiltrationBySpectralSequence( II_E, 0 );
    <A descending filtration with degrees [ -3 .. 0 ] and graded parts:
      -3:	<A non-zero cyclic left module presented by
    3 relations for a cyclic generator>
      -2:	<A non-zero left module presented by 17 relations for 6 generators>
      -1:	<A non-zero left module presented by 19 relations for 9 generators>
       0:	<A non-zero left module presented by 13 relations for 10 generators>
    of
    <A left module presented by yet unknown relations for 41 generators>>
    gap> ByASmallerPresentation( filt );
    <A descending filtration with degrees [ -3 .. 0 ] and graded parts:
      -3:	<A non-zero cyclic left module presented by
    3 relations for a cyclic generator>
      -2:	<A non-zero left module presented by 12 relations for 4 generators>
      -1:	<A non-zero left module presented by 18 relations for 8 generators>
       0:	<A non-zero left module presented by 11 relations for 10 generators>
    of
    <A left module presented by 21 relations for 12 generators>>
    gap> m := IsomorphismOfFiltration( filt );
    <An isomorphism of left modules>

##### 3.1-5 TorExt

This is Example B.6 in [Bar].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> wmat := HomalgMatrix( "[ \
    > x*y,  y*z,    z,        0,         0,    \
    > x^3*z,x^2*z^2,0,        x*z^2,     -z^2, \
    > x^4,  x^3*z,  0,        x^2*z,     -x*z, \
    > 0,    0,      x*y,      -y^2,      x^2-1,\
    > 0,    0,      x^2*z,    -x*y*z,    y*z,  \
    > 0,    0,      x^2*y-x^2,-x*y^2+x*y,y^2-y \
    > ]", 6, 5, Qxyz );
    <A homalg external 6 by 5 matrix>
    gap> W := LeftPresentation( wmat );
    <A left module presented by 6 relations for 5 generators>
    gap> P := Resolution( W );
    <A right acyclic complex containing 3 morphisms of left modules at degrees
    [ 0 .. 3 ]>
    gap> GP := Hom( P );
    <A cocomplex containing 3 morphisms of right modules at degrees [ 0 .. 3 ]>
    gap> FGP := GP * P;
    <A cocomplex containing 3 morphisms of left complexes at degrees [ 0 .. 3 ]>
    gap> BC := HomalgBicomplex( FGP );
    <A bicocomplex containing left modules at bidegrees [ 0 .. 3 ]x[ -3 .. 0 ]>
    gap> p_degrees := ObjectDegreesOfBicomplex( BC )[1];
    [ 0 .. 3 ]
    gap> II_E := SecondSpectralSequenceWithFiltration( BC, p_degrees );
    <A stable cohomological spectral sequence with sheets at levels
    [ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 3 ]>
    gap> Display( II_E );
    The associated transposed spectral sequence:

    a cohomological spectral sequence at bidegrees
    [ [ 0 .. 3 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     * * * *
     * * * *
    ---------
    Level 1:

     * * * *
     . . . .
     . . . .
     . . . .
    ---------
    Level 2:

     s s s s
     . . . .
     . . . .
     . . . .

    Now the spectral sequence of the bicomplex:

    a cohomological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 3 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     * * * *
     * * * *
    ---------
    Level 1:

     * * * *
     * * * *
     * * * *
     * * * *
    ---------
    Level 2:

     * * s s
     * * * *
     . * * *
     . . . *
    ---------
    Level 3:

     * s s s
     . s s s
     . . s *
     . . . s
    ---------
    Level 4:

     s s s s
     . s s s
     . . s s
     . . . s
    gap> filt := FiltrationBySpectralSequence( II_E, 0 );
    <A descending filtration with degrees [ -3 .. 0 ] and graded parts:
      -3:	<A non-zero cyclic left module presented by
    3 relations for a cyclic generator>
      -2:	<A non-zero left module presented by 17 relations for 7 generators>
      -1:	<A non-zero left module presented by 25 relations for 12 generators>
       0:	<A non-zero left module presented by 13 relations for 10 generators>
    of
    <A left module presented by yet unknown relations for 24 generators>>
    gap> ByASmallerPresentation( filt );
    <A descending filtration with degrees [ -3 .. 0 ] and graded parts:
      -3:	<A non-zero cyclic left module presented by
    3 relations for a cyclic generator>
      -2:	<A non-zero left module presented by 12 relations for 4 generators>
      -1:	<A non-zero left module presented by 21 relations for 8 generators>
       0:	<A non-zero left module presented by 11 relations for 10 generators>
    of
    <A left module presented by 23 relations for 12 generators>>
    gap> m := IsomorphismOfFiltration( filt );
    <An isomorphism of left modules>

##### 3.1-6 CodegreeOfPurity

This is Example B.7 in [Bar].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> vmat := HomalgMatrix( "[ \
    > 0,  0,  x,-z, \
    > x*z,z^2,y,0,  \
    > x^2,x*z,0,y   \
    > ]", 3, 4, Qxyz );
    <A homalg external 3 by 4 matrix>
    gap> V := LeftPresentation( vmat );
    <A non-torsion left module presented by 3 relations for 4 generators>
    gap> wmat := HomalgMatrix( "[ \
    > 0,  0,  x,-y, \
    > x*y,y*z,z,0,  \
    > x^2,x*z,0,z   \
    > ]", 3, 4, Qxyz );
    <A homalg external 3 by 4 matrix>
    gap> W := LeftPresentation( wmat );
    <A non-torsion left module presented by 3 relations for 4 generators>
    gap> Rank( V );
    2
    gap> Rank( W );
    2
    gap> ProjectiveDimension( V );
    2
    gap> ProjectiveDimension( W );
    2
    gap> DegreeOfTorsionFreeness( V );
    1
    gap> DegreeOfTorsionFreeness( W );
    1
    gap> CodegreeOfPurity( V );
    [ 2 ]
    gap> CodegreeOfPurity( W );
    [ 1, 1 ]
    gap> filtV := PurityFiltration( V );
    <The ascending purity filtration with degrees [ -2 .. 0 ] and graded parts:
       0:	<A codegree-[ 2 ]-pure rank 2 left module presented by 3 relations for
    4 generators>
      -1:	<A zero left module>
      -2:	<A zero left module>
    of
    <A codegree-[ 2 ]-pure rank 2 left module presented by 3 relations for
    4 generators>>
    gap> filtW := PurityFiltration( W );
    <The ascending purity filtration with degrees [ -2 .. 0 ] and graded parts:
       0:	<A codegree-[ 1, 1 ]-pure rank 2 left module presented by
    3 relations for 4 generators>
      -1:	<A zero left module>
      -2:	<A zero left module>
    of
    <A codegree-[ 1, 1 ]-pure rank 2 left module presented by 3 relations for
    4 generators>>
    gap> II_EV := SpectralSequence( filtV );
    <A stable homological spectral sequence with sheets at levels
    [ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 2 ]>
    gap> Display( II_EV );
    The associated transposed spectral sequence:

    a homological spectral sequence at bidegrees
    [ [ 0 .. 2 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * *
     * * *
     * * *
     . * *
    ---------
    Level 1:

     * * *
     . . .
     . . .
     . . .
    ---------
    Level 2:

     s . .
     . . .
     . . .
     . . .

    Now the spectral sequence of the bicomplex:

    a homological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 2 ] ]
    ---------
    Level 0:

     * * * *
     * * * *
     . * * *
    ---------
    Level 1:

     * * * *
     * * * *
     . . * *
    ---------
    Level 2:

     * . . .
     * . . .
     . . * *
    ---------
    Level 3:

     * . . .
     . . . .
     . . . *
    ---------
    Level 4:

     . . . .
     . . . .
     . . . s
    gap> II_EW := SpectralSequence( filtW );
    <A stable homological spectral sequence with sheets at levels
    [ 0 .. 4 ] each consisting of left modules at bidegrees [ -3 .. 0 ]x
    [ 0 .. 2 ]>
    gap> Display( II_EW );
    The associated transposed spectral sequence:

    a homological spectral sequence at bidegrees
    [ [ 0 .. 2 ], [ -3 .. 0 ] ]
    ---------
    Level 0:

     * * *
     * * *
     . * *
     . . *
    ---------
    Level 1:

     * * *
     . . .
     . . .
     . . .
    ---------
    Level 2:

     s . .
     . . .
     . . .
     . . .

    Now the spectral sequence of the bicomplex:

    a homological spectral sequence at bidegrees
    [ [ -3 .. 0 ], [ 0 .. 2 ] ]
    ---------
    Level 0:

     * * * *
     . * * *
     . . * *
    ---------
    Level 1:

     * * * *
     . * * *
     . . . *
    ---------
    Level 2:

     * . . .
     . * . .
     . . . *
    ---------
    Level 3:

     * . . .
     . . . .
     . . . *
    ---------
    Level 4:

     . . . .
     . . . .
     . . . s

##### 3.1-7 HomHom

This corresponds to the example of Section 2 in [BR06].

    gap> R := HomalgRingOfIntegersInExternalGAP( ) / 2^8;
    <A homalg residue class ring>
    gap> Display( R );
    Z/( 256 )
    gap> M := LeftPresentation( [ 2^5 ], R );
    <A cyclic left module presented by an unknown number of relations for a cyclic\
     generator>
    gap> Display( M );
    Z/( 256 )/< |[ 32 ]| >
    gap> M;
    <A cyclic left module presented by 1 relation for a cyclic generator>
    gap> _M := LeftPresentation( [ 2^3 ], R );
    <A cyclic left module presented by an unknown number of relations for a cyclic\
     generator>
    gap> Display( _M );
    Z/( 256 )/< |[ 8 ]| >
    gap> _M;
    <A cyclic left module presented by 1 relation for a cyclic generator>
    gap> alpha2 := HomalgMap( [ 1 ], M, _M );
    <A "homomorphism" of left modules>
    gap> IsMorphism( alpha2 );
    true
    gap> alpha2;
    <A homomorphism of left modules>
     gap> Display( alpha2 );
     [ [  1 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
    gap> M_ := Kernel( alpha2 );
    <A cyclic left module presented by yet unknown relations for a cyclic generato\
    r>
    gap> alpha1 := KernelEmb( alpha2 );
    <A monomorphism of left modules>
    gap> seq := HomalgComplex( alpha2 );
    <An acyclic complex containing a single morphism of left modules at degrees
    [ 0 .. 1 ]>
    gap> Add( seq, alpha1 );
    gap> seq;
    <A sequence containing 2 morphisms of left modules at degrees [ 0 .. 2 ]>
    gap> IsShortExactSequence( seq );
    true
    gap> seq;
    <A short exact sequence containing 2 morphisms of left modules at degrees
    [ 0 .. 2 ]>
     gap> Display( seq );
     -------------------------
     at homology degree: 2
     Z/( 256 )/< |[ 4 ]| >
     -------------------------
     [ [  24 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 1
     Z/( 256 )/< |[ 32 ]| >
     -------------------------
     [ [  1 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 0
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
    gap> K := LeftPresentation( [ 2^7 ], R );
    <A cyclic left module presented by an unknown number of relations for a cyclic\
     generator>
    gap> L := RightPresentation( [ 2^4 ], R );
    <A cyclic right module on a cyclic generator satisfying an unknown number of r\
    elations>
    gap> triangle := LHomHom( 4, seq, K, L, "t" );
    <An exact triangle containing 3 morphisms of left complexes at degrees
    [ 1, 2, 3, 1 ]>
    gap> lehs := LongSequence( triangle );
    <A sequence containing 14 morphisms of left modules at degrees [ 0 .. 14 ]>
    gap> ByASmallerPresentation( lehs );
    <A non-zero sequence containing 14 morphisms of left modules at degrees
    [ 0 .. 14 ]>
    gap> IsExactSequence( lehs );
    false
    gap> lehs;
    <A non-zero left acyclic complex containing
    14 morphisms of left modules at degrees [ 0 .. 14 ]>
    gap> Assert( 0, IsLeftAcyclic( lehs ) );
     gap> Display( lehs );
     -------------------------
     at homology degree: 14
     Z/( 256 )/< |[ 4 ]| >
     -------------------------
     [ [  4 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 13
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  6 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 12
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  2 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 11
     Z/( 256 )/< |[ 4 ]| >
     -------------------------
     [ [  4 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 10
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  6 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 9
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  2 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 8
     Z/( 256 )/< |[ 4 ]| >
     -------------------------
     [ [  4 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 7
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  6 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 6
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  2 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 5
     Z/( 256 )/< |[ 4 ]| >
     -------------------------
     [ [  4 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 4
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  6 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 3
     Z/( 256 )/< |[ 8 ]| >
     -------------------------
     [ [  2 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 2
     Z/( 256 )/< |[ 4 ]| >
     -------------------------
     [ [  8 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 1
     Z/( 256 )/< |[ 16 ]| >
     -------------------------
     [ [  1 ] ]

     modulo [ 256 ]

     the map is currently represented by the above 1 x 1 matrix
     ------------v------------
     at homology degree: 0
     Z/( 256 )/< |[ 8 ]| >
     -------------------------

#### 3.2 Betti Diagrams

##### 3.2-1 Schenck-3.2

This is an example from Section 3.2 in [Sch03].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> mmat := HomalgMatrix( "[ x, x^3 + y^3 + z^3 ]", 1, 2, Qxyz );
    <A homalg external 1 by 2 matrix>
    gap> M := RightPresentationWithDegrees( mmat );
    <A graded cyclic right module on a cyclic generator satisfying 2 relations>
    gap> Mr := Resolution( M );
    <A right acyclic complex containing 2 morphisms of right modules at degrees
    [ 0 .. 2 ]>
    gap> bettiM := BettiDiagram( Mr );
    <A Betti diagram of <A right acyclic complex containing
    2 morphisms of right modules at degrees [ 0 .. 2 ]>>
    gap> Display( bettiM );
     total:  1 2 1
    --------------
         0:  1 1 .
         1:  . . .
         2:  . 1 1
    --------------
    degree:  0 1 2
    gap> R := CoefficientsRing( Qxyz ) * "x,y,z,w";;
    gap> nmat := HomalgMatrix( "[ z^2 - y*w, y*z - x*w, y^2 - x*z ]", 1, 3, R );
    <A homalg external 1 by 3 matrix>
    gap> N := RightPresentationWithDegrees( nmat );
    <A graded cyclic right module on a cyclic generator satisfying 3 relations>
    gap> Nr := Resolution( N );
    <A right acyclic complex containing 2 morphisms of right modules at degrees
    [ 0 .. 2 ]>
    gap> bettiN := BettiDiagram( Nr );
    <A Betti diagram of <A right acyclic complex containing
    2 morphisms of right modules at degrees [ 0 .. 2 ]>>
    gap> Display( bettiN );
     total:  1 3 2
    --------------
         0:  1 . .
         1:  . 3 2
    --------------
    degree:  0 1 2

##### 3.2-2 Schenck-8.3

This is an example from Section 8.3 in [Sch03].

    gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z,w";;
    gap> jmat := HomalgMatrix( "[ z*w, x*w, y*z, x*y, x^3*z - x*z^3 ]", 1, 5, R );
    <A homalg external 1 by 5 matrix>
    gap> J := RightPresentationWithDegrees( jmat );
    <A graded cyclic right module on a cyclic generator satisfying 5 relations>
    gap> Jr := Resolution( J );
    <A right acyclic complex containing 3 morphisms of right modules at degrees
    [ 0 .. 3 ]>
    gap> betti := BettiDiagram( Jr );
    <A Betti diagram of <A right acyclic complex containing
    3 morphisms of right modules at degrees [ 0 .. 3 ]>>
    gap> Display( betti );
     total:  1 5 6 2
    ----------------
         0:  1 . . .
         1:  . 4 4 1
         2:  . . . .
         3:  . 1 2 1
    ----------------
    degree:  0 1 2 3

##### 3.2-3 Schenck-8.3.3

This is Exercise 8.3.3 in [Sch03].

    gap> Qxyz := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    gap> mat := HomalgMatrix( "[ x*y*z, x*y^2, x^2*z, x^2*y, x^3 ]", 1, 5, Qxyz );
    <A homalg external 1 by 5 matrix>
    gap> M := RightPresentationWithDegrees( mat );
    <A graded cyclic right module on a cyclic generator satisfying 5 relations>
    gap> Mr := Resolution( M );
    <A right acyclic complex containing 3 morphisms of right modules at degrees
    [ 0 .. 3 ]>
    gap> betti := BettiDiagram( Mr );
    <A Betti diagram of <A right acyclic complex containing
    3 morphisms of right modules at degrees [ 0 .. 3 ]>>
    gap> Display( betti );
     total:  1 5 6 2
    ----------------
         0:  1 . . .
         1:  . . . .
         2:  . 5 6 2
    ----------------
    degree:  0 1 2 3

#### 3.3 Commutative Algebra

##### 3.3-1 Saturate

    gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
    <A graded (left) ideal given by 3 generators>
    gap> m := GradedLeftSubmodule( "x,y,z", R );
    <A graded (left) ideal given by 3 generators>
    gap> J := Intersect( m^3, GradedLeftSubmodule( "x", R ) );
    <A graded (left) ideal given by 6 generators>
    gap> Jm := SubmoduleQuotient( J, m );
    <A graded (left) ideal given by 3 generators>
    gap> J_m := Saturate( J, m );
    <A graded principal (left) ideal given by a cyclic generator>
    gap> Js := Saturate( J );
    <A graded principal (left) ideal given by a cyclic generator>
    gap> Assert( 0, Js = J_m );

Top of Book Previous Chapter Next Chapter
Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML