Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

4 Modules
 4.1 Constructors

4 Modules

A homalg module is a data structure for a finitely presented module. A presentation is given by a set of generators and a set of relations among these generators. The data structure for modules in homalg has two novel features:

4.1 Constructors

4.1-1 LeftPresentation
‣ LeftPresentation( mat )( operation )

Returns: a homalg left module

This constructor returns the finitely presented left module with relations given by the rows of the homalg matrix mat.

gap> zz := HomalgRingOfIntegers( );
Z
gap> M := HomalgMatrix( "[ \
> 2, 3, 4, \
> 5, 6, 7  \
> ]", 2, 3, zz );
<A 2 x 3 matrix over an internal ring>
gap> M := LeftPresentation( M );
<A non-torsion left module presented by 2 relations for 3 generators>
gap> Display( M );
[ [  2,  3,  4 ],
  [  5,  6,  7 ] ]

Cokernel of the map

Z^(1x2) --> Z^(1x3),

currently represented by the above matrix
gap> rels := RelationsOfModule( M );
<A set of 2 relations for 3 generators of a homalg left module>
gap> MatrixOfRelations( M );
<A non-zero 2 x 3 matrix over an internal ring>
gap> MatrixOfRelations( rels );
<A non-zero 2 x 3 matrix over an internal ring>
gap> gens := GeneratorsOfModule( M );
<A set of 3 generators of a homalg left module>
gap> MatrixOfGenerators( M );
<An unevaluated 3 x 3 matrix over an internal ring>
gap> MatrixOfGenerators( gens );
<An unevaluated 3 x 3 matrix over an internal ring>
gap> ByASmallerPresentation( M );
<A rank 1 left module presented by 1 relation for 2 generators>
gap> Display( M );
Z/< 3 > + Z^(1 x 1)

4.1-2 RightPresentation
‣ RightPresentation( mat )( operation )

Returns: a homalg right module

This constructor returns the finitely presented right module with relations given by the columns of the homalg matrix mat.

gap> zz := HomalgRingOfIntegers( );
Z
gap> M := HomalgMatrix( "[ \
> 2, 3, 4, \
> 5, 6, 7  \
> ]", 2, 3, zz );
<A 2 x 3 matrix over an internal ring>
gap> M := RightPresentation( M );
<A right module on 2 generators satisfying 3 relations>
gap> Display( M );
[ [  2,  3,  4 ],
  [  5,  6,  7 ] ]

Cokernel of the map

Z^(3x1) --> Z^(2x1),

currently represented by the above matrix
gap> rels := RelationsOfModule( M );
<A set of 3 relations for 2 generators of a homalg right module>
gap> MatrixOfRelations( M );
<A non-zero 2 x 3 matrix over an internal ring>
gap> MatrixOfRelations( rels );
<A non-zero 2 x 3 matrix over an internal ring>
gap> gens := GeneratorsOfModule( M );
<A set of 2 generators of a homalg right module>
gap> MatrixOfGenerators( M );
<An unevaluated 2 x 2 matrix over an internal ring>
gap> MatrixOfGenerators( gens );
<An unevaluated 2 x 2 matrix over an internal ring>
gap> ByASmallerPresentation( M );
<A non-zero cyclic torsion right module on a cyclic generator
 satisfying 1 relation>
gap> Display( M );
Z/< 3 >
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Ind

generated by GAPDoc2HTML