Computing GKZ systems
This page contains the code we used to compute the GKZ system associated to the polynomial \(f = -c_1 xy^2 + c_2 xy^3 + c_3 x^2y - c_4 x^2y^3 - c_5 x^3y + c_6 x^3y^2.\) The matrix \(A\in\mathbb{Z}^{3\times 6}\) associated to the polynomial \(f\) is
\[\begin{split}\begin{pmatrix}
1 & 1 & 2 & 2 & 3 & 3\\
2 & 3 & 1 & 3 & 1 & 2 \\
1 & 1 & 1 & 1 & 1 & 1
\end{pmatrix}.\end{split}\]
Using the \(\verb|Macaulay2|\) package Dmodules, one attains \(9\) binomials generating the toric ideal \(I_A\) and \(3\) operators generating the ideal \(J_{A,\kappa}\):
restart
needsPackage "Dmodules"
A = matrix{{1,1,1,1,1,1},
{1,1,2,2,3,3},
{2,3,1,3,1,2}};
# choose non resonant values for the vector b = (-\nu,s)^T
k = {1/2,1/3,1/5}
D = makeWA(QQ[x_1..x_6])
G = gkz(A,k)
holonomicRank G
Alternatively, one can compute exclusively the toric ideal \(I_A\) using the package Quasidegrees:
needsPackage "Quasidegrees"
D6 = QQ[d_1..d_6]
T = toricIdeal(A,D6)
degree T
This last computation can also be done in \(\verb|Singular|\) by running the following lines:
LIB "toric.lib";
ring s = 0,(d1,d2,d3,d4,d5,d6),dp; setring s;
intmat Amat[3][6] = 1,1,2,2,3,3,2,3,1,3,1,2,1,1,1,1,1,1;
ideal I = toric_ideal(Amat,"du"); I;