G = gfanOverIntegers(I)
This method produces all reduced Groebner basis of a polynomial ideal with coefficients in ZZ. The input is given as an Ideal. If just the ideal is given then the option "groebnerFan" => true" should also be added. For the second version, the list w is a weight vector for which the initial ideal or Groebner basis will be computed (depending on whether "initialIdeal=>true" or "groebnerBasis"=>true is set). Only one of these two can be set. Note that the Groebner fan over ZZ is more refined than the Groebner fan of the corresponding ideal with coefficients in QQ.








gfan Documentation
This program is an experimental implementation of Groebner bases for ideals in Z[x_1,...,x_n].
Several operations are supported by specifying the appropriate option:
(1) computation of the reduced Groebner basis with respect to a given vector (tiebroken lexicographically),
(2) computation of an initial ideal,
(3) computation of the Groebner fan,
(4) computation of a single Groebner cone.
Since Gfan only knows polynomial rings with coefficients being elements of a field, the ideal is specified by giving a set of polynomials in the polynomial ring Q[x_1,...,x_n]. That is, by using Q instead of Z when specifying the ring. The ideal MUST BE HOMOGENEOUS (in a positive grading) for computation of the Groebner fan. Nonhomogeneous ideals are allowed for the other computations if the specified weight vectors are positive.
NOTE: This program is experimental and expected to change behaviour in future releases, so don't write your SAGE and M2 interfaces just yet.
Options:
groebnerBasis:
Asks the program to compute a marked Groebner basis with respect to a weight vector tiebroken lexicographically.
The input order is: Ring ideal vector.
initialIdeal:
Asks the program to compute an initial ideal with respect to a vector. The input order is: Ring ideal vector.
groebnerFan:
Asks the program to compute the Groebner fan.
The input order is: Ring ideal.
groebnerCone:
Asks the program to compute a single Groebner cone containing the specified vector in its relative interior. The output is stored as a fan. The input order is: Ring ideal vector.
m:
For the operations taking a vector as input, read in a list of vectors instead, and perform the operation for each vector in the list.
g:
Tells the program that the input is already a Groebner basis (with the initial term of each polynomial being the first ones listed). Use this option if the usual groebnerFan is too slow.
The object gfanOverIntegers is a method function with options.