# slackIdeal -- computes the slack ideal

## Synopsis

• Usage:
I = slackIdeal(d, V)
I = slackIdeal M
I = slackIdeal P
I = slackIdeal C
I = slackIdeal V
I = slackIdeal(d, S)
I = slackIdeal S
• Inputs:
• d, an integer, the dimension of the polytope or 1 less than the rank of the matroid
• V, a list, a list of vertices of a polytope, the vectors of a linear matroid, or facet sets of an abstract polytope
• M, , a matroid
• P, , a polytope
• C, , a cone
• S, , a (symbolic) slack matrix
• Optional inputs:
• CoefficientRing => ..., default value QQ, specifies the coefficient ring of the underlying ring of the ideal
• Object => ..., default value polytope, specify combinatorial object
• Saturate => ..., default value all, specifies saturation strategy to be used
• Strategy => ..., default value Eliminate, specifies saturation strategy to be used
• Vars => ..., default value {}, specifies the variables to use to create the underlying ring of the ideal
• Outputs:
• I, an ideal, the slack ideal - the saturated ideal of (d+2)-minors of the symbolic slack matrix

## Description

The slack ideal of a d-polytope or rank d+1 matroid is the ideal of (d+2)-minors of its symbolic slack matrix, saturated by the product of the variables in the matrix.

 i1 : V = {{0, 0}, {1, 0}, {1, 1}, {0, 1}}; i2 : I = slackIdeal V Order of vertices is {{0, 0}, {1, 0}, {0, 1}, {1, 1}} o2 = ideal(x x x x - x x x x ) 0 3 5 6 1 2 4 7 o2 : Ideal of QQ[x ..x ] 0 7

If a list of points is given it can be treated as the vertices of a polytope, the ground set of a matroid or the facets of an abstract polytope by specifying the option Object. The default is as a polytope.

 i3 : V = {{0, 0}, {1, 0}, {1, 1}, {0, 1}}; i4 : IP = slackIdeal V Order of vertices is {{0, 0}, {1, 0}, {0, 1}, {1, 1}} o4 = ideal(x x x x - x x x x ) 0 3 5 6 1 2 4 7 o4 : Ideal of QQ[x ..x ] 0 7 i5 : IM = slackIdeal(V, Object => "matroid") o5 = ideal (x x x + x x x , x x x + x x x , x x x + x x x , x x x + 4 8 10 5 7 11 1 8 9 2 6 11 0 5 9 2 3 10 0 4 6 ------------------------------------------------------------------------ x x x , x x x x - x x x x , x x x x - x x x x , x x x x - 1 3 7 1 3 8 10 0 5 6 11 0 4 8 9 2 3 7 11 1 5 7 9 ------------------------------------------------------------------------ x x x x ) 2 4 6 10 o5 : Ideal of QQ[x ..x ] 0 11

## Ways to use slackIdeal :

• "slackIdeal(Cone)"
• "slackIdeal(List)"
• "slackIdeal(Matrix)"
• "slackIdeal(Matroid)"
• "slackIdeal(Polyhedron)"
• "slackIdeal(ZZ,List)"
• "slackIdeal(ZZ,Matrix)"

## For the programmer

The object slackIdeal is .