6 Generators To present a left/right module it suffices to take a matrix rel and interpret its rows/columns as relations among n abstract generators, where n is the number of columns/rows of rel. Only that these abstract generators are useless when it comes to specific modules like modules of homomorphisms, where one expects the generators to be maps between modules. For this reason a presentation of a module in homalg is not merely a matrix of relations, but together with a set of generators. In homalg a set of generators of a left/right module is given by a matrix gen with rows/columns being interpreted as the generators. The data structure of a module in homalg is designed to contain not only one but several sets of generators (together with their sets of relations (--> Chapter 5)). The different sets of generators are linked with so-called transition matrices (--> Chapter 7). 6.1 Generators: Categories and Representations 6.1-1 IsHomalgGenerators IsHomalgGenerators( rel )  Category Returns: true or false The GAP category of homalg generators. 6.1-2 IsHomalgGeneratorsOfLeftModule IsHomalgGeneratorsOfLeftModule( rel )  Category Returns: true or false The GAP category of homalg generators of a left module. (It is a subcategory of the GAP category IsHomalgGenerators.) 6.1-3 IsHomalgGeneratorsOfRightModule IsHomalgGeneratorsOfRightModule( rel )  Category Returns: true or false The GAP category of homalg generators of a right module. (It is a subcategory of the GAP category IsHomalgGenerators.) 6.1-4 IsGeneratorsOfModuleRep IsGeneratorsOfModuleRep( rel )  Representation Returns: true or false The GAP representation of a finite set of generators of a homalg module. (It is a representation of the GAP category IsHomalgGenerators (6.1-1))  Code  DeclareRepresentation( "IsGeneratorsOfModuleRep",  IsHomalgGenerators,  [ "generators" ] );  6.1-5 IsGeneratorsOfFinitelyGeneratedModuleRep IsGeneratorsOfFinitelyGeneratedModuleRep( rel )  Representation Returns: true or false The GAP representation of a finite set of generators of a finitely generated homalg module. (It is a representation of the GAP representation IsGeneratorsOfModuleRep (6.1-4))  Code  DeclareRepresentation( "IsGeneratorsOfFinitelyGeneratedModuleRep",  IsGeneratorsOfModuleRep,  [ "generators", "relations_of_hullmodule" ] );  6.2 Generators: Constructors 6.3 Generators: Properties 6.3-1 IsReduced IsReduced( gen )  property Returns: true or false Check if the homalg set of generators gen is marked reduced. (no method installed) 6.4 Generators: Attributes 6.4-1 ProcedureToReadjustGenerators ProcedureToReadjustGenerators( gen )  attribute Returns: a function A function that takes the rows/columns of gen and returns an object (e.g. a matrix) that can be interpreted as a generator (this is important for modules of homomorphisms). 6.5 Generators: Operations and Functions