The Presentation of Submodules

Let N be a submodule of the module M = R(m). For simplicity, assume that N is free, and has dimension n where n < m. There are two ways in which N may be viewed:

(a)
As a submodule embedded in M. Thus, though N is a module of dimension n, its elements are regarded as elements of M.
(b)
As the module R(n) represented on a reduced basis, together with a morphism φ defining the inclusion of N into M.

The presentation (a) is the usual way submodules are regarded in elementary linear algebra. However, this presentation is inconvenient for more advanced applications. For example, many of the major functions available for studying an R[G]-module N expect that N is given relative to a reduced basis. We shall refer to a submodule presentation (a) as the embedded presentation, and (b) as the reduced presentation.

To provide the user with the maximum flexibility, Magma supports both forms of submodule presentation for the important classes of modules. Usually, a module calculation commences with the definition of one or two modules from which further modules are created by the operations of forming submodules, quotient modules and extensions. Let us call these latter modules descendants of the original module. Magma provides parallel creation functions which allow the user to choose the form of submodule presentation. Once that choice has been made, all descendants of the initial module(s) will follow the same presentation convention.

The module creation functions that select the embedded form are usually of the form QualifierSpace, while those that adopt the standard form are usually of the form QualifierModule. Thus in the case of vector spaces the function KSpace(K, n) constructs the n-dimensional vector space over the field K, where submodules are to be presented in embedded form. On the other hand, RModule(K, n) constructs the n-dimensional vector space over the field K, where submodules are to be presented in reduced form.

V2.28, 13 July 2023