toricGraver -- calculates the Graver basis of the toric ideal; invokes "graver" from 4ti2

Synopsis

• Usage:
toricGraver(A) or toricGraver(A,R)
• Inputs:
• A, , whose columns parametrize the toric variety. The toric ideal IA is the kernel of the map defined by A
• R, a ring, polynomial ring in which the toric ideal IA should live
• Outputs:
• B, , whose rows give binomials that form the Graver basis of the toric ideal of A, or
• I, an ideal, whose generators form the Graver basis for the toric ideal

Description

The Graver basis for any toric ideal IA contains (properly) the union of all reduced Groebner basis of IA. Any element in the Graver basis of the ideal is called a primitive binomial.

 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 : toricGraver(A) o2 = | 1 -2 1 0 | | 2 -3 0 1 | | 1 -1 -1 1 | | 0 1 -2 1 | | 1 0 -3 2 | 5 4 o2 : Matrix ZZ <--- ZZ

If we prefer to store the ideal instead, we may use:

 i3 : R = QQ[a..d] o3 = R o3 : PolynomialRing i4 : toricGraver(A,R) 2 3 2 2 3 2 o4 = ideal (- b + a*c, - b + a d, - b*c + a*d, - c + b*d, - c + a*d ) o4 : Ideal of R

Note that this last ideal equals the toric ideal IA since every Graver basis element is actually in IA.

Ways to use toricGraver :

• toricGraver(Matrix)
• toricGraver(Matrix,Ring)