Macaulay2 » Documentation
Packages » gfanInterface :: gfanOverIntegers
next | previous | forward | backward | up | index | toc

gfanOverIntegers -- all reduced Groebner bases of a polynomial ideal with coefficients in ZZ

Synopsis

Description

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.

i1 : R=ZZ[x,y]

o1 = R

o1 : PolynomialRing
i2 : I=ideal(x^2-y^2,2*x)

             2    2
o2 = ideal (x  - y , 2x)

o2 : Ideal of R
i3 : F=gfanOverIntegers(I,"groebnerFan"=>true)

o3 = F

o3 : Fan
i4 : rays F

o4 = | 1  -1 |
     | -1 1  |

              2       2
o4 : Matrix ZZ  <-- ZZ
i5 : linealitySpace F

o5 = | 1 |
     | 1 |

              2       1
o5 : Matrix ZZ  <-- ZZ
i6 : maxCones F

o6 = {{1}, {0}}

o6 : List
i7 : G=gfanOverIntegers(I,{1,0},"groebnerBasis"=>true)

        2     2           2
o7 = {(x ) + y , (2x), (2y )}

o7 : MarkedPolynomialList
i8 : H=gfanOverIntegers(I,{1,0},"initialIdeal"=>true)

       2        2
o8 = {x , 2x, 2y }

o8 : List

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. Non-homogeneous 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 tie-broken 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.

Ways to use gfanOverIntegers :

For the programmer

The object gfanOverIntegers is a method function with options.