5 GradedModules 5.1 GradedModules: Category and Representations 5.2 GradedModules: Constructors 5.3 GradedModules: Properties For more properties see the corresponding section 'Modules: Modules: Properties') in the documentation of the homalg package. 5.4 GradedModules: Attributes 5.4-1 BettiTable BettiTable( M )  attribute Returns: a homalg diagram The Betti diagram of the homalg graded module M. 5.4-2 CastelnuovoMumfordRegularity CastelnuovoMumfordRegularity( M )  attribute Returns: an integer The Castelnuovo-Mumford regularity of the homalg graded module M. 5.4-3 CastelnuovoMumfordRegularityOfSheafification CastelnuovoMumfordRegularityOfSheafification( M )  attribute Returns: an integer The Castelnuovo-Mumford regularity of the sheafification of homalg graded module M. For more attributes see the corresponding section 'Modules: Modules: Attributes') in the documentation of the homalg package. 5.5 LISHV: Logical Implications for GradedModules 5.6 GradedModules: Operations and Functions 5.6-1 MonomialMap MonomialMap( d, M )  operation Returns: a homalg map The map from a free graded module onto all degree d monomial generators of the finitely generated homalg module M.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ] );  gap> m := MonomialMap( 1, M );  gap> Display( m ); x^2,0,0, x*y,0,0, x*z,0,0, y^2,0,0, y*z,0,0, z^2,0,0, 0, x,0, 0, y,0, 0, z,0, 0, 0,1   the graded map is currently represented by the above 10 x 3 matrix  (degrees of generators of target: [ -1, 0, 1 ])  5.6-2 RandomMatrix RandomMatrix( S, T )  operation Returns: a homalg matrix A random matrix between the graded source module S and the graded target module T.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "a,b,c";; gap> S := GradedRing( R );; gap> rand := RandomMatrix( S^1 + S^2, S^2 + S^3 + S^4 );  gap> #Display( rand ); gap> #-3*a-b, -1,  gap> #-a^2+a*b+2*b^2-2*a*c+2*b*c+c^2, -a+c,  gap> #-2*a^3+5*a^2*b-3*b^3+3*a*b*c+3*b^2*c+2*a*c^2+2*b*c^2+c^3,-3*b^2-2*a*c-2*b*c+c^2  5.6-3 GeneratorsOfHomogeneousPart GeneratorsOfHomogeneousPart( d, M )  operation Returns: a homalg matrix The resulting homalg matrix consists of a generating set (over R) of the d-th homogeneous part of the finitely generated homalg S-module M, where R is the coefficients ring of the graded ring S with S_0=R.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ] );  gap> m := GeneratorsOfHomogeneousPart( 1, M );  gap> Display( m ); x^2,0,0, x*y,0,0, y^2,0,0, 0, x,0, 0, y,0, 0, z,0, 0, 0,1  (over a graded ring)  Compare with MonomialMap (5.6-1). 5.6-4 SubmoduleGeneratedByHomogeneousPart SubmoduleGeneratedByHomogeneousPart( d, M )  operation Returns: a homalg module The submodule of the homalg module M generated by the image of the d-th monomial map (--> MonomialMap (5.6-1)), or equivalently, by the generating set of the d-th homogeneous part of M.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ] );  gap> n := SubmoduleGeneratedByHomogeneousPart( 1, M );  gap> Display( M ); z, 0, 0,  0, y^2*z,z^2, x^3,y^2, z   Cokernel of the map  Q[x,y,z]^(1x3) --> Q[x,y,z]^(1x3),  currently represented by the above matrix (graded, degrees of generators: [ -1, 0, 1 ]) gap> Display( n ); x^2,0,0, x*y,0,0, y^2,0,0, 0, x,0, 0, y,0, 0, z,0, 0, 0,1   A left submodule generated by the 7 rows of the above matrix  (graded, degrees of generators: [ 1, 1, 1, 1, 1, 1, 1 ]) gap> N := UnderlyingObject( n );  gap> Display( N ); z, 0, 0,0, 0, 0,0,  0, z, 0,0, 0, 0,0,  0, 0, z,0, 0, 0,0,  0, 0, 0,0, -z, y,0,  x, 0, 0,0, y, 0,z,  -y,x, 0,0, 0, 0,0,  0, -y,x,0, 0, 0,0,  0, 0, 0,-y, x, 0,0,  0, 0, 0,-z, 0, x,0,  0, 0, 0,0, y*z,0,z^2,  0, 0, 0,y^2*z,0, 0,x*z^2  Cokernel of the map  Q[x,y,z]^(1x11) --> Q[x,y,z]^(1x7),  currently represented by the above matrix  (graded, degrees of generators: [ 1, 1, 1, 1, 1, 1, 1 ]) gap> gens := GeneratorsOfModule( N );  gap> Display( gens ); x^2,0,0, x*y,0,0, y^2,0,0, 0, x,0, 0, y,0, 0, z,0, 0, 0,1   a set of 7 generators given by the rows of the above matrix  5.6-5 RepresentationMapOfRingElement RepresentationMapOfRingElement( r, M, d )  operation Returns: a homalg matrix The graded map induced by the homogeneous degree 1 ring element r (of the underlying homalg graded ring S) regarded as a R-linear map between the d-th and the (d+1)-st homogeneous part of the graded finitely generated homalg S-module M, where R is the coefficients ring of the graded ring S with S_0=R. The generating set of both modules is given by GeneratorsOfHomogeneousPart (5.6-3). The entries of the matrix presenting the map lie in the coefficients ring R.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> x := Indeterminate( S, 1 ); x gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ] );  gap> m := RepresentationMapOfRingElement( x, M, 0 );  gap> Display( m ); 1,0,0,0,0,0,0, 0,1,0,0,0,0,0, 0,0,0,1,0,0,0   the graded map is currently represented by the above 3 x 7 matrix  (degrees of generators of target: [ 1, 1, 1, 1, 1, 1, 1 ])  5.6-6 RepresentationMatrixOfKoszulId RepresentationMatrixOfKoszulId( d, M )  operation Returns: a homalg matrix It is assumed that all indeterminates of the underlying homalg graded ring S are of degree 1. The output is the homalg matrix of the multiplication map Hom( A, M_d ) -> Hom( A, M_d+1 ), where A is the Koszul dual ring of S, defined using the operation KoszulDualRing.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> A := KoszulDualRing( S, "a,b,c" );; gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ] );  gap> m := RepresentationMatrixOfKoszulId( 0, M );  gap> Display( m ); a,b,0,0,0,0,0, 0,a,b,0,0,0,0, 0,0,0,a,b,c,0  (over a graded ring)  5.6-7 RepresentationMapOfKoszulId RepresentationMapOfKoszulId( d, M )  operation Returns: a homalg map It is assumed that all indeterminates of the underlying homalg graded ring S are of degree 1. The output is the the multiplication map Hom( A, M_d ) -> Hom( A, M_d+1 ), where A is the Koszul dual ring of S, defined using the operation KoszulDualRing.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> A := KoszulDualRing( S, "a,b,c" );; gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ] );  gap> m := RepresentationMapOfKoszulId( 0, M );  gap> Display( m ); a,b,0,0,0,0,0, 0,a,b,0,0,0,0, 0,0,0,a,b,c,0   the graded map is currently represented by the above 3 x 7 matrix  (degrees of generators of target: [ 4, 4, 4, 4, 4, 4, 4 ])  5.6-8 KoszulRightAdjoint KoszulRightAdjoint( M, degree_lowest, degree_highest )  operation Returns: a homalg cocomplex It is assumed that all indeterminates of the underlying homalg graded ring S are of degree 1. Compute the homalg A-cocomplex C of Koszul maps of the homalg S-module M (--> RepresentationMapOfKoszulId (5.6-7)) in the [ degree_lowest .. degree_highest ]. The Castelnuovo-Mumford regularity of M is characterized as the highest degree d, such that C is not exact at d. A is the Koszul dual ring of S, defined using the operation KoszulDualRing.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> A := KoszulDualRing( S, "a,b,c" );; gap> M := HomalgMatrix( "[ x^3, y^2, z, z, 0, 0 ]", 2, 3, S );; gap> M := LeftPresentationWithDegrees( M, [ -1, 0, 1 ], S );  gap> CastelnuovoMumfordRegularity( M ); 1 gap> R := KoszulRightAdjoint( M, -5, 5 );  gap> R := KoszulRightAdjoint( M, 1, 5 );  gap> R := KoszulRightAdjoint( M, 0, 5 );  gap> R := KoszulRightAdjoint( M, -5, 5 );  gap> H := Cohomology( R );  gap> ByASmallerPresentation( H );  gap> Cohomology( R, -2 );  gap> Cohomology( R, -3 );  gap> Cohomology( R, -1 );  gap> Cohomology( R, 0 );  gap> Cohomology( R, 1 );  gap> Cohomology( R, 2 );  gap> Cohomology( R, 3 );  gap> Cohomology( R, 4 );  gap> Display( Cohomology( R, -1 ) ); Q{a,b,c}/< b, a >  (graded, degree of generator: 0) gap> Display( Cohomology( R, 0 ) ); Q{a,b,c}/< c, b, a >  (graded, degree of generator: 0) gap> Display( Cohomology( R, 1 ) ); Q{a,b,c}/< b, a >  (graded, degree of generator: 2)  5.6-9 HomogeneousPartOverCoefficientsRing HomogeneousPartOverCoefficientsRing( d, M )  operation Returns: a homalg module The degree d homogeneous part of the graded R-module M as a module over the coefficient ring or field of R.  Example  gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";; gap> S := GradedRing( R );; gap> M := HomalgMatrix( "[ x, y^2, z^3 ]", 3, 1, S );; gap> M := Subobject( M, ( 1 * S )^0 );  gap> CastelnuovoMumfordRegularity( M ); 4 gap> M1 := HomogeneousPartOverCoefficientsRing( 1, M );  gap> gen1 := GeneratorsOfModule( M1 );  gap> Display( M1 ); Q^(1 x 1)  (graded, degree of generator: 1) gap> M2 := HomogeneousPartOverCoefficientsRing( 2, M );  gap> Display( M2 ); Q^(1 x 4)  (graded, degrees of generators: [ 2, 2, 2, 2 ]) gap> gen2 := GeneratorsOfModule( M2 );  gap> M3 := HomogeneousPartOverCoefficientsRing( 3, M );  gap> Display( M3 ); Q^(1 x 9)  (graded, degrees of generators: [ 3, 3, 3, 3, 3, 3, 3, 3, 3 ]) gap> gen3 := GeneratorsOfModule( M3 );  gap> Display( gen1 ); x  a set consisting of a single generator given by (the row of) the above matrix gap> Display( gen2 ); x^2, x*y, x*z, y^2   a set of 4 generators given by the rows of the above matrix gap> Display( gen3 ); x^3,  x^2*y, x^2*z, x*y*z, x*z^2, x*y^2, y^3,  y^2*z, z^3   a set of 9 generators given by the rows of the above matrix