# graphicIdeal -- creates the toric ideal of the non-incidence graph of a polytope

## Synopsis

• Usage:
T = graphicIdeal V
T = graphicIdeal P
T = graphicIdeal S
T = graphicIdeal M
• Inputs:
• V, a list, a list of vertices or of facet sets
• P, , a polytope
• S, , a (symbolic) slack matrix of a polytope
• M, , a matroid
• 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:
• T, an ideal, the toric ideal of the non-incidence graph

## Description

The graphic ideal associated to a polytope is the toric ideal of the vector configuration consisting of the columns of the vertex-edge incidence matrix of the non-incidence (of vertices and facets) graph of the polytope.

 i1 : P = convexHull(matrix{{0, 0, 1, 1}, {0, 1, 0, 1}}); i2 : T = graphicIdeal P Order of vertices is {{0, 0}, {1, 0}, {0, 1}, {1, 1}} Graph computed from symbolic adjacency matrix: | 0 y_1 0 y_2 | | y_3 0 0 y_4 | | 0 y_5 y_6 0 | | y_7 0 y_8 0 | o2 = ideal(y y y y - y y y y ) 0 3 5 6 1 2 4 7 o2 : Ideal of QQ[y ..y ] 0 7

## Caveat

If S is not a symbolic slack matrix, the ideal will have variables indexed as in symbolicSlackMatrix (from left to right in order by rows of S).

• graphFromSlackMatrix -- creates the vertex-edge incidence matrix for the bipartite non-incidence graph with adjacency matrix the given slack matrix
• cycleIdeal -- constructs the cycle ideal of a realization
• symbolicSlackMatrix -- computes the symbolic slack matrix

## Ways to use graphicIdeal :

• "graphicIdeal(List)"
• "graphicIdeal(Matrix)"
• "graphicIdeal(Matroid)"
• "graphicIdeal(Polyhedron)"

## For the programmer

The object graphicIdeal is .