# reducedSlackMatrix -- a reduced slack matrix of a polytope

## Synopsis

• Usage:
RedS = reducedSlackMatrix(d, S)
RedS = reducedSlackMatrix S
RedS = reducedSlackMatrix V
• Inputs:
• d, an integer, the dimension of the polytope or 1 less than the rank of the matroid
• S, , a (symbolic) slack matrix of a polytope or of a matroid
• V, a list, list of vertex coordinates, matroid vectors, facet labels, or cone generators
• Optional inputs:
• CoefficientRing => ..., default value QQ, specifies the coefficient ring of the underlying ring of the ideal
• FlagIndices => ..., default value {}, a list of facet labels that form a flag of facets of given polytope or matroid
• Object => ..., default value polytope, specify combinatorial object
• Vars => ..., default value {}, specifies the variables to use to create the underlying ring of the ideal
• Outputs:
• RedS, , a reduced slack matrix

## Description

Given a (symbolic) slack matrix of a polytope or of a matroid, or a list of vertex coordinates, matroid vectors, facet labels, or cone generators, it reduces it by removing the columns corresponding to simplicial facets outside of a flag.

 i1 : V = {{0,0,0},{0,0,1},{1,0,0},{1,0,1},{0,1,0},{0,1,1}}; i2 : S = slackMatrix V; Order of vertices is {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 1}, {0, 1, 1}} 6 5 o2 : Matrix QQ <--- QQ i3 : reducedSlackMatrix V Order of vertices is {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 1}, {0, 1, 1}} o3 = | 0 0 1 1 | | 1 0 0 1 | | 0 1 0 1 | | 0 0 1 0 | | 1 0 0 0 | | 0 1 0 0 | 6 4 o3 : Matrix QQ <--- QQ i4 : reducedSlackMatrix(3, S) o4 = | 0 0 1 1 | | 1 0 0 1 | | 0 1 0 1 | | 0 0 1 0 | | 1 0 0 0 | | 0 1 0 0 | 6 4 o4 : Matrix QQ <--- QQ i5 : R = QQ[x_1..x_30]; i6 : S = matrix {{0, 0, x_1, x_2, x_3, 0, x_4}, {x_5, x_6, 0, 0, x_7, x_8, 0}, {0, x_9, 0, x_10, x_11, 0, 0}, {x_12, 0, x_13, 0, x_14, 0, 0}, {0, 0, x_15, x_16, 0, x_17, x_18}, {x_19, x_20, 0, 0, 0, x_21, x_22}, {0, x_23, 0, x_24, 0, x_25, x_26}, {x_27, 0, x_28, 0, 0, x_29, x_30}}; 8 7 o6 : Matrix R <--- R i7 : redS = reducedSlackMatrix(3, S) o7 = | 0 0 x_1 x_2 x_3 | | x_5 x_6 0 0 x_7 | | 0 x_9 0 x_10 x_11 | | x_12 0 x_13 0 x_14 | | 0 0 x_15 x_16 0 | | x_19 x_20 0 0 0 | | 0 x_23 0 x_24 0 | | x_27 0 x_28 0 0 | 8 5 o7 : Matrix R <--- R

## See also

• findFlag -- computes a list of facet labels that make up a flag in a polytope
• reconstructSlackMatrix -- a list of facet labels that make up a flag in a polytope

## Ways to use reducedSlackMatrix :

• "reducedSlackMatrix(List)"
• "reducedSlackMatrix(Matrix)"
• "reducedSlackMatrix(ZZ,Matrix)"

## For the programmer

The object reducedSlackMatrix is .