It fills the slack matrix of a given polytope with Plucker coordinates of the Gale transform
i1 : G = {{0, 1}, {1, 0}, {-1, -1}, {0, -1}, {-1, 0}, {1, 1}}; |
i2 : B = {{1, 2, 4}, {0, 2, 3}, {0, 1, 4}, {3, 4, 5}, {0, 1, 2}}; |
i3 : slackFromGalePlucker(B, G) o3 = | 1 0 0 1 0 | | 0 -1 0 1 0 | | 0 0 1 1 0 | | 1 0 0 0 -1 | | 0 -1 0 0 -1 | | 0 0 1 0 -1 | 6 5 o3 : Matrix ZZ <--- ZZ |
i4 : MG = matrix(RR, {{0, 1, -1, 0, -1, 1}, {1, 0, -1, -1, 0, 1}}); 2 6 o4 : Matrix RR <--- RR 53 53 |
i5 : B = {{1, 2, 4}, {0, 2, 3}, {0, 1, 4}, {3, 4, 5}, {0, 1, 2}}; |
i6 : slackFromGalePlucker(B, MG) o6 = | 1 0 0 1 0 | | 0 -1 0 1 0 | | 0 0 1 1 0 | | 1 0 0 0 -1 | | 0 -1 0 0 -1 | | 0 0 1 0 -1 | 6 5 o6 : Matrix RR <--- RR 53 53 |
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.