Goto Chapter: Top 1 2 3 4 A Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

4 Example
 4.1 HomHom

4 Example

4.1 HomHom

The following example is taken from Section 2 of [BR06].

The computation takes place over the ring R=ℤ/2^8ℤ, which is directly supported by the package Gauss.

Here we compute the (infinite) long exact homology sequence of the covariant functor Hom(Hom(-,ℤ/2^7ℤ),ℤ/2^4ℤ) (and its left derived functors) applied to the short exact sequence

0 -> M_=ℤ/2^2ℤ --alpha_1--> M=ℤ/2^5ℤ --alpha_2--> _M=ℤ/2^3ℤ -> 0.

gap> LoadPackage( "Modules", ">= 2023.10-01" );
true
gap> R := HomalgRingOfIntegers( 2^8 );
Z/256Z
gap> Display( R );
<An internal ring>
gap> M := LeftPresentation( [ 2^5 ], R );
<A cyclic left module presented by 1 relation for a cyclic generator>
gap> Display( M );
Z/256Z/< ZmodnZObj(32,256) >
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 1 relation for a cyclic generator>
gap> Display( _M );
Z/256Z/< ZmodnZObj(8,256) >
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

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/256Z/< ZmodnZObj(4,256) > 
-------------------------
   8

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

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 0
Z/256Z/< ZmodnZObj(8,256) > 
-------------------------
gap> K := LeftPresentation( [ 2^7 ], R );
<A cyclic left module presented by 1 relation for a cyclic generator>
gap> L := RightPresentation( [ 2^4 ], R );
<A cyclic right module on a cyclic generator satisfying 1 relation>
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/256Z/< ZmodnZObj(4,256) > 
-------------------------
   4

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 13
Z/256Z/< ZmodnZObj(8,256) > 
-------------------------
   2

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

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

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 10
Z/256Z/< ZmodnZObj(8,256) > 
-------------------------
   2

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

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

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 7
Z/256Z/< ZmodnZObj(8,256) > 
-------------------------
   2

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

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

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

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

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

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

the map is currently represented by the above 1 x 1 matrix
------------v------------
at homology degree: 0
Z/256Z/< ZmodnZObj(8,256) > 
-------------------------
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 A Bib Ind

generated by GAPDoc2HTML