The following example is taken from Section 2 of [BR06].
The computation takes place over the local ring R=ℤ_⟨ 2⟩ (i.e. ℤ localized at the maximal ideal generated by 2).
Here we compute the (infinite) long exact homology sequence of the covariant functor Hom(Hom(-,R/2^7R),R/2^4R) (and its left derived functors) applied to the short exact sequence
0 -> M_=R/2^2R --alpha_1--> M=R/2^5R --alpha_2--> _M=R/2^3R -> 0.
We want to lead your attention to the commands LocalizeAt
and HomalgLocalMatrix
. The first one creates a localized ring from a global one and generators of a maximal ideal and the second one creates a local matrix from a global matrix. The other commands used here are well known from homalg.
gap> LoadPackage( "LocalizeRingForHomalg" );; gap> zz := HomalgRingOfIntegers( ); Z gap> R := LocalizeAt( zz , [ 2 ] ); Z_< 2 > gap> Display( R ); <A local ring> gap> LoadPackage( "Modules" ); true gap> M := LeftPresentation( HomalgMatrix( [ 2^5 ], R ) ); <A cyclic left module presented by 1 relation for a cyclic generator> gap> _M := LeftPresentation( HomalgMatrix( [ 2^3 ], R ) ); <A cyclic left module presented by 1 relation for a cyclic generator> gap> alpha2 := HomalgMap( HomalgMatrix( [ 1 ], R ), M, _M ); <A "homomorphism" of left modules> 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> Display( M_ ); Z_< 2 >/< -4/1 > gap> Display( alpha1 ); [ [ 8 ] ] / 1 the map is currently represented by the above 1 x 1 matrix gap> ByASmallerPresentation( M_ ); <A cyclic left module presented by 1 relation for a cyclic generator> gap> Display( M_ ); Z_< 2 >/< 4/1 >
generated by GAPDoc2HTML