up previous next
HilbertBasisKer    --    Hilbert basis for a monoid


Syntax
HilbertBasisKer(M: MAT): LIST

Description
This function returns a list whose components are lists (of non-negative integers) representing the Hilbert basis for the monoid of elements with non-negative coordinates in the kernel of M, matrix over ZZ.

Example
/**/  M := mat([[1,-2,3,4], [1, 0, 0, -1]]);
/**/  HilbertBasisKer(M);
[[0, 3, 2, 0],  [1, 4, 1, 1],  [2, 5, 0, 2]]

/**/  M * transposed(mat(It));
matrix(QQ,
 [[0, 0, 0],
  [0, 0, 0]])

See Also