Suppose we would like to comput the toric ideal defining the variety parametrized by the following matrix:
i1 : A = matrix"1,1,1,1;0,1,2,3"
o1 = | 1 1 1 1 |
| 0 1 2 3 |
2 4
o1 : Matrix ZZ <--- ZZ
|
Since there are 4 columns, the ideal will live in the polynomial ring with 4 variables.
i2 : R = QQ[a..d]
o2 = R
o2 : PolynomialRing
|
i3 : M = toricMarkov(A)
-------------------------------------------------
4ti2 version 1.3.2, Copyright (C) 2006 4ti2 team.
4ti2 comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome
to redistribute it under certain conditions.
For details, see the file COPYING.
-------------------------------------------------
Using 64 bit integers.
4ti2 Total Time: 0.00 secs.
using temporary file name /tmp/M2-52331-1
o3 = | 0 1 -2 1 |
| 1 -2 1 0 |
| 1 -1 -1 1 |
3 4
o3 : Matrix ZZ <--- ZZ
|
Note that rows of M are the exponents of minimal generators of IA. To get the ideal, we can do the following:
i4 : I = toBinomial(M,R)
2 2
o4 = ideal (- c + b*d, - b + a*c, - b*c + a*d)
o4 : Ideal of R
|
Alternately, we might wish to give a lattice basis ideal instead of the matrix A. The lattice basis will be specified by a matrix, as follows:
i5 : B = syz A
o5 = | -1 2 |
| 2 -3 |
| -1 0 |
| 0 1 |
4 2
o5 : Matrix ZZ <--- ZZ
|
i6 : N = toricMarkov(transpose B, InputType => "lattice")
-------------------------------------------------
4ti2 version 1.3.2, Copyright (C) 2006 4ti2 team.
4ti2 comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome
to redistribute it under certain conditions.
For details, see the file COPYING.
-------------------------------------------------
Using 64 bit integers.
4ti2 Total Time: 0.00 secs.
using temporary file name /tmp/M2-52331-2
o6 = | 0 1 -2 1 |
| 1 -2 1 0 |
| 1 -1 -1 1 |
3 4
o6 : Matrix ZZ <--- ZZ
|
i7 : J = toBinomial(N,R) -- toricMarkov(transpose B, R, InputType => "lattice")
2 2
o7 = ideal (- c + b*d, - b + a*c, - b*c + a*d)
o7 : Ideal of R
|
We can see that the two ideals are equal:
Also, notice that instead of the sequence of commands above, we could have used the following:
i9 : toricMarkov(A,R)
-------------------------------------------------
4ti2 version 1.3.2, Copyright (C) 2006 4ti2 team.
4ti2 comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome
to redistribute it under certain conditions.
For details, see the file COPYING.
-------------------------------------------------
Using 64 bit integers.
4ti2 Total Time: 0.00 secs.
using temporary file name /tmp/M2-52331-3
2 2
o9 = ideal (- c + b*d, - b + a*c, - b*c + a*d)
o9 : Ideal of R
|