This is very preliminary documentation. These functions are about matrices
which define term orderings. They expect and return matrices over RingZZ.
NewPositiveMat(M) -- returns a matrix with non-negative entries
which defines an equivalent term-ordering (but grading may
be different!)
NewMatMinimize(M) -- the (ordering) matrix obtained by removing
linearly dependent rows
NewDenseMatRevLex(n) -- produce the n-by-n dense matrix over
RingZZ corresponding to the revlex ordering on n indets
NewMatCompleteOrd(ConstMatrixView M) -- complete M to an
ordering matrix; if M is suitable the resulting matrix defines a
term-ordering.
NewMatCompleteOrd(ConstMatrixView M, ConstMatrixView NewRows) --
concatenate M and NewRows, and remove redundant rows.
NewMatElim(NumIndets, IndetsToElim) -- returns the dense matrix
for the elimination ordering of the given indets
NewMatElim(GradingM, IndetsToElim, IsHomog) -- ???
NewHomogElimMat(GradingM, IndetsToElim) -- ???
IsTermOrdering(M) -- true iff matrix M defines a term ordering
IsPositiveGrading(M) -- true iff M defines a positive grading
(i.e. no null columns and first non-zero entry in each column is positive)
IsPositiveGrading(M, GradingDim) -- true iff the first
GradingDim rows of M define a positive grading
Doc is woefully incomplete.
Definitely don't like the name NewMatMinimize!
Fixed 2009-09-22: Naming convention not respected ("Matrix" should be "Mat")