next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
FourTiTwo :: toricCircuits

toricCircuits -- calculates the circuits of the toric ideal; invokes "circuits" from 4ti2

Synopsis

Description

The circuits are contained in the Graver basis of IA. In fact, they are precisely the primitive binomials in the ideal with minimal support.

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 : C = toricCircuits A

o2 = | 0 1  -2 1 |
     | 1 -2 1  0 |
     | 1 0  -3 2 |
     | 2 -3 0  1 |

              4        4
o2 : Matrix ZZ  <--- ZZ

The ideal generated by the circuits of A in general differs from the toric ideal of A. For example:

i3 : R = QQ[a..d]

o3 = R

o3 : PolynomialRing
i4 : Icircuit = toBinomial(toricCircuits(A), R) -- this is the circuit ideal of A

               2           2           3      2     3    2
o4 = ideal (- c  + b*d, - b  + a*c, - c  + a*d , - b  + a d)

o4 : Ideal of R
i5 : I = toBinomial(toricMarkov(A), R)

               2           2
o5 = ideal (- c  + b*d, - b  + a*c, - b*c + a*d)

o5 : Ideal of R
i6 : I==Icircuit

o6 = false

The two ideals are not the same. There is a minimal generator of I which is not a circuit:

i7 : a*d-b*c % I -- this binomial is in I:

o7 = 0

o7 : R
i8 : a*d-b*c % Icircuit -- but not in Icircuit:

o8 = - b*c + a*d

o8 : R

Ways to use toricCircuits :