Macaulay2 » Documentation
Packages » Polyhedra :: hilbertBasis
next | previous | forward | backward | up | index | toc

hilbertBasis -- computes the Hilbert basis of a Cone

Synopsis

Description

The Hilbert basis of the cone C is computed by the Project-and-Lift-algorithm by Raymond Hemmecke (see below). It computes a Hilbert basis of the cone modulo the lineality space, so it returns the list of one column matrices that give the Hilbert basis of the Cone if one adds the basis of the lineality space and its negative. For the Project-and-Lift-algorithm see:

Raymond Hemmecke's On the computation of Hilbert bases of cones, in A. M. Cohen, X.-S. Gao, and N. Takayama, editors, Mathematical Software, ICMS 2002, pages 307317. World Scientific, 2002.
i1 : C = coneFromVData matrix {{1,2},{2,1}}

o1 = C

o1 : Cone
i2 : hilbertBasis C

o2 = {| 1 |, | 1 |, | 2 |}
      | 1 |  | 2 |  | 1 |

o2 : List

Beginning with Macaulay2 version 1.24.11, this method calls the internal function rawHilbertBasis which calls the C++ library libnormaliz.

See also

Ways to use hilbertBasis:

For the programmer

The object hilbertBasis is a method function with options.