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