Pseudo Matrices#
A pseudo matrix, ie. an object of type PMat, is a sequence of ideals together with a matrix. Pseudo matrices arise naturally in the (computational) theory of finitely generated torsion free modules over Dedekind domains, they are a natural extension of ordinary matrices which should be thought of as pseudo matrices where all the ideals are generated by \(1\). Pseudo matrices are generally used to represent the module that is generated by the rows of the matrix scaled by the elements of the corresponding ideal. Thus, if the matrix is regular, a linear combination of the rows lies in the module if and only if the coefficient of the \(i\)th row is a member of the \(i\)th ideal. The ideals are therefore called coefficient ideals.
Construction of a Pseudo Matrix#
- PseudoMatrix(I, m): [RngOrdFracIdl], MtrxSpcElt -> PMat#
- PseudoMatrix(I, m): [RngFunOrdIdl], MtrxSpcElt -> PMat#
Construct the pseudo matrix with coefficient ideals the elements of the sequence \(I\) and matrix \(m\).
- PseudoMatrix(m): Mtrx[FldOrd] -> PMat#
- PseudoMatrix(m): Mtrx[RngOrd] -> PMat#
- PseudoMatrix(m): Mtrx[FldFunOrd] -> PMat#
- PseudoMatrix(m): Mtrx[RngFunOrd] -> PMat#
Construct the pseudo matrix with trivial coefficient ideals and the matrix \(m\).
- PseudoMatrix(M): ModDed -> PMat#
Generators: BoolElt Default: false
Construct the pseudo matrix described by the pseudo basis of the module \(M\). If
Generatorsistruethe pseudo matrix described by the pseudo generators of \(M\) is returned.
- AbsoluteBasis(M): ModDed -> SeqEnum#
Returns a basis of the module \(M\) over \({\mathbb{Z}}\) or \({\mathbb{F}}_q[t]\).
Elementary Functions#
- CoefficientIdeals(P): PMat -> SeqEnum#
Return the coefficient ideals of the pseudo matrix \(P\).
- Matrix(P): PMat -> Mtrx#
Return the matrix of the pseudo matrix \(P\).
- Order(pm): PMat -> Rng#
Return the order the pseudo matrix \(pm\) is over.
- Dimension(pm): PMat -> RngIntElt#
The dimension of the pseudo matrix \(pm\). This is the number of columns of the matrix.
- Length(pm): PMat -> RngIntElt#
The length or dimension of the pseudo matrix \(pm\). This is the number of coefficient ideals of \(pm\).
Basis of a Pseudo Matrix#
- Basis(P): PMat -> SeqEnum#
Return a list of sequences of ring elements corresponding to the entries of each row of the matrix of the pseudo matrix \(P\).
Predicates#
- p1 eq p2: PMat, PMat -> BoolElt#
Return whether the pseudo matrices \(p1\) and \(p2\) are equal, that is, whether they have the same matrix and the same sequence of coefficient ideals.
Operations with Pseudo Matrices#
- Transpose(P): PMat -> PMat#
Return the pseudo matrix whose coefficient ideals are the same as those of \(P\) but whose matrix is the transpose of the matrix of \(P\). This function requires the matrix to be square.
- HermiteForm(X): PMat -> PMat, AlgMatElt#
Return the Hermite normal form \(H\) of the pseudo matrix \(X\) together with a regular transformation matrix such that the module generated by \(X\) is the same as the one generated by \(H\) and such that (for the matrix parts) \(H=TX\) holds.
- VerticalJoin(X, Y): PMat, PMat -> PMat#
Return the pseudo matrix whose matrix is the vertical join of the matrices of the pseudo matrices \(X\) and \(Y\) with coefficient ideals the concatenation of those of \(X\) and \(Y\).
- X meet Y: PMat, PMat -> PMat#
Return the intersection of the pseudo matrices X and Y.
- Module(X): PMat -> ModDed#
Return the module \(\sum C_i * m_i\) where \({C_i}\) are the coefficient ideals of the pseudo matrix \(X\) and \(m_i\) are the rows of the matrix of \(X\).