This is StatePolytope.info, produced by Macaulay2, version 1.22

StatePolytope -- computes state polytopes of ideals
***************************************************

Description
===========

StatePolytope computes state polytopes of ideals using the programs gfan, M2,

and polymake.  Specifically, it computes State (I) or State(I) as defined in
                                              m
Sturmfels's book Groebner bases and convex polytopes, page 14.  There is also a
function for testing GIT stability of an ideal in a polynomial ring with
respect to action of the maximal torus scaling the variables.

We assume that the user has gfan version 0.3 or higher on his or her system.
The default assumption is that the command to run gfan is gfan, but this can be
changed in the package configuration if necessary.  The user also needs
polymake version 2.3-1 or higher installed on his or her system, and it must be
run by this command.   Finally, the user is responsible for making sure the
ideal of study is supported by gfan.  In version 0.3 this means the ideal must
be in a polynomial ring over QQ or ZZ/p with p < 32749, and no variable's name
should be a substring of another's.

Author
======

  * Dave Swinarski <swinarsk@math.columbia.edu>

Version
=======

This documentation describes version 1.2 of StatePolytope.

Source code
===========

The source code from which this documentation is derived is in the file
StatePolytope.m2 (see common/share/Macaulay2/StatePolytope.m2 ). The auxiliary
files accompanying it are in the directory StatePolytope/ (see
common/share/Macaulay2/StatePolytope/ ).

Exports
=======

  * Functions and commands
      * initialIdeals -- calls gfan and returns the list
        of initial ideals
      * isStable -- determines whether the mth Hilbert point
        of I is GIT stable
      * polymakeStatePolytope -- computes state
        polytopes of ideals
  * Methods
      * "initialIdeals(Ideal)" -- see initialIdeals, --
        calls gfan and returns the list of initial ideals
      * "isStable(ZZ,Ideal)" -- see isStable, -- determines
        whether the mth Hilbert point of I is GIT stable
      * polymakeStatePolytope(Ideal),
        -- computes the state polytope of an ideal
      * polymakeStatePolytope(ZZ,Ideal)
        -- computes the mth state
        polytope of an ideal

For the programmer
==================

The object StatePolytope, is a package (Macaulay2Doc).

initialIdeals -- calls gfan and returns the list of initial ideals
******************************************************************

Synopsis
========

  * Usage:
        initialIdeals(I)
  * Inputs:
      * an ideal (Macaulay2Doc), the ideal
  * Outputs:
      * the list of initial ideals of I.  Note that each initial ideal is given
        as a list of monomial generators in ring(I), not as a monomial ideal.

Description
===========

Given an ideal I in M2, this function calls gfan and returns the list of
initial ideals of I.
+-----------------------------------+
|i1 : R = QQ[a,b];                  |
+-----------------------------------+
|i2 : I = ideal(a^2+b^2,a*b);       |
|                                   |
|o2 : Ideal of R                    |
+-----------------------------------+
|i3 : initialIdeals(I)              |
|                                   |
|             2   3     3        2  |
|o3 = {{a*b, a , b }, {a , a*b, b }}|
|                                   |
|o3 : List                          |
+-----------------------------------+

Ways to use initialIdeals :
===========================

  * "initialIdeals(Ideal)"

For the programmer
==================

The object initialIdeals, is a method function (Macaulay2Doc).

isStable -- determines whether the mth Hilbert point of I is GIT stable
***********************************************************************

Synopsis
========

  * Usage:
        isStable(3,I)
  * Inputs:
      * an integer (Macaulay2Doc), specifies which Hilbert point to
        test
      * an ideal (Macaulay2Doc), the ideal

Description
===========

Bayer and Morrison showed that GIT stability of the mth Hilbert point of I with

respect to the maximal torus acting on a polynomial ring by scaling the

variables can be tested by whether State (I) contains a certain point.
                                        m
+-------------------------------------------------------------------+
|i1 : R = QQ[a..d];                                                 |
+-------------------------------------------------------------------+
|i2 : I = ideal(a*c-b^2,a*d-b*c,b*d-c^2);                           |
|                                                                   |
|o2 : Ideal of R                                                    |
+-------------------------------------------------------------------+
|i3 : isStable(3,I)                                                 |
|polymake: used package cdd                                         |
|  cddlib                                                           |
|  Implementation of the double description method of Motzkin et al.|
|  Copyright by Komei Fukuda.                                       |
|  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/        |
|                                                                   |
|VERTICES                                                           |
|1 9 6 6 9                                                          |
|1 6 12 3 9                                                         |
|1 4 14 5 7                                                         |
|1 3 14 8 5                                                         |
|1 9 3 12 6                                                         |
|1 7 5 14 4                                                         |
|1 5 8 14 3                                                         |
|1 3 12 12 3                                                        |
|                                                                   |
|polymake: used package cdd                                         |
|  cddlib                                                           |
|  Implementation of the double description method of Motzkin et al.|
|  Copyright by Komei Fukuda.                                       |
|  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/        |
|                                                                   |
|VERTICES                                                           |
|1 9 6 6 9                                                          |
|1 6 12 3 9                                                         |
|1 4 14 5 7                                                         |
|1 3 14 8 5                                                         |
|1 9 3 12 6                                                         |
|1 7 5 14 4                                                         |
|1 5 8 14 3                                                         |
|1 3 12 12 3                                                        |
|                                                                   |
|                                                                   |
|o3 = true                                                          |
+-------------------------------------------------------------------+
|i4 : I = ideal(a^2,b^2,b*c);                                       |
|                                                                   |
|o4 : Ideal of R                                                    |
+-------------------------------------------------------------------+
|i5 : isStable(3,I)                                                 |
|polymake: used package cdd                                         |
|  cddlib                                                           |
|  Implementation of the double description method of Motzkin et al.|
|  Copyright by Komei Fukuda.                                       |
|  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/        |
|                                                                   |
|VERTICES                                                           |
|1 11 13 6 3                                                        |
|                                                                   |
|polymake: used package cdd                                         |
|  cddlib                                                           |
|  Implementation of the double description method of Motzkin et al.|
|  Copyright by Komei Fukuda.                                       |
|  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/        |
|                                                                   |
|VERTICES                                                           |
|1 33/4 33/4 33/4 33/4                                              |
|1 11 13 6 3                                                        |
|                                                                   |
|                                                                   |
|o5 = false                                                         |
+-------------------------------------------------------------------+

Ways to use isStable :
======================

  * "isStable(ZZ,Ideal)"

For the programmer
==================

The object isStable, is a method function (Macaulay2Doc).

polymakeStatePolytope -- computes state polytopes of ideals
***********************************************************

Description
===========

Computes State (I) or State(I), as defined in Sturmfels's book Groebner bases
              m
and convex polytopes, page 14.

Ways to use polymakeStatePolytope :
===================================

  * polymakeStatePolytope(Ideal), --
    computes the state polytope of an ideal
  * polymakeStatePolytope(ZZ,Ideal)
    -- computes the mth state polytope
    of an ideal

For the programmer
==================

The object polymakeStatePolytope, is a
method function (Macaulay2Doc).

polymakeStatePolytope(Ideal) -- computes the state polytope of an ideal
***********************************************************************

Synopsis
========

  * Function: polymakeStatePolytope,
  * Usage:
        statePolytope(I)
  * Inputs:
      * an ideal (Macaulay2Doc), the ideal
  * Outputs:
      * a list (Macaulay2Doc), the list of vertices of the state
        polytope

Description
===========

See Sturmfels's book Groebner bases and convex polytopes, page 14 for the

definition of State(I).  (The difference between this and State (I) is that for
                                                               m
all sufficiently large m, State (I) does not distinguish between initial ideals
                               m
which have the same saturation with regard to the irrelevant ideal, whereas in
State(I), these are separated.)
+-----------------------------------------------------------------------------+
|i1 : R = QQ[a..d];                                                           |
+-----------------------------------------------------------------------------+
|i2 : I = ideal(a*c-b^2,a*d-b*c,b*d-c^2);                                     |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : polymakeStatePolytope(I)                                                |
|polymake: used package cdd                                                   |
|  cddlib                                                                     |
|  Implementation of the double description method of Motzkin et al.          |
|  Copyright by Komei Fukuda.                                                 |
|  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/                  |
|                                                                             |
|VERTICES                                                                     |
|1 11 7 7 11                                                                  |
|1 7 15 3 11                                                                  |
|1 4 18 6 8                                                                   |
|1 3 18 9 6                                                                   |
|1 11 3 15 7                                                                  |
|1 8 6 18 4                                                                   |
|1 6 9 18 3                                                                   |
|1 3 15 15 3                                                                  |
|                                                                             |
|                                                                             |
|o3 = {{11, 7, 7, 11}, {7, 15, 3, 11}, {4, 18, 6, 8}, {3, 18, 9, 6}, {11, 3,  |
|     ------------------------------------------------------------------------|
|     15, 7}, {8, 6, 18, 4}, {6, 9, 18, 3}, {3, 15, 15, 3}}                   |
|                                                                             |
|o3 : List                                                                    |
+-----------------------------------------------------------------------------+

Ways to use this method:
========================

  * polymakeStatePolytope(Ideal), --
    computes the state polytope of an ideal

polymakeStatePolytope(ZZ,Ideal) -- computes the mth state polytope of an ideal
******************************************************************************

Synopsis
========

  * Function: polymakeStatePolytope,
  * Usage:
        statePolytope(m,I)
  * Inputs:
      * an integer (Macaulay2Doc), specifies to compute the mth state
        polytope
      * an ideal (Macaulay2Doc), the ideal
  * Outputs:
      * a list (Macaulay2Doc), the list of vertices of the state
        polytope

Description
===========

See Sturmfels's book Groebner bases and convex polytopes, page 14 for the

definition of State (I).  (The difference between this and State(I) is that for
                   m
all sufficiently large m, State (I) does not distinguish between initial ideals
                               m
which have the same saturation with regard to the irrelevant ideal, whereas in
State(I), these are separated.)
+-----------------------------------------------------------------------------+
|i1 : R = QQ[a..d];                                                           |
+-----------------------------------------------------------------------------+
|i2 : I = ideal(a*c-b^2,a*d-b*c,b*d-c^2);                                     |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : polymakeStatePolytope(3,I)                                              |
|polymake: used package cdd                                                   |
|  cddlib                                                                     |
|  Implementation of the double description method of Motzkin et al.          |
|  Copyright by Komei Fukuda.                                                 |
|  http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/                  |
|                                                                             |
|VERTICES                                                                     |
|1 9 6 6 9                                                                    |
|1 6 12 3 9                                                                   |
|1 4 14 5 7                                                                   |
|1 3 14 8 5                                                                   |
|1 9 3 12 6                                                                   |
|1 7 5 14 4                                                                   |
|1 5 8 14 3                                                                   |
|1 3 12 12 3                                                                  |
|                                                                             |
|                                                                             |
|o3 = {{9, 6, 6, 9}, {6, 12, 3, 9}, {4, 14, 5, 7}, {3, 14, 8, 5}, {9, 3, 12,  |
|     ------------------------------------------------------------------------|
|     6}, {7, 5, 14, 4}, {5, 8, 14, 3}, {3, 12, 12, 3}}                       |
|                                                                             |
|o3 : List                                                                    |
+-----------------------------------------------------------------------------+

Ways to use this method:
========================

  * polymakeStatePolytope(ZZ,Ideal)
    -- computes the mth state polytope
    of an ideal