This chapter describes the facilities provided for modules in the following representations:
In the first part of the chapter we describe the operations that apply to modules generally, while in the second half we describe the creation of modules HomR(M, N) together with the operations that are specific to them. Insofar as elementary module-theoretic operations are concerned, there is no real difference between tuple modules and matrix modules except for the input and display of elements. Many special operations provided for matrices are described in the chapter on matrices.
The reader is referred to the chapter on vector spaces for descriptions of the extensive functionality provided for modules over fields.
The family of all finitely generated modules over a given ring R forms a category, while the set of all finitely generated modules forms a family of categories indexed by the ring R. In this family of categories, objects are modules and the morphisms are module homomorphisms. The category name for modules is ModRng. We distinguish the following subcategories of ModRng:
Let N be a free submodule of the R-module M. We have two alternative ways of presenting N. Firstly, we can present it on a set of generators that are elements of M; we call such a presentation an embedded presentation. Alternatively, given that N has rank r, we can present it as the module S(r), with appropriate action induced from the action of R on M. We call this presentation of N a reduced presentation.
The user can control the method of submodule presentation at the time of creation of an initial module through selection of the appropriate creation function. Thus, the function RModule will create a module with the convention that it and all its submodules and quotient modules will have their submodules presented in reduced form. The use of RSpace, on the other hand, signifies that submodules are to be presented in embedded form.
Throughout this chapter, R will denote a ring (possibly a field) while K will denote a field. The letters M and N will denote modules, while U and V will denote vector spaces.