| #### D.13.2.5 groebnerFanP Procedure from library `polymake.lib` (see polymake_lib). Usage: groebnerFanP(f); f poly Return: list, the ith entry of L[1] contains information about the ith cone in the Groebner fan dual to the ith vertex in the Newton polytope of the f L[1][i][1] = integer matrix representing the inequalities which describe the cone L[1][i][2] = a list which contains the inequalities represented by L[1][i][1] as a list of strings L[1][i][3] = an interger matrix whose rows are the extreme rays of the cone L[2] = is an integer matrix whose rows span the linearity space of the fan, i.e. the linear space which is contained in each cone L[3] = the Newton polytope of f in the format of the procedure newtonPolytopeP L[4] = integer matrix where each row represents the exponent vector of one monomial occuring in the input polynomial Note: - if you have already computed the Newton polytope of f then you might want to use the procedure normalFanL instead in order to avoid doing costly computation twice - the procedure calls for its computation polymake by Ewgenij Gawrilow, TU Berlin and Michael Joswig, so it only works if polymake is installed; see http://www.polymake.org/ Example:
    LIB "polymake.lib";
    ==> Welcome to polymake version
    ==> Copyright (c) 1997-2015
    ==> Ewgenij Gawrilow, Michael Joswig (TU Darmstadt)
    ==> http://www.polymake.org
    ring r=0,(x,y,z),dp;
    matrix M[4][1]=1,x,y,z;
    poly f=y3+x2+xy+2xz+yz+z2+1;
    // the Newton polytope of f is
    list gf=groebnerFanP(f);
    ==> polymake: used package ppl
    ==>   The Parma Polyhedra Library (PPL): A C++ library for convex polyhedra
    ==>   and other numerical abstractions.
    ==>   http://www.cs.unipr.it/ppl/
    ==>
    // the exponent vectors of f are ordered as follows
    gf[4];
    ==> 0,3,0,
    ==> 2,0,0,
    ==> 1,1,0,
    ==> 1,0,1,
    ==> 0,1,1,
    ==> 0,0,2,
    ==> 0,0,0
    // the first cone of the groebner fan has the inequalities
    gf[1][1][1];
    ==> -2, 0, 0,
    ==>  0,-3, 0,
    ==>  0, 0,-2
    // as a string they look like
    gf[1][1][2];
    ==> [1]:
    ==>    0 > 2x
    ==> [2]:
    ==>    0 > 3y
    ==> [3]:
    ==>    0 > 2z
    // and it has the extreme rays
    print(gf[1][1][3]);
    ==> -1, 0, 0,
    ==>  0,-1, 0,
    ==>  0, 0,-1
    // the linearity space is spanned by
    print(gf[2]);
    ==> 0,0,0
    // the vertices of the Newton polytope are:
    gf[3][1];
    ==> 0,0,0,
    ==> 2,0,0,
    ==> 0,3,0,
    ==> 0,0,2
    // its dimension is
    gf[3][2];
    ==> 3
    // np[3] contains information how the vertices are connected to each other,
    // e.g. the 1st vertex is connected to the 2nd, 3rd and 4th vertex
    gf[3][3][1];
    ==> 2,3,4

User manual for Singular version 4-1-0p2, 2017, generated by texi2html.