# slackFromPlucker -- given a slack matrix or a list of vertices of d-polytope or a rank d+1 matroid, or (d+1)-cone generators, it fills the corresponding slack matrix with Plucker coordinates

## Synopsis

• Usage:
fillPl = slackFromPlucker(V, B)
fillPl = slackFromPlucker V
fillPl = slackFromPlucker P
fillPl = slackFromPlucker M
• Inputs:
• V, a list, list of coordinates for polytope vertices, cone generators, or matroid vectors
• B, a list, set of hyperplane spanning set indices
• P, , a polytope
• M, , a matroid
• Optional inputs:
• Outputs:
• fillPl, , slack matrix filled with Plucker coordinates

## Description

It fills the slack matrix of a given polytope, cone or matroid with Plucker coordinates

 `i1 : V = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 1}, {1, 1, 0}};` `i2 : B = {{1, 2, 4}, {0, 2, 3}, {0, 1, 4}, {3, 4, 5}, {0, 1, 2}};` ```i3 : fillPl = slackFromPlucker(V, B) o3 = | -1 0 0 -1 0 | | 0 1 0 -1 0 | | 0 0 -1 0 0 | | -1 0 0 0 1 | | 0 1 0 0 1 | | 1 1 -1 0 0 | 6 5 o3 : Matrix ZZ <--- ZZ```
 `i4 : V = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 1}, {1, 1, 0}};` ```i5 : fillPl = slackFromPlucker V Input has been reorderd to {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {1, 1, 0}, {0, 0, 1}, {1, 0, 1}} o5 = | 0 -1 0 0 1 | | 1 0 0 0 1 | | 0 -1 -1 0 0 | | 1 0 -1 0 0 | | 0 -1 0 1 0 | | 1 0 0 1 0 | 6 5 o5 : Matrix QQ <--- QQ```

## Caveat

Does not check if B actually spans for given V, does not check orientation of simplices in B, so that the resulting slack matrix may differ by signs of each column.