[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Free Modules

Free Modules

Subsections

Bases for Free Modules

This subsection is concerned with the construction of bases for R-modules. Consequently, the application of these functions is restricted either to vector spaces or to torsion-free modules over a Euclidean Domain. If these operations are applied to a R[G]-module, they are considered to act on the underlying R-module.

For a full description of the basis functions for a module defined over a field, the reader is referred to the chapter on vector spaces.

RModuleWithBasis(Q) : [ModTupRngElt] -> ModTupRng
RSpaceWithBasis(Q) : [ModTupRngElt] -> ModTupRng
RModuleWithBasis(a) : AlgMatElt -> ModTupRng
RSpaceWithBasis(a) : AlgMatElt -> ModTupRng
RModuleWithBasis(a) : ModMatElt -> ModTupRng
RSpaceWithBasis(a) : ModMatElt -> ModTupRng
Given a sequence Q (or matrix a) of k independent vectors each lying in a module V, construct the submodule of V of dimension k whose basis is Q (or the rows of a). The basis is echelonized internally but all functions which depend on the basis of the space (e.g. Coordinates) will use the given basis.
Basis(M) : ModTupRng -> [ModTupRngElt]
The current basis for the free R-module M, R an ED, returned as a sequence of module elements.
BasisElement(M, i) : ModTupRng, RngIntElt -> ModTupRngElt
The i-th basis element for the module M.

BasisMatrix(M) : ModTupRng -> ModMatElt
The current basis for the free R-module M, R an ED, returned as the rows of a matrix belonging to the matrix bimodule R^((m x n)), where m is the dimension of M and n is the over-dimension of M.
Rank(M) : ModTupRng -> RngIntElt
The rank of the free R-module M.
Coordinates(M, u) : ModTupRng, ModTupRngElt -> [RngElt]
Given a vector v belonging to the rank r free R-module M, R an ED, with basis u_1, ..., u_r, return a sequence [a_1, ..., a_r] giving the coordinates of u relative to the M-basis: u = a_1 * u_1 + ... + a_r * u_r.
ExtendBasis(Q, M) : [ModTupRngElt], ModTupRng -> [ModTupRngElt]
Given a sequence Q containing r linearly independent vectors belonging to the module M, add sufficient vectors to Q so that the extended set forms a basis for M. The basis is returned in the form of a sequence T such that T[i] = Q[i], i = 1, ... r.
ExtendBasis(N, M) : ModTupRng, ModTupRng -> [ModTupRngElt]
Given a rank r submodule N of the module M, return a basis for M in the form of a sequence T of elements such that the first r terms correspond to the given basis vectors for N.
IsIndependent(S) : { ModTupRngElt } -> BoolElt
Given a set S of elements belonging to the module M, return true if the elements of S are linearly independent.
IsIndependent(Q) : [ ModTupRngElt ] -> BoolElt
Given a sequence Q of elements belonging to the module M, return true if the terms of Q are linearly independent.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]