# MatrixForOrdering

© 2008 Anna Bigatti
GNU Free Documentation License, Version 1.2

- User Documentation
  - Examples
  - PseudoConstructors
  - Queries
- Maintainer Documentation
- Bugs, Shortcomings, and other ideas

CoCoALib Documentation Index

## User Documentation

This is very preliminary documentation. These functions are about matrices which define term orderings. They expect and return matrices over `RingZZ`.

### Examples

- ex-OrderingGrading1.C

### PseudoConstructors

- `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)` -- ???

### Queries

- `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

## Maintainer Documentation

## Bugs, Shortcomings, and other ideas

Doc is woefully incomplete.

Definitely don't like the name NewMatMinimize!

Fixed 2009-09-22: Naming convention not respected ("Matrix" should be "Mat")