next | previous | forward | backward | up | index | toc

# gfan -- all reduced Groebner bases of a polynomial ideal

## Synopsis

• Usage:
G = gfan(I)
G = gfan(L)
G = gfan(M)
• Inputs:
• I, an ideal, contained in a polynomial ring
• L, a list, of polynomials
• Optional inputs:
• disableSymmetryTest
• e
• g
• symmetry
• Outputs:
• G, a list, all marked reduced Groebner bases (missing documentation) of I, L, or M

## Description

This method produces all reduced Groebner bases of a polynomial ideal. The ideal can be given as an Ideal, List of polynomials, or a MarkedPolynomialList. The "g"=> true option can be used to inform gfan that the input is already a Groebner basis with respect to some monomial order. However, in this case, the input must be a MarkedPolynomialList.

 i1 : R = QQ[x,y,z]; i2 : gfan(ideal(x^2*y -y^2, y^2*x - x^2)) 5 2 2 4 2 4 3 3 2 2 2 o2 = {{(y ) - y , (x*y ) - y , (x ) - y }, {(x ) - y , (x y) - y , (x*y ) - ------------------------------------------------------------------------ 2 4 2 4 2 2 2 2 2 3 3 5 x , (y ) - x }, {(x ) - y , (x y) - y , (x*y ) - x , (y ) - x }, {(x ) - ------------------------------------------------------------------------ 2 2 4 2 4 x , (x y) - x , (y ) - x }} o2 : List i3 : gfan({x^2*y -y^2, y^2*x - x^2}, "symmetry" => {{0,1,2}, {1,0,2}}) 2 2 2 2 3 3 4 2 5 2 2 o3 = {{(x*y ) - x , (x y) - y , (x ) - y , (y ) - x }, {(y ) - y , (x*y ) - ------------------------------------------------------------------------ 4 2 4 y , (x ) - y }} o3 : List i4 : gfan(markedPolynomialList {{y^5, x*y^2, x^2},{y^5-y^2,x*y^2 - y^4, x^2 -y^4}}, "g" => true) 5 2 2 4 2 4 3 3 2 2 2 o4 = {{(y ) - y , (x*y ) - y , (x ) - y }, {(x ) - y , (x y) - y , (x*y ) - ------------------------------------------------------------------------ 2 4 2 4 2 2 2 2 2 3 3 5 x , (y ) - x }, {(x ) - y , (x y) - y , (x*y ) - x , (y ) - x }, {(x ) - ------------------------------------------------------------------------ 2 2 4 2 4 x , (x y) - x , (y ) - x }} o4 : List

gfan Documentation

This is a program for computing all reduced Groebner bases of a polynomial ideal. It takes the ring and a generating set for the ideal as input. By default the enumeration is done by an almost memoryless reverse search. If the ideal is symmetric the symmetry option is useful and enumeration will be done up to symmetry using a breadth first search. The program needs a starting Groebner basis to do its computations. If the -g option is not specified it will compute one using Buchberger's algorithm.
Options:
-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 it takes too much time to compute the starting (standard degree lexicographic) Groebner basis and the input is already a Groebner basis.

--symmetry:
Tells the program to read in generators for a group of symmetries (subgroup of $S_n$) after having read in the ideal. The program checks that the ideal stays fixed when permuting the variables with respect to elements in the group. The program uses breadth first search to compute the set of reduced Groebner bases up to symmetry with respect to the specified subgroup.

-e:
Echo. Output the generators for the symmetry group.

--disableSymmetryTest:
When using --symmetry this option will disable the check that the group read off from the input actually is a symmetry group with respect to the input ideal.

--parameters value:
With this option you can specify how many variables to treat as parameters instead of variables. This makes it possible to do computations where the coefficient field is the field of rational functions in the parameters.
--interrupt value:
Interrupt the enumeration after a specified number of facets have been computed (works for usual symmetric traversals, but may not work in general for non-symmetric traversals or for traversals restricted to fans).


## Ways to use gfan :

• gfan(Ideal)
• gfan(List)
• gfan(MarkedPolynomialList)

## For the programmer

The object gfan is .