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 ith row is a member of the ith ideal. The ideals are therefore called coefficient ideals.

Contents

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 Generators is true the pseudo matrix described by the pseudo generators of M is returned.
AbsoluteBasis(M) : ModDed -> SeqEnum
Returns a basis of the module M over Z or Fq[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 numer 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 ∑Ci * mi where (Ci) are the coefficient ideals of the pseudo matrix X and mi are the rows of the matrix of X.
I * X : RngOrdFracIdl, PMat -> PMat
I * X : RngFunOrdIdl, PMat -> PMat
X * I : PMat, RngOrdFracIdl -> PMat
X * I : PMat, RngFunOrdIdl -> PMat
The pseudo matrix whose coefficient ideals are those of the pseudo matrix X multiplied by I and whose matrix is the matrix of X.
V2.28, 13 July 2023