up previous next
MakeTermOrdMat    --    Make a term order matrix from a given matrix


Syntax
MakeTermOrdMat(DegVec: MAT): MAT
MakeTermOrdMat(DegVec: MAT, GrDim: INT): MAT

Description
This function returns a (square) matrix of integers defining a term ordering; the output matrix is built from DegVec. The first GrDim rows are left unchanged; if GrDim is not given then it is taken to be 0.

The input matrix DegVec must have rational entries; the first GrDim rows must have non-negative integer entries, and they must be linearly independent.

If DegVec is not square then rows are appended or eliminated as necessary.

NOTE: this function was called CompleteToOrd up to version CoCoA-5.1.2.

Example
/**/  DegVec := matrix([[1,2,3,4]]);
/**/  MakeTermOrdMat(DegVec);
 [[1, 2, 3, 4],
  [0, 0, 0, -1],
  [0, 0, -1, 0],
  [0, -1, 0, 0]])

/**/  MakeTermOrdMat(RowMat([1,2,0,0]));
 [[1, 2, 0, 0],
  [0, 0, 1, 1],
  [0, 0, 0, -1],
  [0, -1, 0, 0]])

/**/  MakeTermOrdMat(matrix([[1,2,0,0],[0,0,3,4]]),2);
matrix(ZZ,
 [[1, 2, 0, 0],
  [0, 0, 3, 4],
  [0, 0, 0, -1],
  [0, -1, 0, 0]])

See Also