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)
using temporary file name /tmp/M2-10490-0/0
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)
using temporary file name /tmp/M2-10490-0/1
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.