Pseudo-matrices
This chapter deals with pseudo-matrices. We follow the common terminology and conventions introduced in [1], however, we operate on rows, not on columns.
Let
Any finitely generated PMat
as follows: The structure theory of
Following Cohen we call modules of the form
A pseudo-matrix
A pseudo-matrix
Creation
In general to create a PMat
one has to specify a matrix and a vector of ideals:
pseudo_matrix Method
pseudo_matrix(m::Generic.Mat{AbsSimpleNumFieldElem}, c::Vector{AbsNumFieldOrderIdeal{AbsSimpleNumField, AbsSimpleNumFieldElem}}) -> PMat{AbsSimpleNumFieldElem, AbsSimpleNumFieldOrderFractionalIdeal}
Returns the (row) pseudo matrix representing the
pseudo_matrix Method
pseudo_matrix(m::Generic.Mat{AbsSimpleNumFieldOrderElem}, c::Vector{AbsNumFieldOrderIdeal{AbsSimpleNumField, AbsSimpleNumFieldElem}}) -> PMat{AbsSimpleNumFieldElem, AbsSimpleNumFieldOrderFractionalIdeal}
Returns the (row) pseudo matrix representing the
pseudo_matrix Method
pseudo_matrix(m::Generic.Mat{AbsSimpleNumFieldOrderElem}) -> PMat{AbsSimpleNumFieldElem, AbsSimpleNumFieldOrderFractionalIdeal}
Returns the free (row) pseudo matrix representing the
(Those functions are also available as pseudo_matrix
)
Operations
base_ring Method
base_ring(M::PMat)
The PMat
pseudo_hnf Method
pseudo_hnf(P::PMat)
Transforms
A optional second argument can be specified as a symbols, indicating the desired shape of the echelon form. Possible are :upperright
(the default) and :lowerleft
pseudo_hnf_with_transform Method
pseudo_hnf_with_transform(P::PMat)
Transforms
A optional second argument can be specified as a symbol, indicating the desired shape of the echelon form. Possible are :upperright
(the default) and :lowerleft