Macaulay2 » Documentation
Packages » FourTiTwo :: toricGroebner
next | previous | forward | backward | up | index | toc

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

Synopsis

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 $I_A$. 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:

For the programmer

The object toricGroebner is a method function with options.