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 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])

-- Different result for...
/**/     HilbertBasisKer(M); 
-- the Hilbert basis of M is the Hilbert basis of the monoid of
-- elements in the kernel of M, namely...
[]
-- ...no elements! (except the zero-element) 

See Also