up previous next
NmzHilbertBasis    --    Hilbert Basis of a monoid


Syntax
NmzHilbertBasis(M: MAT): MAT

Description
Given a matrix M, this function returns a matrix whose rows represent the Hilbert-Gordan Basis for the monoid generated by the rows of M.

Example
/**/     M := matrix([[0,1],[3,1]]);
/**/     NmzHilbertBasis(M);
--the Hilbert basis of the monoid generated by the vectors [0,1] and [3,1] is...
matrix(QQ,
 [[3, 1],
  [0, 1]])
-- ... ([3,1], [0,1])

-- CAREFUL!! Different result from...
/**/     HilbertBasisKer(M);
-- which is the Hilbert basis of the monoid of the kernel of M:
[]
-- ...no elements! (except the zero-element)

See Also