next | previous | forward | backward | up | index | toc

hilbertBasis -- calculates the Hilbert basis of the cone; invokes "hilbert" from 4ti2

Synopsis

• Usage:
hilbertBasis(A) or hilbertBasis(A, InputType => "lattice")
• Inputs:
• A, , defining the cone $\{z : Az = 0, z \ge 0 \}$
• Optional inputs:
• Precision => ..., default value 32, an integer or , 32, 64, or "gmp", the precision of the integers used during the computation
• InputType => ..., default value null
• Outputs:
• B, , whose rows form the Hilbert basis of the cone $\{z : Az = 0, z \ge 0 \}$ or the cone $\{z A : z {\rm {} is an integral vector and } z A \ge 0 \}$ if InputType => "lattice" is used

Description

 i1 : A = matrix "1,1,1,1; 1,2,3,4" o1 = | 1 1 1 1 | | 1 2 3 4 | 2 4 o1 : Matrix ZZ <-- ZZ i2 : B = syz A o2 = | 1 2 | | -2 -3 | | 1 0 | | 0 1 | 4 2 o2 : Matrix ZZ <-- ZZ i3 : hilbertBasis(transpose B) o3 = | 3 2 1 0 | | 0 1 2 3 | | 1 1 1 1 | 3 4 o3 : Matrix ZZ <-- ZZ i4 : hilbertBasis(A, InputType => "lattice") o4 = | 3 2 1 0 | | 0 1 2 3 | | 1 1 1 1 | 3 4 o4 : Matrix ZZ <-- ZZ

Ways to use hilbertBasis :

• hilbertBasis(Matrix)

For the programmer

The object hilbertBasis is .