# getFacetBases -- get a list of d-spanning elements for each facet

## Synopsis

• Usage:
(newV, B) = getFacetBases S
(newV, B) = getFacetBases P
(newV, B) = getFacetBases M
(newV, B) = getFacetBases V
• Inputs:
• S, , a slack matrix S of rank d+1
• P, , a polytope
• M, , a matroid
• V, a list, a list of vertices of d-polytope, vectors of a rank d+1 matroid, or (d+1)-cone generators
• Optional inputs:
• Object => ..., default value polytope, specify combinatorial object
• Outputs:
• newV, a list, a list of vertices (empty if a matrix is given as input) in the order corresponding to B
• B, a list, list of d spanning elements for each facet

## Description

This function produces a list B of d spanning elements for each facet in a given d-polytope, rank d+1 matroid, or (d+1)-cone generators. If a slack matrix or a list of vertices is given as input, it also creates a sorted list of vertices (empty if a matrix is given as input) from which B is computed in the order corresponding to B.

 i1 : V = {{0, 0}, {1, 0}, {2, 1}, {1, 2}, {0, 1}}; i2 : (newV, B) = getFacetBases V o2 = ({{0, 0}, {1, 0}, {0, 1}, {2, 1}, {1, 2}}, {{0, 2}, {0, 1}, {1, 3}, {2, ------------------------------------------------------------------------ 4}, {3, 4}}) o2 : Sequence
 i3 : V = {{0, 0}, {1, 0}, {1, 1}, {0, 1}}; i4 : S = slackMatrix V; Order of vertices is {{0, 0}, {1, 0}, {0, 1}, {1, 1}} 4 4 o4 : Matrix QQ <--- QQ i5 : (newV, B) = getFacetBases S o5 = ({}, {{0, 2}, {1, 3}, {0, 1}, {2, 3}}) o5 : Sequence