previous next |
HilbertBasis |
Syntax |
HilbertBasis(M:MAT): LIST where M is a matrix over Z. |
Summary |
Hilbert basis for a monoid |
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. |
Example |
M := Mat([[1,-2,3,4], [1, 0, 0, -1]]); HilbertBasis(M); [[0, 3, 2, 0], [1, 4, 1, 1], [2, 5, 0, 2]] ------------------------------- M * Transposed(Mat(It)); Mat([ [0, 0, 0], [0, 0, 0] ]) ------------------------------- |