toricGroebner -- calculates a Groebner basis of the toric ideal I_A, given A; invokes "groebner" from 4ti2

Synopsis

• Usage:
toricGroebner(A) or toricGroebner(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, ring with as least as many generators as the columns of A
• Outputs:
• B, , whose rows give binomials that form a Groebner basis of the toric ideal of A
• I, an ideal, whose generators form a Groebner basis for the toric ideal

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

Note that the output of the command is a matrix whose rows are the exponents of the binomials that for a Groebner basis of the toric ideal IA. As a shortcut, one can ask for the output to be an ideal instead:

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

4ti2 offers the use of weight vectors representing term orders, as follows:

 i5 : toricGroebner(A,Weights=>{1,2,3,4}) o5 = | -1 1 1 -1 | | -1 2 -1 0 | | 0 -1 2 -1 | 3 4 o5 : Matrix ZZ <--- ZZ

Caveat

It seems that some versions of 4ti2 do not pick up on the weight vector. It may be better to run gb computation in M2 directly with specified weights.

Ways to use toricGroebner :

• toricGroebner(Matrix)
• toricGroebner(Matrix,Ring)